我对 IPv6 堆栈还不熟悉,还有很多东西需要学习。当我意识到我可以无 NAT 运行我的设备,甚至使用家用路由器托管一个小型服务器时,我对它产生了兴趣。
当我ipconfig
在 Windows 11 上运行时,我得到4我的无线适配器上的 IPv6
- 2 IPv6(一个似乎是私有的,但会随时间变化,另一个似乎是公开的,甚至会随时间变化),我的 ISP 提供了 ::/64 前缀
- 1 临时 IPv6,也带有我的 ISP 前缀
- 1 链接以 fe80:: 开头的本地 IPv6(似乎是本地网络中使用的路由器提供的)
但当我跑步ifconfig
或者ip -6 addr
只有两个地址,一个带有 isp 前缀,另一个以 fe80 开头
在 Windows 中,其中一个 ipv6 可以在我的网络外部访问,但在 Linux 中却无法做到这一点。
我该如何配置它?
我尝试了这些教程,但没有成功
https://masterdaweb.com/en/blog/configuring-static-ipv6-on-linux/
https://www.cyberciti.biz/faq/ubuntu-ipv6-networking-configuration/
我的适配器停止工作,甚至无法在本地访问 ssh 终端,我的设备已经脱离了 DHCP ipv4 设备列表
答案1
所有来自 ISP 提供的前缀的地址都是公共地址。无论它们是固定的、动态的还是随时间变化的,前缀都是使让他们公开。
因此,如果ip addr
显示带有您的 ISP 前缀的地址,则这就是您所需要的。它直接带有您的 ISP 前缀这一事实意味着该地址是“公共”的,即可以全局路由。
是否能从外部访问很可能是另一回事;很可能是路由器上的防火墙。即使不再有地址转换(或者实际上因为其中,仍然有一个防火墙控制哪些设备可以访问。
(不断变化的地址是“私人赛“地址。从路由能力来看,它们仍然相同;唯一的区别是它们不断变化。如果需要,您可以通过 sysctl 在 Linux 上启用此功能。
实际的IPv6 私有地址是以 开头的地址fdXX:
,即 ULA 地址。对于您当前的目标,这些根本不重要 - 因为没有 NAT,ISP 提供的地址和私有地址之间也没有交互,因此添加一个地址不会有帮助。)