如何连接到我的 NAT-ed IPv6 服务器?

oli*_*ren 4 networking router ipv6

直到最近,我在家里有一台服务器作为 DMZ(所有外部流量都路由到它)在电缆路由器/调制解调器后面运行。这工作得很好。现在,在我的 ISP 使用 100% IPv6 后,我无法再连接到它。

我曾经了解 IPv4、网段等,但我无法以同样的方式“阅读”IPv6,所以当我现在无法进入时ssh,我不知道为什么。可能是因为我认为外部 IP 可能不是......

我通过转到 获得了外部 IP 地址whatismyip.org,结果2a01:79c:cebd:5bc:b0cc:d7d2:22d0:3369显示在屏幕上。这不是在服务器(它是无头的)上完成的,而是在同一网络上的另一台机器上完成的。当我听说 IPv6 可以直接连接到 NAT 后面的机器而无需转发时,这让我怀疑我看到的 IPv6 地址不是路由器的 IP(它通常在 IPv4 世界中) ,而是本地网络上计算机的 IPv6 地址。我可能离这里很远,但认为这可能值得一提。

无论如何,尝试连接到服务器上的Web服务器上运行已尝试这样的:curl http://[2a01:79c:cebd:5bc:b0cc:d7d2:22d0:3369]。我无法连接。

TOO*_*GAM 5

当我听说 IPv6 可以直接连接到 NAT 后面的机器而无需转发时

哦,这么多不必要的混乱。抱歉。

IPv6 本质上与 IPv4 的工作方式相同。显然存在一些差异,例如 IPv6 每个地址使用更多位。

有一段时间,DHCPv6 不像 DHCP/IPv4 那样发展。鼓励人们改用路由器请求/路由器广告协议。(我已经看到这被称为 RS 和 RA。) RS/RA 在 IPv4 上从未流行过,这可能主要是因为 DHCP/IPv4 已经非常流行了。对于 IPv6,称为 SLAAC 的进程使用 RS 和 RA。

如果您使用 SLAAC,某些实现要求您使用 /64 子网大小。这是 DHCP/IPv4 的显着变化,DHCP/IPv4 支持多种子网大小,并且相当普遍地使用不同的子网大小。

对于 IPv6,早期标准规定 ISP 应至少提供 /48 个块。(每个 /48 块有 2^16 /64 个子网,也就是 16,384 个 /64 个子网。)这让人们可以进行子网划分。这基本上消除了使用 NAT 来帮助减少地址使用的需要,因为人们获得了太多地址。这导致许多人宣称不需要 NAT。

“绕过使用 NAT 的要求”的方法是设置 IPv6 子网。但是,“绕过 NAT 要求”与“绕过 NAT”有很大不同。可以将 NAT 与 IPv6 一起使用,并使其在技术上的工作方式与 NAT 与 IPv4 的工作方式完全相同,但存在明显差异,例如通常具有更大的子网大小。但是,这些原则将起作用。

这让我怀疑我看到的 IPv6 地址不是路由器的 IP(通常在 IPv4 世界中),而是本地网络上计算机的 IPv6 地址。

是的,这是可能的。使用 IPv4,您可以为内部机器分配公共 IP 地址。由于缺乏可用的公共 IPv4 地址,通常不会这样做,但可以设置。对于 IPv6,常见的情况是不会缺少可用的公共地址,因此这种类型的设置在 IPv6 中更为常见。

不过,您的内部机器将有一个默认网关,这很可能是路由器。登录该路由器,您可以看到路由表。

您正在使用公共 IPv6 地址。专用 IPv6 地址以“fd”开头(就像专用 IPv4 地址以“192.168.”或“172.16.”到“172.31.”或“10.”开头一样)以“fe80:”开头的地址是“link -local”地址,类似于 IPv4 的“169.254”。地址,但有一些差异。(在 IPv6 中,看到 "fe80:" 是一个要求;没有看到它是一个问题。相比之下,看到 IPv4 "169.254." 通常是一个问题。)

您或许可以通过 NDP 找到您的服务器地址。例如,在 Microsoft Windows 中:

netsh interface ipv6 show neighbor

其他操作系统可能会使用类似ndpip -6用于显示 IPv6 邻居的命令。