我现在陷入困境。我找到了一个很棒的工具,叫做 Google,但我却苦于找不到可以让我更好地实现基本愿望的资源。
我为当地一个特殊兴趣小组运行互联网 - 我们有三个商务级 WAN 连接,这些连接通过 FreeBSD 上的 PacketFilter 传递(阻止所有传入连接,除了以前建立的连接和用于远程管理的少数几个服务 - 我已经设置了优先级队列以确保快速的 HTTP/IMAP)并将负载平衡到 27 个带宽需求大的用户。
我想简化并保留端到端特性,但我对如何设置以便我的用户可以做完全相同的事情感到犹豫不决,只是希望减少 NAT 带来的麻烦。是否有资源可以让我快速了解我想要做的事情?
答案1
听起来您目前正在使用 IPv4 NAT 在三个 WAN 连接之间进行多宿主。这是目前 IPv6 中支持程度较低的用例之一,尽管正在制定的一些草案标准将在一定程度上改善这种情况。不过,这其中会有一些权衡。
我假设所有三个连接都是通过不同的提供商,每个提供商都从自己的地址空间中为您分配了一个 /48。利用当今可用的技术,实现此目的的最佳方法可能是将所有三个前缀通告到 LAN,这样每个主机都会拥有来自每个 ISP 的地址。对于自动故障转移,您可以监视每个链接,并在相应链接断开时将相应前缀的首选生存期设置为零。您必须在路由器上使用源路由,以便适当的源地址从正确的链接发出。
您仍然可以在每个 ISP 链路上应用优先级队列,但它会将 ISP 选择(相当于此处的源地址选择)从路由器移至终端主机。您可以使用 RFC3484 表来影响这一点,该表保存在 Linux 系统的 /etc/gai.conf 中;不确定其他操作系统的等效项是什么,但它应该是可配置的。有一个 IETF 草案(draft-fujisaki-6man-addr-select-opt-00)用于通过 DHCPv6 分发此信息。
如果您还运行内部服务器,您可能还想在内部使用唯一本地寻址 (ULA) 前缀,并在内部 DNS 中使用 ULA 地址。这样,ISP 故障就不会影响内部通信。
如果控制路由器上的 ISP 选择对您来说很重要,请查看 NAT66 草案。我不确定它们是否已经有运行代码,但它提供了与 NAT44 相同的 ISP 独立性。它破坏了端到端寻址,但由于它只交换前缀,因此它是无状态的并且可以支持端到端连接,因此它的危害比 v4 NAT 要小一些。