一台主机上有两个 IPv6 隧道

一台主机上有两个 IPv6 隧道

我有一台主机,它有额外的 IP 地址。我们将它们称为 51.52.53.54 和 71.72.73.74,以及两个带有 /48 子网的 ipv6 隧道。

隧道提供商给出了示例配置,我将我的第一个隧道配置如下:

auto he-ipv6
iface he-ipv6 inet6 v4tunnel
        address 2001:470:a1b1:xxxx::2
        netmask 64
        endpoint 216.66.80.30
        local 51.52.53.54
        ttl 255
        gateway 2001:470:a1b1:xxxx::1

启动后,隧道开始运作。

我可以补充一下ipv6 协议设备上尽可能多的 ipv6 地址,它们都可以正常工作。

因此我使用以下信息配置了第二条隧道:

auto he-ipv6-2
iface he-ipv6-2 inet6 v4tunnel
        address 2001:470:c2d2:xxxx::2
        netmask 64
        endpoint 216.66.84.46
        local 71.72.73.74
        ttl 255
        gateway 2001:470:c2d2:xxxx::1

当我尝试 ping、traceroute 或 tcpdump 该子网中的任何 IP 时,什么都看不到。

但是,如果我关闭本地 IP 51.52.53.54 上的第一个隧道,那么本地 IP 71.72.73.74 上的第二个隧道就可以起作用!

我重新检查了大量有关路由的信息并尝试了各种方法,但仍然不幸。

有什么帮助吗?

答案1

HE 可能会过滤到达隧道的流量,以确保源地址与网络分配相匹配。

现在,从您的角度来看,默认路由似乎指向第一个隧道。当您尝试从第二个隧道分配网络的 PC ping 任何内容时,它无论如何都会通过第一个隧道(这是常规路由的工作方式),并且会通过对传入隧道进行过滤而死在地板上。当您关闭隧道时,路由表将发生变化,因为先前的默认路由被删除,现在使用第二个隧道的默认路由并且流量通过。

您可以使用基于策略的路由并查看手册页来解决此ip-rule问题ip-routeip rule将允许您根据源 IP/IPv6 地址选择路由表,并ip route允许您构建备用路由表。

相关内容