11.7 ネットワーク・ルーティングの構成

システムでは、そのルーティング表を使用して、パケットをリモート・システムに送信する際に使用するネットワーク・インタフェースが決定されます。システムに単一のインタフェースしかない場合は、パケットを他のネットワークにルーティングする、ローカル・ネットワーク上のゲートウェイ・システムのIPアドレスを構成すれば十分です。

IPv4ネットワーク・パケットに対するデフォルト・ルートを作成するには、/etc/sysconfig/networkファイルにGATEWAYに対するエントリを含めます。たとえば、次のエントリで、ゲートウェイ・システムのIPアドレスが構成されます。

GATEWAY=192.0.2.1

システムに複数のネットワーク・インタフェースがある場合は、使用するインタフェースを指定できます。

GATEWAY=192.0.2.1
GATEWAYDEV=eth0

IPv6パケット用のゲートウェイを定義するには、次の例のように、通常は1つの文で十分です。

IPV6_DEFAULTGW="2001:db8:1e10:115b::2%eth0"

/etc/sysconfig/networkに加えた変更は、ネットワーク・サービスを再起動するまで有効になりません。

# service network restart

ルーティング表を表示するには、次の例のように、ip route showコマンドを使用します。

# ip route show
10.0.2.0/24 dev eth0  proto kernel  scope link  src 10.0.2.15 
default via 10.0.2.2 dev eth0  proto static 

この例は、ローカル・ネットワーク(10.0.2.0/24)宛のパケットでゲートウェイが使用されないことを示しています。デフォルトのエントリは、ローカル・ネットワーク外部のアドレス宛のパケットは、ゲートウェイ10.0.2.2経由でルーティングされることを意味します。

注意

ルーティングの構成にrouteコマンドを使用する場合があります。しかし、routeは廃止が検討されており、将来的にipコマンドによって完全に置換されます。

netstat -rnコマンドを使用してこの情報を表示することもできます。

Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
10.0.2.0        0.0.0.0         255.255.255.0   U         0 0          0 eth0
0.0.0.0         10.0.2.2        0.0.0.0         UG        0 0          0 eth0

表に対してルートの追加または削除を実行するには、ip route addまたはip route delコマンドを使用します。たとえば、静的デフォルト・ルートのエントリを置換するには、次のようにします。

# ip route del default
# ip route show
10.0.2.0/24 dev eth0  proto kernel  scope link  src 10.0.2.15 
# ip ro add default via 10.0.2.1 dev eth0 proto static
# ip route show
10.0.2.0/24 dev eth0  proto kernel  scope link  src 10.0.2.15  
default via 10.0.2.1 dev eth0  proto static 

インタフェースeth1経由で10.0.3.1を介するネットワーク10.0.3.0/24にルートを追加し、後でそのルートを削除するには、次のようにします。

# ip route add 10.0.4.0/24 via 10.0.2.1 dev eth1
# ip route show
10.0.2.0/24 dev eth0  proto kernel  scope link  src 10.0.2.15 
10.0.3.0/24 via 10.0.3.1 dev eth1
default via 10.0.2.2 dev eth0  proto static 
# ip route del 10.0.3.0/24
# ip route show
10.0.2.0/24 dev eth0  proto kernel  scope link  src 10.0.2.15 
default via 10.0.2.2 dev eth0  proto static 

ip route getコマンドは有益な機能であり、このコマンドを使用すると、次の例のように、指定したIPアドレスに到達するために、パケットを送信するルートを問い合せることができます。

# ip route get 23.6.118.140
23.6.118.140 via 10.0.2.2 dev eth0  src 10.0.2.15 
    cache  mtu 1500 advmss 1460 hoplimit 64

この例では、23.6.118.140へのパケットは、ゲートウェイ10.0.2.2を介してeth0インタフェースから送信されます。

ip routeを使用してルーティング表に加えた変更は、システム再起動をまたいで維持されません。静的ルートを永続的に構成するには、/etc/sysconfig/network-scriptsにインタフェース用のroute-interfaceファイルを作成することによって構成できます。たとえば、route-eth0というファイルにeth0インタフェースに対する静的ルートを構成するとします。これらのファイルのエントリは、ip route addコマンドに対する引数と同じフォーマットを使用できます。

たとえば、eth0のデフォルト・ゲートウェイのエントリを定義するには、route-eth0に次のようなエントリを作成します。

default via 10.0.2.1 dev eth0

次に示すroute-eth1内のエントリでは、eth1経由で10.0.3.1を介する10.0.3.0/24へのルートが定義されます。

10.0.3.0/24 via 10.0.3.1 dev eth1

route-interfaceファイルに加えた変更は、ネットワーク・サービスまたはインタフェースのいずれかを再起動するまで有効になりません。

詳細は、ip(8)およびnetstat(8)の各マニュアル・ページを参照してください。