Как сделать NAT в не-дефолтную таблицу роутов, чтобы клиенты ходили в интернет через выделенное соединение/шлюз?
Привет.
Есть система, где одна их сетевых карт смотрит в лан-порт модема, который настроен бриджем, а вторая сетевая карта в свитч и локалку, откуда будут приходить клиенты за интернетом.
Через бридж поднимается одно (пока что, потом будет несколько) pppoe соединение с интерфейсом inet0 и роуты добавляются в соответствующую таблицу роутов с таким же названием.
NAT через default route из таблицы main работает хорошо, но после добавления правила ip rule add from 192.168.100.62 table inet0, клиент с адресом 192.168.100.62 как бы начинает ходить через пппое-соединение, но наполовину: пинги проходят, трейсроуты проходят, часть сайтов (например гугл (поиск, ютуб, етц), яндекс, фейсбук) работают, но остальные сайты валятся по timeout.
Не могу понять что я сделал не так и почему интернет работает выборочно.
Сетью рулит NM, firewalld. Пробовал на системах Centos 8 и Fedora 31.
# ip rule
0: from all lookup local
32765: from 192.168.100.62 lookup inet0
32766: from all lookup main
32767: from all lookup default
# ip r s t inet0
default via 100.104.128.1 dev inet0 proto static metric 20460
100.104.128.1 dev inet0 proto kernel scope link src 100.104.247.157 metric 460
К сожалению, ни ваершарком ни тспдампом пользоваться не умею. Пишите какие еще логи/конфиги показать.