IP-правила, кажется, не работают на CentOS-6.6
Я столкнулся с немного странной трудностью при маршрутизации на основе политик на сервере CentOS-6.6. У меня есть настройки, где мне нужно направить все пакеты, исходящие из 172.25.0.0/16
суждено 172.24.0.0/16
и немного XXX.155.106.50
через определенный шлюз (10.4.20.5
) за VPN-туннелем. Я просто делаю то, что делал всегда.
1) я определил zone2
таблица в моем / etc / iproute2 / rt_tables:
255 local
254 main
253 default
0 unspec
25 zone2
2) Я добавил несколько правил, вот что я получаю в ответ ip rule show
:
0: from all lookup local
32762: from all to 172.25.0.0/16 lookup zone2
32763: from 172.25.0.0/16 lookup zone2
32766: from all lookup main
32767: from all lookup default
3) И, наконец, я добавил несколько маршрутов в таблицу, поэтому в ответ на ip route show table zone2
Я получаю следующее:
XXX.155.106.50 via 10.4.20.5 dev tun0
172.25.64.0/24 dev cloudbr0 scope link
172.25.65.0/24 dev cloudbr0 scope link
172.24.0.0/16 via 10.4.20.5 dev tun0
Все кажется вполне законным, верно? Но, увы, эти правила, похоже, не работают, так как tcpdump показывает мне все пакеты из 172.25.0.0/16
не через мой туннель, а напрямую.
Самое смешное: когда я делаю что-то вроде ping -I 172.25.65.254 XXX.155.106.50
все работает нормально и пакеты маршрутизируются через туннель. Но если пакет приходит из сети (кстати, сетевой интерфейс соединен мостом) - все эти правила, похоже, игнорируются и пакеты идут напрямую.:(
Любые подсказки и советы будут с благодарностью!