У меня проблемы с настройкой постоянных маршрутов для моих сетевых интерфейсов,
под моей конфигурацией:
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=none NM_CONTROLED=no cat ifcfg-eth1.305 DEVICE=eth1.305 VLAN=yes ONBOOT=yes 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 192.168.126.126 eth0
Но не сработало с использованием: route-eth0 в / etc / sysconfig / network-scripts
Для любого сетевого устройства, которое не является моим шлюзом по умолчанию, я обычно устанавливаю флаг маршрута по умолчанию на no:
DEFROUTE="no"
Кажется, это работает без каких-либо проблем для моих серверов с несколькими сетевыми интерфейсами. Если вы затем перезапустите сетевую службу или интерфейсы, вы сможете проверить маршруты, чтобы убедиться, что это действительно работает:
/sbin/route -n
Надеюсь, это поможет.
Вы можете указать только один ШЛЮЗ, и если вы добавили ШЛЮЗ в оба файла интерфейсов, будет использоваться ШЛЮЗ с более высоким номером интерфейса, как в вашем случае eth1, что правильно из маршрута -n, который вы указали.
Если вы хотите использовать несколько ШЛЮЗОВ, вам необходимо использовать маршрутизацию политики, как было предложено в предыдущем ответе.
Вы можете указать шлюз по умолчанию в файле / 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