Назад | Перейти на главную страницу

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, все работает нормально и пакеты маршрутизируются через туннель. Но если пакет приходит из сети (кстати, сетевой интерфейс является мостовым) - все эти правила вроде бы игнорируются и пакеты идут напрямую. :(

Будем очень признательны за любые подсказки и подсказки!