web-dev-qa-db-ja.com

CentOS 7でデフォルトのIPv6ルートへの変更を永続的にする

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ルートへの変更が失われることです。この変更を永続的にして、永続的に保持するにはどうすればよいですか?

4
James White

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
5
Michael Hampton

あなたがそれを置くことができる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

デフォルトでは存在しないため、作成してアクセス許可を設定し、実行可能にする必要があります。

0
Brian