CentOS 7サーバーにいくつかのIPv6アドレスがあり、特定のv6アドレスをルーティングで使用されるデフォルトアドレスにする必要があります。ルートテーブルを変更することでこれを行うことができました。
ip -6 route del default
ip -6 route add default via 2001:470:xxxx:xx::1 src 2001:470:xxxx:xx::6
問題は、ネットワークインターフェイスが再起動されるか、サーバー自体が再起動されるたびに、デフォルトのIPv6ルートへの変更が失われることです。この変更を永続的にして、永続的に保持するにはどうすればよいですか?
Red Hatのネットワークスクリプトが/etc/sysconfig/network-scripts/ifcfg-*
で構成された複数のIPv6アドレスを設定すると、何らかの理由で逆順で適用され、_lastIPV6ADDR_SECONDARIES
にリストされているアドレスがアドレスになります発信接続にデフォルトで使用されます。 IPv6アドレスがリストされている順序を逆にするだけで、問題を解決できます。
漠然と関連する唯一の賞金問題に答えるには:対応する/etc/sysconfig/network-scripts/route6-*
に追加することにより、IPv6静的ルートを設定できます。このファイルの形式はip route add
コマンドと同じですが、そのビットは省略されています。例:
default via 2001:db8:dead:beef:: dev eno1
2001:db8:deca:fbad::/64 via 2001:db8:dead:beef::8bad:f00d dev eno1
あなたがそれを置くことができる1つの場所は/sbin/ifup-local
インターフェイスが起動したときに実行されるファイル。
#!/bin/sh
if [[ "$1" == "eth0" ]]
then
ip -6 route del default
ip -6 route add default via 2001:470:xxxx:xx::1 src 2001:470:xxxx:xx::6
else
#DO_NOTHING
fi
デフォルトでは存在しないため、作成してアクセス許可を設定し、実行可能にする必要があります。