Назад | Перейти на главную страницу

Настройте iproute2 для нескольких сетевых адаптеров и проверки

В попытке избежать раздельной маршрутизации для сервера CentOS 6 с несколькими сетевыми адаптерами я работаю над настройкой iproute2 для направления трафика, исходящего от определенного сетевого адаптера (VLAN), для возврата только через этот сетевой адаптер вместо маршрута по умолчанию, установленного на сервере eth0. Вот как это выглядит сейчас.

IP-адрес

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:50:56:9b:1c:1d brd ff:ff:ff:ff:ff:ff
    inet 10.2.130.206/24 brd 10.2.130.255 scope global eth3
    inet6 fe80::250:56ff:fe9b:1c1d/64 scope link
       valid_lft forever preferred_lft forever
3: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:50:56:9b:6c:b3 brd ff:ff:ff:ff:ff:ff
    inet 10.2.220.206/24 brd 10.2.220.255 scope global eth0
    inet6 fe80::250:56ff:fe9b:6cb3/64 scope link
       valid_lft forever preferred_lft forever
4: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:50:56:9b:4b:b1 brd ff:ff:ff:ff:ff:ff
    inet 10.2.120.206/24 brd 10.2.120.255 scope global eth1
    inet6 fe80::250:56ff:fe9b:4bb1/64 scope link
       valid_lft forever preferred_lft forever
5: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:50:56:9b:4b:14 brd ff:ff:ff:ff:ff:ff
    inet 10.2.100.206/24 brd 10.2.100.255 scope global eth2
    inet6 fe80::250:56ff:fe9b:4b14/64 scope link
       valid_lft forever preferred_lft forever

IP-маршрут

10.2.130.0/24 dev eth3  proto kernel  scope link  src 10.2.130.206
10.2.100.0/24 dev eth2  proto kernel  scope link  src 10.2.100.206
10.2.220.0/24 dev eth0  proto kernel  scope link  src 10.2.220.206
10.2.120.0/24 dev eth1  proto kernel  scope link  src 10.2.120.206
169.254.0.0/16 dev eth3  scope link  metric 1002
169.254.0.0/16 dev eth0  scope link  metric 1003
169.254.0.0/16 dev eth1  scope link  metric 1004
169.254.0.0/16 dev eth2  scope link  metric 1005
default via 10.2.220.1 dev eth0

IP правило

0:      from all lookup local
32762:  from 10.2.130.0/24 lookup development
32763:  from 10.2.100.0/24 lookup protected
32764:  from 10.2.120.0/24 lookup external
32765:  from 10.2.220.0/24 lookup management
32766:  from all lookup main
32767:  from all lookup default

Теперь все «кажется» работает так, как задумано, но как мне это проверить?

как мне на самом деле проверить это

Запустите tcpdump / wirehark, настройте целевой интерфейс с помощью -i interface и генерировать некоторый трафик, который должен проходить через определенный интерфейс, используя любые ваши любимые инструменты. Netcat в службу TCP может быть хорошим вариантом. Убедитесь, что вы видите все для соединения, с помощью tcp убедитесь, что вы видите оба направления трехстороннего рукопожатия и все пакеты для соединения закрыты.