Выделено из темы Проблемы с настройкой маршрутизации в 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: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 DDD.DDD.DDD.24 fwmark 0x400 table T4 >/dev/null
ip rule add from DDD.DDD.DDD.24 fwmark 0x400 table T4 >/dev/null
тоже пофиг
Касаемо самой настройки iproute2 - опыт есть, те у меня до этого все работало на Centos4 с 2005ого, но вот сейчас что-то поменялось. прошу помочь найти где зарыта собака.