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
質問
デフォルトルートが考慮されないのはなぜですか(ip -6 route add
でキーワードgateway
または/etc/network/interfaces
を使用しても、起動時?ルートを手動で追加すると、完全に機能し、IPv6を使用してインターネットとの間でTXおよびRXを実行できることに注意してください(問題は自動化することです)。
期限切れになる奇妙なカーネルルートは何ですか?それらが必要ですか?私のサーバーは、それ自体がインターネットに直接接続されているルーター(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.
おそらくこれらのsysctl
設定が役立つかもしれませんか?
net.ipv6.conf.all.autoconf=0
net.ipv6.conf.all.accept_ra=0
/ 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