Ubuntu and policy base routing

PBR - это очень удобно, к примеру если у вас 2 и более интерфейсов и для них надо сделать роутинг или надо иметь 2 gate и тд
Тогда эта статья вам поможет в этом
Суть всего этого процесса в том, что мы не можем иметь в одной таблице маршрутизации  несколько шлюзов по умолчанию а с PBR  
система создает несколько таблиц маршрутизации и в каждой может быть шлюз по умолчанию
Так же система понимает если к примеру пакет пришел в eth0 то и уйти он должен из eth0  
И так для начала нам необходимо разрешить форвардинг между интерфейсами :

/etc/sysctl.conf:

# Controls IP packet forwarding
net.ipv4.ip_forward = 1

# Controls source route verification
net.ipv4.conf.default.rp_filter = 0

# Do not accept source routing
net.ipv4.conf.default.accept_source_route = 0

# Controls the use of TCP syncookies
net.ipv4.tcp_syncookies = 1

Посмотреть ее можно так :

root@ipsec-gw-new:~# ip rule
0: from all lookup local
32766: from all lookup main
32767: from all lookup default

 

Добавим новую таблицу и назовем ее  — primary

 

root@ipsec-gw-new:~# cat /etc/iproute2/rt_tables
#
# reserved values
#
255 local
254 main
253 default
252 primary
0 unspec


Осталось настроить интерфейсы

 

#iface eth0 inet dhcp
iface eth0 inet static
 address 23.111.x.x
 netmask 255.255.255.224
 network 23.111.x.x
 post-up ip route add default via 23.111.x.x dev eth0 table primary
 post-up ip route add 23.111.x.x/27 via 23.111.x.x dev eth0 table primary
 post-up ip rule add from 23.111.x.x lookup primary
 # dns-* options are implemented by the resolvconf package, if installed
 #gateway 23.111.x.x
 # dns-* options are implemented by the resolvconf package, if installed
 dns-nameservers 8.8.8.8 8.8.4.4



# The internet network interface
allow-hotplug eth1
auto eth1
#iface eth1 inet dhcp
iface eth1 inet static
 address 23.111.z.z
 netmask 255.255.255.224
 network 23.111.z.z
 gateway 23.111.z.z
 # dns-* options are implemented by the resolvconf package, if installed
 dns-nameservers 8.8.8.8 8.8.4.4

После чего мы получает то что хотели

Но надо отметить что по умолчанию исходящие пакеты с сервера будут идти по главной (MAIN) таблице маршуртизации