web-dev-qa-db-ja.com

route-eth0の静的ルートは無視されました

Route-eth0が無視され、route-eth1が無視されないのはなぜですか? eth0がDHCPを使用していて、eth1が静的に構成されているためでしょうか?

いくつかの静的ルートが構成されています

[16:20:06][root@zserver2:/etc/sysconfig/network-scripts]$ ls -al ro*
-rw-r--r-- 1 root root 104 Dec  6 15:49 route-eth0
-rw-r--r-- 1 root root 106 Dec  6 15:49 route-eth1

service network restart eth1のルートはアクティブ化されますが、eth0のルートはアクティブ化されません。

ifup eth0もそれらを無視しますが、ifup-routes eth0で結構です。それを活性化させる最良の方法は何ですか?

[16:18:36][root@zserver2:/etc/sysconfig/network-scripts]$ service network restart
Shutting down interface eth0:  Device state: 3 (disconnected)
                                                           [  OK  ]
Shutting down interface eth1:  Device state: 3 (disconnected)
                                                           [  OK  ]
Shutting down loopback interface:                          [  OK  ]
Bringing up loopback interface:                            [  OK  ]
Bringing up interface eth0:  Active connection state: activating
Active connection path: /org/freedesktop/NetworkManager/ActiveConnection/28
state: activated
Connection activated
                                                           [  OK  ]
Bringing up interface eth1:  Active connection state: activated
Active connection path: /org/freedesktop/NetworkManager/ActiveConnection/29
                                                           [  OK  ]

ルート情報

[16:18:50][root@zserver2:/etc/sysconfig/network-scripts]$ route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.15.10   192.168.15.11   255.255.255.255 UGH   1      0        0 eth1
192.168.15.11   0.0.0.0         255.255.255.255 UH    0      0        0 eth1
192.168.15.11   192.168.15.91   255.255.255.255 UGH   1      0        0 eth1
192.168.15.0    0.0.0.0         255.255.255.0   U     1      0        0 eth0
0.0.0.0         192.168.15.1    0.0.0.0         UG    0      0        0 eth0

ifup eth0を手動で

[16:19:03][root@zserver2:/etc/sysconfig/network-scripts]$ ifup eth0
Active connection state: activating
Active connection path: /org/freedesktop/NetworkManager/ActiveConnection/30
state: activated
Connection activated

ルート情報

[16:19:35][root@zserver2:/etc/sysconfig/network-scripts]$ route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.15.10   192.168.15.11   255.255.255.255 UGH   1      0        0 eth1
192.168.15.11   0.0.0.0         255.255.255.255 UH    0      0        0 eth1
192.168.15.11   192.168.15.91   255.255.255.255 UGH   1      0        0 eth1
192.168.15.0    0.0.0.0         255.255.255.0   U     1      0        0 eth0
0.0.0.0         192.168.15.1    0.0.0.0         UG    0      0        0 eth0

ifup-eth0を手動でルーティング

[16:19:56][root@zserver2:/etc/sysconfig/network-scripts]$ ./ifup-routes eth0
[16:20:00][root@zserver2:/etc/sysconfig/network-scripts]$ route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.15.1    192.168.15.90   255.255.255.255 UGH   5      0        0 eth0
192.168.15.10   192.168.15.11   255.255.255.255 UGH   1      0        0 eth1
192.168.15.10   192.168.15.1    255.255.255.255 UGH   5      0        0 eth0
192.168.15.11   0.0.0.0         255.255.255.255 UH    0      0        0 eth1
192.168.15.11   192.168.15.91   255.255.255.255 UGH   1      0        0 eth1
192.168.15.0    0.0.0.0         255.255.255.0   U     1      0        0 eth0
0.0.0.0         192.168.15.1    0.0.0.0         UG    0      0        0 eth0

構成ファイルは次のとおりです。

ifcfg-eth

[16:30:26][root@zserver2:/etc/sysconfig/network-scripts]$ cat ifcfg-eth0
DEVICE=eth0
TYPE=Ethernet
UUID=76ef8242-9e22-4a29-93f3-a142d1460c87
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="System eth0"
HWADDR=00:25:90:86:71:E0
PEERDNS=yes
PEERROUTES=yes
LAST_CONNECT=1386361279

ifcfg-eth1

[16:30:35][root@zserver2:/etc/sysconfig/network-scripts]$ cat ifcfg-eth1
DEVICE=eth1
TYPE=Ethernet
UUID=647f66bd-67b2-4e9a-b5a5-4280ad677b9a
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="System eth1"
IPADDR=192.168.15.91
PREFIX=32
HWADDR=00:25:90:86:71:E1
LAST_CONNECT=1386361279
6
Ian

問題はおそらくタイミングです。とりわけ、ifupスクリプトはこれを実行します。

  • eth0を「アップ」状態にする
  • iPアドレスを取得するためにdhclientを開始します
  • route-eth0から静的ルートを読み込みます

問題は、静的ルートをロードする前にifupdhclientがIPアドレスを取得するのを待たず、カーネルがIPアドレスのないインターフェースのルートをインストールしないことです。それに構成されています。

DHCPを使用する必要がある場合の1つの解決策は、dhclientにルートを追加さ​​せることです。 CentOS 6.5の dhclient-script(8) のマンページによると:

Dhclientが新しいIPアドレス、サブネットマスク、およびルートを使用してインターフェースを起動した直後に、REBOOT/BOUND状態で、実行可能ファイルの存在を確認します*/ etc/dhcp/dhclient- up-hooksスクリプトを使用し、見つかった場合はそれを入手します。このスクリプトは、デフォルトでは処理されない環境のDHCPオプションを処理できます。インターフェースごと/ etc/dhcp/dhclient-$ {IF} -up-hooksスクリプトは、汎用スクリプトをオーバーライドし、インターフェース$ IFが起動されたときに読み込まれます。

以下を含む/etc/dhcp/dhclient-eth0-up-hooksスクリプトを作成することで、この作業を行うことができるはずです。

/etc/sysconfig/network-scripts/ifup-routes eth0
2

それも私の結論です。 DHCP i/fはDHCPサーバーからルーティング情報を取得するため、これらのファイルは無視されます。

NetworkManagerを通過し、UIを介して追加のルートを追加できるはずです。

ss of nm1

ss of nm2

ss of nm3

0
slm