# ip a | grep inet
inet 127.0.0.1/8 scope host lo
inet 10.28.101.10/24 brd 10.28.101.255 scope global ens192
inet 192.168.70.120/24 brd 192.168.70.255 scope global ens224
# ip route
default via 192.168.70.1 dev ens224
10.28.101.0/24 dev ens192 proto kernel scope link src 10.28.101.10
169.254.0.0/16 dev ens192 scope link metric 1002
169.254.0.0/16 dev ens224 scope link metric 1003
192.168.70.0/24 dev ens224 proto kernel scope link src 192.168.70.120
Что нужно сделать, чтобы исправить:
Нужно сделать 2 маршрута
ip route add 10.28.101.0/24 dev ens192 tab 1
ip route add 192.168.70.0/24 dev ens224 tab 2
ip route add default via 10.28.101.1 dev ens192 tab 1
ip route add default via 192.168.70.1 dev ens224 tab 2
ip rule add from 10.28.101.10/32 tab 1 priority 100
ip rule add from 192.168.70.120/32 tab 2 priority 200
ip route flush cache
Чтобы прописать маршруты на постоянной основе:
# cat /etc/sysconfig/network-scripts/route-ens192
10.28.101.0/24 dev ens192 tab 1
default via 10.28.101.1 dev ens192 tab 1
# cat /etc/sysconfig/network-scripts/route-ens224
192.168.70.0/24 dev ens224 tab 2
default via 192.168.70.1 dev ens224 tab 2
# cat /etc/sysconfig/network-scripts/rule-ens192
from 10.28.101.10/32 tab 1 priority 100
# cat /etc/sysconfig/network-scripts/rule-ens224
from 192.168.70.120/32 tab 2 priority 200
Проверям:
# ip rule show
0: from all lookup local
100: from 10.28.101.10 lookup 1
200: from 192.168.70.120 lookup 2
32766: from all lookup main
32767: from all lookup default
Перезапускаем сеть:
systemctl restart network
Чтобы правила сохранялись после ребута ещё нужно:
yum install NetworkManager-config-routing-rules
systemctl enable NetworkManager-dispatcher.service
systemctl start NetworkManager-dispatcher.service