重启后IPv6默认网关路由消失

Fox*_*Fox 6 route ipv6 gateway

我在同时使用 IPv4 和 IPv6 的专用服务器上使用 Debian Wheezy。

如果配置 eth0

eth0      Link encap:Ethernet  HWaddr 11:11:11:11:11:11  
          inet adr:90.0.0.1  Bcast:90.0.0.255  Masque:255.255.255.0
          adr inet6: fe80::21c:c0ff:feb9:829c/64 Scope:Lien
          adr inet6: 2001:a100:1:bbbb::1/64 Scope:Global
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1544 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2199 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 lg file transmission:1000 
          RX bytes:304146 (297.0 KiB)  TX bytes:1376282 (1.3 MiB)
Run Code Online (Sandbox Code Playgroud)

(几分钟后,RX 下降计数器增加。)

cat /etc/network/interfaces

我首先使用了“网关”关键字,但它不起作用,所以我尝试在文件中添加路由,但它也不起作用。

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
    address 90.0.0.1
    netmask 255.255.255.0
    network 90.0.0.0
    broadcast 90.0.0.255
    gateway 90.0.0.254

iface eth0 inet6 static
    address 2001:a100:1:bbbb::1
    netmask 64
#   gateway 2001:a100:1:bbff:ff:ff:ff:ff
    up ip -6 route add ::/0 via 2001:a100:1:bbff:ff:ff:ff:ff dev eth0
    down ip -6 route del ::/0 via 2001:a100:1:bbff:ff:ff:ff:ff dev eth0
Run Code Online (Sandbox Code Playgroud)

ip -6 路由显示

这些是重启服务器几分钟后显示的路由。

2001:a100:1:bbbb::/64 dev eth0  proto kernel  metric 256 
2001:a100:1:bb00::/56 dev eth0  proto kernel  metric 256  expires 2591959sec
fe80::/64 dev eth0  proto kernel  metric 256 
default via fe80::224:c3ff:fe84:400 dev eth0  proto ra  metric 1024  expires 1759sec
default via fe80::224:c3ff:fe84:800 dev eth0  proto ra  metric 1024  expires 1759sec
Run Code Online (Sandbox Code Playgroud)

问题

  1. 为什么不考虑我的默认路由(无论是使用关键字gateway还是ip -6 route add/etc/network/interfaces,启动时?请注意,如果我手动添加路由,它可以完美运行,我可以使用 IPv6 TX 和 RX 往返互联网。(问题是让它自动。)

  2. 那些会过期的奇怪内核路由是什么?我需要他们吗?我的服务器与 rooter (2001:a100:1:bbff:ff:ff:ff:ff) 直接连接到同一网络,它本身直接连接到互联网。

编辑

ifdown --force eth0; ifup --verbose eth0;

Configuring interface eth0=eth0 (inet)
run-parts --verbose /etc/network/if-pre-up.d
ip addr add 90.0.0.1/255.255.255.0 broadcast 90.0.0.255       dev eth0 label eth0
ip link set dev eth0   up
 ip route add default via 90.0.0.254  dev eth0 
run-parts --verbose /etc/network/if-up.d
run-parts: executing /etc/network/if-up.d/avahi-daemon
run-parts: executing /etc/network/if-up.d/bind9
run-parts: executing /etc/network/if-up.d/mountnfs
run-parts: executing /etc/network/if-up.d/ntpdate
run-parts: executing /etc/network/if-up.d/openssh-server
run-parts: executing /etc/network/if-up.d/openvpn
run-parts: executing /etc/network/if-up.d/postfix
run-parts: executing /etc/network/if-up.d/upstart
Configuring interface eth0=eth0 (inet6)
run-parts --verbose /etc/network/if-pre-up.d
modprobe -q net-pf-10 > /dev/null 2>&1 || true # ignore failure.


sysctl -q -e -w net.ipv6.conf.eth0.autoconf=0
ip link set dev eth0   up
ip -6 addr add 2001:a100:1:bbbb::1/64  dev eth0 
 ip -6 route add default via 2001:a100:1:bbff:ff:ff:ff:ff dev eth0 
RTNETLINK answers: File exists
Failed to bring up eth0.
Run Code Online (Sandbox Code Playgroud)

sja*_*jas 3

也许这些sysctl设置可以帮助您?

net.ipv6.conf.all.autoconf=0
net.ipv6.conf.all.accept_ra=0
Run Code Online (Sandbox Code Playgroud)