SNAT по определенному порту для локальных приложений
всем добрый день! есть одна сетевая карточка - на которую приходит как тегированый трафик так и не тегированый.
eth0 сюда идет не тегированый трафик из сети А шлюз а.а.а.а
eth0.10 сюда идет тегированный трафик из сети В
eth0.20 ........ сеть Д и т.д.
есть программа, которая ломится с моей машины на компьютеры пользователей по порту 3333, но на компах юзеров из сетей В и Д стоит айпифильтр и соединение возможно только если находишься в сети А ...
так вот как сделать так чтобы бы трафик уходящий на порт юзеров из любых подсетей 3333 шел только через eth0, a не через eth0.10 eth0.20 ?
то что можно расширить список сетей в айпифильтре это понятно, но вот как решить такую проблему через iptables?
Долгие мучения привели к следующей конструкции
echo 201 program.test >> /etc/iproute2/rt_tables
iptables -t mangle -A OUTPUT -p tcp --dport 3333 -j MARK --set-mark 255
iptables -t nat -A POSTROUTING -m mark --mark 255 -j SNAT --to-source a.a.a.a (шлюз для eth0)
ip rule add fwmark 255 table program.test
ip ro add default via a.a.a.a dev eth0.10 table program.test
но вот на добавлении роута он мне говорит RTNETLINK answers: No such process
как быть?