web-dev-qa-db-ja.com

再起動後、IPv6のデフォルトゲートウェイルートが消える

IPv4とIPv6を同時に使用する専用サーバーでDebianWheezyを使用しています。

ifconfig eth

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)

(数分後、RXドロップカウンターが増加します。)

cat/etc/network/interfaces

最初に「gateway」キーワードを使用しましたが、機能しなかったため、ファイルにルートを追加しようとしましたが、どちらも機能しませんでした。

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

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

質問

  1. デフォルトルートが考慮されないのはなぜですかip -6 route addでキーワードgatewayまたは/etc/network/interfacesを使用しても、起動時?ルートを手動で追加すると、完全に機能し、IPv6を使用してインターネットとの間でTXおよびRXを実行できることに注意してください(問題は自動化することです)。

  2. 期限切れになる奇妙なカーネルルートは何ですか?それらが必要ですか?私のサーバーは、それ自体がインターネットに直接接続されているルーター(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.
6
Fox

おそらくこれらのsysctl設定が役立つかもしれませんか?

net.ipv6.conf.all.autoconf=0
net.ipv6.conf.all.accept_ra=0
3
sjas

/ etc/network/interfacesの次の構成は私のために働きます:

iface eth0 inet6 static
     address 2001:a100:1:bbbb::1
     netmask 64
     up ip -6 route add default via 2001:a100:1:bbff:ff:ff:ff:ff
     down ip -6 route del default via 2001:a100:1:bbff:ff:ff:ff:ff
2
eKKiM