Настройка статических iproute2 правил в Centos7

Я предпочитаю давать таблице своё уникальное имя. Когда таблиц много это позволяет легче ориентировaться.

[root@server /] # cat /etc/iproute2/rt_tables
#
# reserved values
#
255	local
254	main
253	default
0	unspec
#
# local
#
#1	inr.ruhep

# здесь добавить таблицу с уникальным ID и именем
102	directroute

После определения имени таблицы добавим файл /etc/sysconfig/network-scripts/route-vlan707
где vlan707 – имя интерфейса на котором определён IP и к которому будет привязан маршрут.
У меня это vlan.

[root@server /] # cat /etc/sysconfig/network-scripts/route-vlan707
# добавить route2 маршруты для directroute
# таблица directroute определена в /etc/iproute2/rt_tables
109.122.38.249/32 dev vlan707table directroute
default via 109.122.38.193 dev vlan707table directroute

Во втором файле определяем правило

[root@server /] # cat /etc/sysconfig/network-scripts/rule-vlan707
# add route2 rule for direct routing
from 109.122.38.249/32 lookup directroute

Тепер чтобы правила попали в таблицу маршрутизации необходимо “передёрнуть” интерфейс

ifdown vlan707 && ifup vlan707

Либо перезапустить систему. В результате получим следующее:

[root@server /] # ip route show table directroute
default via 109.122.38.193 dev vlan707
109.122.38.249 dev vlan707scope link

[root@server /] # ip rule show all
0:	from all lookup local
32765:	from 109.122.38.249 lookup directroute
32766:	from all lookup main
32767:	from all lookup default