web-dev-qa-db-ja.com

Centosの複数NICルーティングの問題

ネットワークインターフェイスに永続的なルートを設定するのに問題があります。

私の設定の下:

ETH0:172.23.137.27ネットマスク/ 25-255.255.255.128ゲートウェイ– 192.168.126.126

ETH1:トランクVLAN-VLAN ID:305 172.21.107.123ネットマスク/ 28-255.255.255.240ゲートウェイ– 172.21.107.113

インターフェース設定は次のとおりです:

 
 cat ifcfg-eth0 
 DEVICE = eth0 
 HWADDR = 2C:59:E5:42:CB:EC 
 TYPE = Ethernet 
#UUID = eefb4ac8-42ba-4fc3-9918-08aae7edef3b 
 ONBOOT = yes 
#NM_CONTROLLED = no 
 BOOTPROTO = static 
 IPADDR = 192.168.126.27 
 NETMASK = 255.255.255.128 
 GATEWAY = 192.168.126.126 
#USERCTL = no 
 
 cat ifcfg-eth1 
 DEVICE = eth1 
 HWADDR = 2C:59:E5:42:CB:ED 
 UUID = 68f6c45e-48ba-4b33-8da7-d4d7979eb72d 
 ONBOOT = yes 
 BOOTPROTO =なし
 NM_CONTROLED = no 
 
 cat ifcfg-eth1.305 
 DEVICE = eth1.305 
 VLAN = yes 
 ONBOOT =はい
 BOOTPROTO = static 
 TYPE = Ethernet 
 IPADDR = 172.21.107.123 
 NETMASK = 255.255.255.240 
 GATEWAY = 172.21.107.113 
#NM_CONTROLLED = no 
 
 
 route -n 
 Kernel IP routing table 
 Destination Gateway Genmask Flags Metric Ref Use Iface 
 172.21.107.112 0.0.0.0 255.255.255.240 U 0 0 0 eth1.305 
 192.168.126.0 0.0.0.0 255.255.255.128 U 0 0 0 eth0 
 192.168.192.0 0.0.0.0 255.255.255.0 U 0 0 0 eth3 
 0.0.0.0 172.21.107.113 0.0.0.0 UG 0 0 0 eth1.30 
 

デフォルトルートは、手動で挿入した場合にのみ機能します。route del default gw 1​​92.168.126.126 eth0

しかし、/ etc/sysconfig/network-scriptsの下のroute-eth0を使用しても機能しませんでした

5
L1opardo

デフォルトゲートウェイではないネットワークデバイスについては、通常、デフォルトルートフラグをnoに設定します。

DEFROUTE="no"

これは、複数のネットワークインターフェイスを持つサーバーでは問題なく動作するようです。その後、ネットワークサービスまたはインターフェースを再起動すると、ルートをチェックして、これが実際に機能していることを確認できるはずです。

/sbin/route -n

うまくいけば、これが役立ちます。

8
jaseeey

/ etc/sysconfig/networkファイルのデフォルトゲートウェイは、次のように独自の行で指定できます。GATEWAY=192.168.0.1

複数のゲートウェイが必要な場合は、次のようなシェルスクリプトを作成できます。


#!/bin/sh

ip rule add from 172.21.107.112/28 pref 200 lookup 201
ip route add default via 172.21.107.113 dev eth1 table 201

ip rule add from 192.168.126.0/25 pref 200 lookup 202
ip route add default via 192.168.126.126 dev eth0 table 202

ip route add default nexthop via 192.168.126.126 dev eth0
ip route append default nexthop via 172.21.107.113 dev eth0

ip route flush cache

ファイルをchmod + xして、その呼び出しを/etc/init.d/networkファイルに追加します。

2
user16081-JoeT

指定できるGATEWAYは1つだけです。両方のインターフェースファイルにGATEWAYを追加した場合、より大きいインターフェース番号のGATEWAYがケースeth1のように使用されます。これは、表示されたroute -nから正しいものです。

複数のゲートウェイを使用する場合は、前の回答で提案されているように、ポリシールーティングを使用する必要があります。

2
MohyedeenN