ISP 的 IPv4 地址快用完了,所以他给了我们一个 IPv6;现在我有一个静态 IPv6 地址,这很好。根据 IPv6 描述,我现在应该能够直接从 WAN 寻址 LAN 中的任何设备,而无需通过端口转发到 LAN IPv4 地址(只需设置 IPv6 地址和防火墙允许)。
现在,当我在 LAN 中的任何一台 PC 上询问我的 IP 地址时,我都会得到以下结果 0000:aaa:bbbb:cccc:dddd:eeee:ffff:gggg 前 4 组在任何 PC 上始终相同,所以这是我的外部公共 IP,后 4 组不仅因设备而变化,而且如果从同一台 PC 调用,还会因时间而变化(因此这是由程序创建的接口标识)。现在,LAN 中单个设备的 IPv6 地址部分在哪里?如何获取 LAN 中设备的 IPv6 地址,然后使用该 IPv6 地址直接从 WAN 寻址该设备。我仍然可以通过端口转发来使用我的 LAN 服务器,就像以前一样,但如何更改为这种高级直接 IPv6 寻址?我在这里理解有什么完全错误吗???
答案1
前 4 组在任何一台电脑上都是相同的,所以这是我的外部公共 IP
不是——前四组是你的 LAN网络前缀. 实际的IP地址是全部8组,即网络前缀+接口标识符的组合。
因此,重要的区别是,您的 ISP 不仅仅为您分配 IPv6 中的单个地址 - 还会为您分配整个网络(即地址范围)。
(为了进行比较,在 IPv4 中,如果您有典型的 /24 大小的 LAN 网络,则“192.168.1”将是网络前缀,但“192.168.1.25”将是整个 IP 地址。)
LAN 中单个设备的 IPv6 地址部分在哪里?
您正在看它。0000:aaa:bbbb:cccc:dddd:eeee:ffff:gggg
是设备的 IP 地址。
如果从同一台电脑调用,最后 4 组不仅会根据设备而变化,还会根据时间而变化
接口标识符是否随时间变化完全取决于计算机本身。(大多数操作系统使用“隐私扩展”功能,这意味着它们会自行分配多个地址 - 第一个是静态的,其他地址随时间变化。)
因此,如果您想要一个稳定的连接地址到计算机,查看自己的 IP 地址列表,而不是询问网站——例如ip addr
在 Linux 或ipconfig /all
Windows 上运行,然后选择一个没有旁边写着“临时”。
答案2
IPv6 禁止 NAT,因此无需进行地址转换。现在它已被防火墙过滤器和规则所取代。
由于设备可能直接从互联网访问/攻击,在防火墙允许的情况下,将一个随机地址附加到全局前缀,以混淆地址,如DHCPv6标准。由于可能的值数量巨大,攻击者不太可能攻击分配给实际设备的 IPv6 地址。
您可以为本地网络上的任何设备分配一个静态/非随机 IPv6 地址,然后在路由器的防火墙中定义允许访问该地址的规则。这在很大程度上取决于路由器固件对 IPv6 的支持质量。
这种做法极其危险,因为通过该设备访问互联网,您可能会向攻击者泄露其 IPv6 地址。
最好不要使用静态 IPv6 地址,而是使用支持 IPv6 和动态检测或其他机制的动态 DNS 服务。例如,请参阅 No-IP IP 检测服务 (不作任何推荐)。此选项同样取决于路由器固件中防火墙的功能。