route コマンドを使用して手動でネットワークルーティングテーブルを操作します。/etc/defaultrouter ファイルは Oracle Solaris 11.3 では非推奨であるため、このファイルを使用してルート (デフォルトまたはそれ以外) を管理できなくなりました。route コマンドの使用は、手動でリブート後もルートを永続させることのできる唯一の方法です。変更がシステムリブート後も保持されるようにするには、route コマンドで –p オプションを使用します。
このリリースでは、永続的な静的ルートの命名もサポートされています。route コマンドに –name オプションを使用して、永続的 (静的) ルートの追加、変更、削除、および情報の表示を行います。このサポートは永続的な静的ルートのみに限定されます。このオプションに関する詳細については、route(1M) のマニュアルページを参照してください。
ルートを永続的に追加する場合は、追加するルートが永続的構成にすでに存在しないことを確認する必要があります。これらのルートが永続的構成内に存在する場合、ネットワークルーティングテーブルは永続的ルートを更新せずに変化する可能性があります。1 つの例は、システムのデフォルトルートがシステムのプライマリインタフェースにマップされる状況です (Oracle Solaris インストール後によくあるケースです)。その後、システムのプライマリインタフェースを別のインタフェースに変更すると、システムのデフォルトルートも永続的に変更されます。ベストプラクティスは、新しいルートを追加する前に、永続的ルート構成を削除することです。詳細は、Oracle Solaris 11.3 でのネットワーク管理のトラブルシューティング の 永続的なルートを追加するときの問題のトラブルシューティングを参照してください。
永続的ルートの作成および情報の表示に関する、次の追加情報を確認してください。
route コマンドと –p オプションを使用して、永続的ルートを追加します。
# route -p add default ip-address
route コマンドと –name オプションを使用して、宛先とゲートウェイではなく名前を指定することによって永続的ルートを追加します。
# route -p add destination-address gateway-address -name name
route コマンドを使用して作成されるルートの場合、route –p show コマンドを使用して、永続的な静的ルートをすべて表示します。
# route -p show
システム上で現在アクティブなルートを表示するには、次のオプションを指定して netstat コマンドを使用します。
# netstat -rn
詳細は、netstat(1M) および route(1M) のマニュアルページを参照してください。
詳細は、netstat(1M) と route(1M) のマニュアルページを参照してください。
% netstat -rn
出力は次のようになります。
Routing Table: IPv4 Destination Gateway Flags Ref Use Interface -------------------- -------------------- ----- ----- ---------- --------- 192.168.5.125 192.168.5.10 U 1 5879 net0 224.0.0.0 198.168.5.10 U 1 0 net0 default 192.168.5.10 UG 1 91908 127.0.0.1 127.0.0.1 UH 1 811302 lo0 Routing Table: IPv6 Destination/Mask Gateway Flags Ref Use If --------------------------- --------------------------- ----- --- ------- ----- ::1 ::1 UH 2 0 lo0
# route flush
# route -p add -net network-address -gateway gateway-address
リブート後も保持されるルートを作成します。現在のセッションでのみ永続するルートを作成する場合は、–p オプションを使用しないでください。
network-address で指定されたアドレスを持つネットワークへのルートであることを示します。
指定されたルートのゲートウェイシステムの IP アドレスが gateway-address であることを示します。
次の例は、ルーター (ルーター 2) に静的ルートを追加する方法を示します。静的ルートは AS のボーダールーター 10.0.5.150 で必要です。この特定の設定の説明については、図 2を参照してください。
次のようにして、ルーター 2 のルーティングテーブルを表示します。
# netstat -rn Routing Table: IPv4 Destination Gateway Flags Ref Use Interface -------------------- -------------------- ----- ----- ------ --------- default 172.20.1.10 UG 1 249 ce0 224.0.0.0 172.20.1.10 U 1 0 ce0 10.0.5.0 10.0.5.20 U 1 78 bge0 127.0.0.1 127.0.0.1 UH 1 57 lo0 Routing Table: IPv6 Destination/Mask Gateway Flags Ref Use If --------------------------- --------------------------- ----- --- ------- ----- ::1 ::1 UH 2 0 lo0
このルーティングテーブルは、ルーター 2 に既知のルートが 2 つあることを示しています。デフォルトのルートは、ルーター 2 の 172.20.1.10 インタフェースをゲートウェイとして使用します。2 番目のルート 10.0.5.0 は、ルーター 2 で実行中の in.routed デーモンによって検出されました。このルートのゲートウェイはルーター 1 で、その IP アドレスは 10.0.5.20 です。
次のようにして、ボーダールーターとして機能するゲートウェイを持つネットワーク 10.0.5.0 に 2 番目のルートを追加します。
# route -p add -net 10.0.5.0/24 -gateway 10.0.5.150 add net 10.0.5.0: gateway 10.0.5.150
これで、IP アドレス 10.0.5.150/24 を持つボーダールーターへのルートが、ルーティングテーブルに追加されました。
# netstat -rn Routing Table: IPv4 Destination Gateway Flags Ref Use Interface -------------------- -------------------- ----- ----- ------ --------- default 172.20.1.10 UG 1 249 ce0 224.0.0.0 172.20.1.10 U 1 0 ce0 10.0.5.0 10.0.5.20 U 1 78 bge0 10.0.5.0 10.0.5.150 U 1 375 bge0 127.0.0.1 127.0.0.1 UH 1 57 lo0 Routing Table: IPv6 Destination/Mask Gateway Flags Ref Use If --------------------------- --------------------------- ----- --- ------- ----- ::1 ::1 UH 2 0 lo0
永続的な静的ルートを追加するとき、–name オプションを使用してルートの名前を指定できます。ルーティング構成の文脈で特別な意味を持つ default という名前を除き、任意の名前を指定できます。詳細は、route(1M) のマニュアルページを参照してください。
–name オプションを指定することによって永続的なルートを作成する場合は、宛先ではなくその名前を指定することによって、ルートに関する情報を表示できます。また、ルートの名前を指定することによってルートを変更および削除することもできます。–name オプションを使用して既存のルートの名前を付けることはできないことに注意してください。また、このオプションを使用して以前名前を付けたルートの名前を変更することもできません。既存のルートに名前を割り当てるか、または以前名前を付けた既存のルートの名前を変更するには、最初にそのルートを削除してからふたたび –name オプションを指定することによってルートを追加します。
# route -p add destination-address gateway-address -name name
–name は、永続的なルートを参照するための名前であり、ルートの宛先とゲートウェイによる参照の代わりに使用します。非永続的なルートの場合、–name オプションは無視されます。
# route get -name route-name
ルートに関する情報は、次のようにして表示することもできます。
# route -p show
次の例では、名前を指定することによって永続的な静的ルート (route1) を追加する方法を示しています。
# route -p add 9.9.9.9 3.3.3.9 -name route1 persistent: route add 9.9.9.9 3.3.3.9 -name route1
# route get -name route1 route to : 9.9.9.9 name : route1 destination : 9.9.9.9 mask : 255.255.255.25 gateway : 3.3.3.9 interface : net0 flags : <UP,GATEWAY,HOST,DONE,STATIC> recvpipe sendpipe ssthresh rtt,ms rttvar,ms hopcount mtu expire 0 0 0 0 0 0 1500 0使用例 11 ルートの名前を指定することによる永続的 (静的) ルートの情報の変更
次の例では、永続的なルートの名前を指定することによって永続的なルートの情報を変更する方法を示しています。この例では、ゲートウェイの情報が変更されます。永続的なルートは、最初に名前を指定することによって追加されている必要があることに注意してください。
# route -p show persistent: route add 9.9.9.9 3.3.3.9 -name route1 # route change -name route1 9.9.8.8 change host -name route1 9.9.9.9: gateway 9.9.8.8使用例 12 ルートの名前を指定することによる永続的 (静的) ルートの削除
次の例では、永続的なルートの名前を指定することによって永続的なルートを削除する方法を示しています。永続的なルートは、最初に名前を指定することによって追加されている必要があることに注意してください。
# route -p delete -name route1 delete host -name route1 9.9.9.9: gateway 3.3.3.9: not in table delete persistent host -name route1 9.9.9.9: gateway 3.3.3.9
–p オプションを –name オプションと一緒に指定しない場合は、次の例に示すようにルートはルーティングテーブルからのみ削除されます。
# route delete -name route1 delete host -name route1 9.9.9.9: gateway 3.3.3.9