Protectli/Ubuntu 防火墙设备 LAN 上的 ipv6 未路由到 xfinity 网关

Protectli/Ubuntu 防火墙设备 LAN 上的 ipv6 未路由到 xfinity 网关

我正在运行 Ubuntu 18.04 的带有 4 Gbit 接口的 Protectli 设备上设置新的防火墙/路由器。Comcast (xfinity) 将 /64 ipv6 委托给我,并且在 Linksys 路由器上设置子网并将 ipv6 设置为“直通”,效果很好。所以我知道 ipv6 可以成功地从 xfinity 盒路由(或至少“直通”)到子网。

我的设置详细信息:

在 Proctectli 上,我通过硬线将 enp1 作为 WAN 直接连接到 xfinity 调制解调器,静态 IP 为 10.0.0.20。Xfinity LAN 为 10.0.0.0/24,网关为 10.0.0.1。

Protectli 上的 enp2 创建了一个运行 isc-dhcp-server 的 LAN,其静态地址为 192.168.19.1,网关 enp1 为 10.0.0.20。(我通过 GUI 设置了所有这些,而不是在/etc/network/interfaces. 中)/etc/dhcp/dhcpd.conf将 LAN 上的 DHCP 范围设置为 192.168.19.100 - 192.168.19.120。是的,我已将其设置为权威 dhcp 服务器。

/etc/sysctl.conf已启用 ipv4 和 ipv6 转发:

net.ipv4.ip_forward=1

net.ipv6.conf.all.forwarding=1

iptables 和 ip6tables 规则都使用默认的 ACCEPT 策略,我添加的唯一规则是:

iptables -t nat -A POSTROUTING -o enp1 -j MASQUERADE

.... 允许从 * 转发到 WAN (enp1) 以进行 ipv4 转发。似乎不需要任何 FORWARD 规则即可让 ipv4 在任何地方正常工作。

将 ipv6 设置为(再次使用 GUI 网络管理器)“自动”或“手动”(使用静态 ipv6 地址),ipv6 在 Protectli 上直接工作时效果很好。我能够ping6 ipv6.google.com,并且只有 ipv6 的网站工作正常。我还可以ping6通过 enp1 从 Protectli 访问 xfinity 盒子的本地链接网关(显然)。

连接到 LAN (enp2) 的工作站设置为 DHCP 以使用 ipv4,成功获得地址,并且 ipv4 运行良好,因此我知道防火墙至少对 ipv4 做了正确的事情。在 192.168.19.100 - 192.168.19.120 范围之外的 LAN 工作站上设置的静态 ipv4 地址也可以正常工作。

问题:

连接到 Protectli LAN 的工作站上的 ipv6 似乎根本不起作用,使用自动或静态寻址。连接到 LAN 并使用静态或自动 ipv6 寻址的工作站确实会获得 /64 链路本地和全局(临时和动态)地址。我已/etc/radvd.conf按如下方式配置:

interface enp2 {
        AdvSendAdvert on;
        MinRtrAdvInterval 3;
        MaxRtrAdvInterval 10;
        prefix 2601:xxxx:yyyy:zzzz::/64 {
                AdvOnLink on;
                AdvAutonomous on;
                AdvRouterAddr on;
         };

        RDNSS 2606:4700:4700::1111 2606:4700:4700::1001 {
        AdvRDNSSLifetime 10;
        };
};

我可以ping6从连接的工作站顺利访问本地链路 LAN 接口(enp2 at fe80::ea71:672a:4c0e:abe0)。但我无法访问ping6WAN(enp1)本地链路地址、xfinity 本地链路网关(fe80::250:f1ff:fe80:0)或外部世界的任何内容。我也无法从 LAN 上的任何工作站 ping 任何全局 ipv6 地址。ping6 成功将 ipv6.google.com 解析为 LAN 连接的工作站上的 2607:f8b0:400f:800::200e,但 ping 无法到达 enp1 或 xfi​​nity 网关。

所以……显然,我似乎在 LAN 和 WAN 接口之间遇到了防火墙(转发?)问题,或者……遇到了路由问题。

无论如何,我并不是路由方面的高手。开启“自动路由”后... Protectli 设备上的路由表如下所示:

$  netstat -rnA inet6
Kernel IPv6 routing table
Destination                    Next Hop                   Flag Met Ref Use If
::1/128                        ::                         U    256 1     0 lo
2601:xxxx:yyyy:zzzz::/64       ::                         U    101 1     0 enp2
2601:xxxx:yyyy:zzzz::/64       ::                         U    102 1     0 enp1
fe80::/64                      ::                         U    101 2     3 enp2
fe80::/64                      ::                         U    102 2     5 enp1
fe80::/64                      ::                         U    256 1     0 enp2
fe80::/64                      ::                         U    256 1     0 enp1
::/0                           fe80::250:f1ff:fe80:0      UG   102 5     8 enp1
::1/128                        ::                         Un   0   6    25 lo
2601:xxxx:yyyy:zzzz:1ee8:9921:3378:3ceb/128 ::            Un   0   2     0 enp1
2601:xxxx:yyyy:zzzz:94ab:aa93:d2b5:2476/128 ::            Un   0   2     0 enp2
2601:xxxx:yyyy:zzzz:ecd0:c2f2:6cab:a803/128 ::            Un   0   2     0 enp2
2601:xxxx:yyyy:zzzz:edf6:56d5:38ca:47f7/128 ::            Un   0   3    18 enp1
fe80::39a3:6838:eda7:2fa0/128  ::                         Un   0   3    17 enp1
fe80::ea71:672a:4c0e:abe0/128  ::                         Un   0   5    12 enp2
ff00::/8                       ::                         U    256 5   615 enp2
ff00::/8                       ::                         U    256 5   612 enp1
::/0                           ::                         !n   -1  1     1 lo
$  

我曾尝试为 enp1 向 xfinity 网关添加全局 gw 路由,但没有效果:

$   route -A inet6 add default gw 2601:xxxx:yyyy:zzzz:250:f1ff:fe80:0 enp1

... 我也尝试向 enp1 添加链接本地 gw,但没有效果:

$  sudo ip -6 route add 2601:xxxx:yyyy:zzzz::/64 via fe80::39a3:6838:eda7:2fa0 dev enp2

... 或来自 ANY /64,没有效果:

$  sudo ip -6 route add ::/64 via fe80::39a3:6838:eda7:2fa0 dev enp2

所以...抱歉发了这么长的帖子。如果有人能给我一些有关防火墙规则或更好的路由策略的提示,我将不胜感激!

20190125 编辑 - @ Michael Hampton - xfinity 调制解调器是 Cisco DPC3941T。

相关内容