Я привык решать многое сам, но здесь мой мозг начинает кипеть, уже как третий день. routerboard: yes model: 2011UAS current-firmware: 3.22 upgrade-firmware: 3.22 Запустили -> Обновили -> Сбросили(без восстановления дефотной конфигурации) -> Итог голый микротик. Адреса # ADDRESS NETWORK INTERFACE 0 172.17.9.1/24 172.17.9.0 bridge-Local 1 192.168.252.1/24 192.168.252.0 bridge-wifi-guest 2 10.1.0.9/22 10.1.0.0 ether7 ----------------------------------------- NAT всего одно активное правило [admin@MT-ROOT-900] /ip firewall nat> pr Flags: X - disabled, I - invalid, D - dynamic 0 chain=srcnat action=masquerade to-addresses=10.1.0.9 src-address=!172.17.9.0/24 out-interface=ether7 log=no log-prefix="" ----------------------------------------- ether7 - это линк до вышестоящего маршрутизатора, сеть 172.17.9.0/24 должна прийти без NAT, а всё остальное, у всего остального трафика src адрес должен подменяться на 10.1.0.9 трафик ходит но не весь! сразу скажу что пробовал описывать конкретно каждую сеть src-address=192.168.250.0/24 Также пробовал использовать именно src-nat, а не masquerade. Суть да дела, ближе к вопросу когда я в фильтрах создаю следующее правило Flags: X - disabled, I - invalid, D - dynamic 0 chain=forward action=log connection-nat-state=!srcnat src-address=!172.17.9.0/24 out-interface=ether7 log=no log-prefix="" В логах начинаются сыпаться месаджи о трафике. Получается, что НАТ отрабатывает частично. какую либо закономерность в трафике, я не увидел. как пример что я вижу apr/29 01:19:44 firewall,info forward: in:bridge-wifi-guest(eo32) out:ether7, src-mac a0:a8:cd:d5:4f:8a, proto TCP (SYN), 192.168.252.206:55104->188.166.28.28:21, len 52 apr/29 01:19:47 firewall,info forward: in:bridge-wifi-guest(eo32) out:ether7, src-mac a0:a8:cd:d5:4f:8a, proto TCP (SYN), 192.168.252.206:55105->188.166.28.28:21, len 52 apr/29 01:19:58 firewall,info forward: in:bridge-wifi-guest(eo32) out:ether7, src-mac a0:b4:a5:cb:7c:e6, proto UDP, 192.168.252.235:51487->8.8.8.8:53, len 60 понятно что TCP так и останется в SYN, так как маршрутизатор за ether7 ожидает только трафик с 10.1.0.9 или 172.17.9.0/24. прошивка была 6.25 попробовал все поочередно. ситуация так и не изменилась. сейчас прошивка последняя.
Кирилл. Во первых логично все-таки просто исключить 172.17.9.0/24 из NAT правилом Accept Т.е. сверху поставить правило chain=src-nat dst-address=172.17.9.0/24 Action=accept А уже под ним ставить masquerade. В вторых, при большом количестве подключений, может переполнятся Connection Tracker. Тогда надо делать две вещи. 1. Тюнинговать Connection Tracker в отношении времени сессии. 2. Написать в /ip firewall filter правило chain=forward connection-state=invalid action=drop Это не даст пакетам не обработанным Connection Tracker выйти за пределы маршрутизатора.
Илья, спасибо. Дропать invalid помогло. по крайней мере за интерфейс уже не уходит трафик не прошедший NAT. Буду копать дальше
Всегда пожалуйста Кстати обратите внимание, что в Connection-Tracker видно сколько у него текущих соединений и сколько он может "держать". Пишется снизу окна Connections в файрволле. У вас скорее всего заканчиваются или свободные порты, или память. Если заканчиваются порты - тюнингуйте время сессий. Если память, то поотключайте ненужные Packages в /System Packages и тюнингуй время сессий.
Вот так попробуйте. Код: /ip firewall nat add chain=srcnat src-address=172.17.9.0/24 add action=masquerade chain=srcnat out-interface=ether7