我一直在阅读一些有关 IPv6 的文章,目前正在使用 VPS 上的一些地址。
最近我在思考一个典型的家庭/办公室 IPv4 网络。我们习惯于运行本地 DHCP 服务器,RFC1918
为我们的机器提供私有 IP,然后使用 NAT 在公共 ISP 提供的 IP 和我们的内部网络之间转换流量。
我确实明白 NAT 转换只是处理 IPv4 终结的一种措施,而且由于我们有大量可用的 IPv6 地址空间,我们可以为世界上的每台计算机分配一个唯一的 IPv6,而不必担心它 — — 网络安全仍然将通过防火墙以非阻止所有 NAT 的方式解决。
但是……如果每个主机都有一个公共 IPv6,那么如果 ISP 停止/更改/外部网络由于某种原因关闭,我的网络会发生什么?如何确保本地通信?如果 ISP 发生更改(因为 IPv6 前缀会更改),如何避免重新配置大量软件?
解决这些问题的正确方法是什么?我可以通过交叉连接让一台机器始终拥有相同的 IP 吗?即使该 IP 是公共的?我听说过 IPv6 中的私有 IP 空间,它的工作方式与 IPv4 相同吗?还是它会“附加”到我的 IPS 前缀?机器究竟是如何获取其 IP 的?它们应该将它们配置为静态吗?
谢谢。
答案1
您这里有很多选择。
IPv6 中存在的一个假设是,所有东西都可能有多个 IP 地址。一开始,您有链路本地地址(地址fe80::
),以及分配给您的任何地址。这是两个。文档明确说明了接口将具有链路本地地址、唯一本地地址(在 中的某个位置fc00::/7
)和一个或多个全局地址的情况。
在这种情况下,您有一个已配置好自己的资产使用的 ULA,并且当 ISP 发生变化时,它永远不会改变。内部访问不会受到影响,因为您管理该地址空间。如果您必须更改 ISP,并且没有子网分配来调用您自己的子网,那么主要问题将是管理可公开访问的地址……这是我们目前在 IPv4 中遇到的问题。
但让我们再回到“多个地址”的问题上。IPv6 假设您将拥有多个地址。如果您要更改 ISP,请暂时同时使用这两个地址并分配这两个地址范围。您的公共资产将在一段时间内同时拥有这两个地址,这应该可以让 DNS 缓存全互联网的时间清除条目并使用新的地址。
无论如何,这只是理论。各个网络堆栈如何在没有 VLAN 的情况下处理同一接口上不同网段上的多个地址……这取决于操作系统。
总之:
- 如果您在内部使用唯一本地地址范围,则 ISP 更改(或可用性)不会影响您的内部资源。
- 请记住,您只被赋予一个子网范围,并将其配置到您的网络基础设施中。即使与上游的连接中断,您的基础设施仍将继续分发地址。
- IPv6 显然多个地址就足够了。如果您要更换 ISP,请在 DNS 切换发生时在您的网络上运行这两个地址,这样就没问题了。