Выделено из темы Проблемы с настройкой маршрутизации в Centos7 - 3 внешних канала
для более точной формализации проблемы

Дано
Сервер с Centos7 x86-64, куча сетевых карт.

основная функция - маршрутизатор + NAT + FW + openvpn;
а также локальные сервисы - почта, bind и прочее;
внешних каналов 4шт, один основной и 3 дополнительных;

в локальной сети есть сервера c сервисами доступ к которым идет через NAT;

для реализации данного функционала настроен iptables+iproute2

доступ через NAT работает без проблем и тут всё хорошо. проблема с доступом к локальным сервисам через резервные каналы

изучение документации дало понимание того, что многое скрыто - ну вот как пример: проход первого пакета транзитом (наименования цепочек буду сокращать)

man:pre  
nat:pre
man:for
fil:for
man:post
nat:post

всё по схемам

а вот второй и следующие идут уже по сокращенному пути:

man:pre  
man:for
fil:for
man:post

теперь к проблеме

отправляю запрос к локальному сервису на 4й резерв он проходит

man:pre
nat:pre

и все - исчезает!

те он должен появится в man:input, но видимо на этапе routing declision он убивается

цель понять почему и как это исправить

подробная информация о конфигурации

табличка резерва

ip route add DDD.DDD.DDD.0      dev ens1f1 src DDD.DDD.DDD.24   table T4 >/dev/null
ip route add 192.168.0.0/24 dev enp3s0 src 192.168.0.1 table T4 >/dev/null
ip route add 127.0.0.0/8 dev lo table T4 >/dev/null
ip route add default via DDD.DDD.DDD.1 table T4 >/dev/null

main
ip route add  AAA.AAA.AAA.AAA    dev ens2f0 src AAA.AAA.AAA.1   >/dev/null
ip route add BBB.BBB.BBB.BBB dev ens2f1 src BBB.BBB.BBB.1 >/dev/null
ip route add DDD.DDD.DDD.DDD dev ens1f1 src DDD.DDD.DDD.1 >/dev/null
ip route add CCC.CCC.CCC.CCC/29 dev ens1f0 src CCC.CCC.CCC.CCC >/dev/null
ip route add default via CCC.CCC.CCC.CCC metric 99 >/dev/null

из негативных факторов которые могут вмешиваться в маршрутизацию - на сервере установлен openvpn-сервер
его для теста выключал, но проблема не решалась.

вопрос - как проводить дальнейшую диагностику ? те как отловить почему пакет был убит на routing declision ?

таблицы raw и security имеют политику accept
аналогично и ebtables
arptables не установлено

тк сейчас на 4ом канале-резерве нет ничего критичного то я могу проводить на нем любые эксперименты. что опробовал

1. DNAT на локальные интерфейсы - пофиг. пакет не доходит до man:input

2. явное указание

ip rule add to   84.22.140.24    fwmark 0x400 table T4 >/dev/null
ip rule add from 84.22.140.24 fwmark 0x400 table T4 >/dev/null

тоже пофиг

Касаемо самой настройки iproute2 - опыт есть, те у меня до этого все работало на Centos4 с 2005ого, но вот сейчас что-то поменялось. прошу помочь найти где зарыта собака.








 , ,






URL записи