在 Debian 12 VM 上,我设置了 2 个网络接口,即eth0eth1。两个接口都可以访问 Internet 并设置了 SLAAC 自动配置。

由于两个网络都有路由器,因此我在此虚拟机上的路由表最终如下所示:

2a01:xxxx:xxxx:xxxx::/64 dev eth1 proto kernel metric 256 expires 86388sec pref medium
fd45:xxxx:xxxx:xxxx::/64 dev eth0 proto kernel metric 256 expires 2591988sec pref medium
fe80::/64 dev eth0 proto kernel metric 256 pref medium
fe80::/64 dev eth1 proto kernel metric 256 pref medium
default via fe80::xxxx:xxxx:xxxx:xxxx dev eth1 proto ra metric 1024 expires 1788sec hoplimit 64 pref medium
default via fe80::be24:xxxx:xxxx:xxxx dev eth0 proto ra metric 1024 expires 1788sec pref medium

最初几天一切都很好,我可以通过 访问内部内容fd45::eth0但现在它突然坏了,所有出站流量都通过 路由eth1,正如 所述traceroute

我想强制出站连接使用。我可以通过 使用eth0暂时删除默认路由,但几分钟后它就会恢复。有什么方法可以实现这一点吗?eth1ip -6 route del default dev eth1

我的/etc/network/interfaces样子是这样的:

auto lo
iface lo inet loopback

auto eth0
auto eth1
iface eth1 inet6 auto

iface eth0 inet dhcp

iface eth0 inet6 auto

2

  • 从 eth1 发出的流量以何种方式中断?无法到达哪些目的地?哪些安全策略未得到执行?


    – 

  • @JohnMahowaldeth1是我只想用来接收传入连接的接口。我无法fd45::通过 eth1 访问(因为没有到该范围的路由,这是预料之中的),而2a01::在 eth0 上也可以访问。


    – 



最佳答案
1

使用内核内置的 SLAAC 客户端,设置 sysctl:

net.ipv6.conf.eth1.accept_ra_defrtr = 0

使用 systemd-networkd 的 SLAAC 客户端,在 .network 文件中配置:

[IPv6AcceptRA]
UseGateway=false