Что есть:

Centos; 
Локальный ip 192.168.0.2, маска /24, шлюз 192.168.0.1;
Внешний ip 86.86.86.86, маска /27, шлюз 86.86.86.85;

Необходимо, чтобы трафик приходящий на внешний интерфейс обрабатывался нужной карточкой, а не шлюзом по умолчанию. Весь основной трафик будем гнать через дефолтный шлюз 192.168.0.1. Для остального трафика необходимо прописать роуты (для примера возьмем гугловые сервера 8.8.8.8 и 8.8.4.4). Решение:

yum install NetworkManager-config-routing-rules
systemctl enable NetworkManager-dispatcher.service
systemctl start NetworkManager-dispatcher.service

В /etc/iproute2/rt_tables дописываем:

101 T1
102 T2

Далее настраиваем роутинг и интерфейсы: Настройки для eth0 (локальный интерфейс): /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0
BOOTPROTO=static
HWADDR=%%%%%%%%%%%%%
IPV6INIT=no
ONBOOT=yes
TYPE=Ethernet
IPADDR=192.168.0.2
NETMASK=255.255.255.0
GATEWAY=192.168.0.1

/etc/sysconfig/network-scripts/route-eth0

192.168.0.0/24 dev eth0 src 192.168.0.2 table T1
default via 192.168.0.1 dev eth0 table T1

/etc/sysconfig/network-scripts/rule-eth0

from 192.168.0.2/32 table T1
to 192.168.0.2 table T1

Настройки для eth1 (внешний интерфейс): /etc/sysconfig/network-scripts/ifcfg-eth1

DEVICE=eth1
BOOTPROTO=static
HWADDR=%%%%%%%%%%%%%%%
ONBOOT=yes
IPADDR=86.86.86.86
NETMASK=255.255.255.224
NETWORK=86.86.86.85
TYPE=Ethernet

/etc/sysconfig/network-scripts/route-eth1

86.86.86.84/27 dev eth1 src 86.86.86.86 table T2
default via 86.86.86.85 dev eth1 table T2
8.8.8.8 via 86.86.86.85 dev eth1
8.8.4.4 via 86.86.86.85 dev eth1

/etc/sysconfig/network-scripts/rule-eth1

from 86.86.86.86/32 table T2
to 86.86.86.86 table T2

Передёргиваем сеть service network restart. На этом всё, Вы великолепны, можно дальше пинать *уи.

Комментарии ()