gaaronk Posted June 16, 2017 Share Posted June 16, 2017 Хотелось бы получить возможность делать NAT не по входящему интерфейсу, а по исходящему. Нормальный маскарадинг с udp preserve и прочими плюшками. Без костыля в виде static. Link to comment Share on other sites More sharing options...
0 Le ecureuil Posted June 16, 2017 Share Posted June 16, 2017 8 часов назад, gaaronk сказал: Хотелось бы получить возможность делать NAT не по входящему интерфейсу, а по исходящему. Нормальный маскарадинг с udp preserve и прочими плюшками. Без костыля в виде static. Есть же > ip static SRC DST, где DST - исходящий интерфейс udp preserve является платформоспецифичной реализацией NAT, потому на него не стоит полагаться в общем случае. Link to comment Share on other sites More sharing options...
0 gaaronk Posted June 16, 2017 Author Share Posted June 16, 2017 Ну я писал уже как то Link to comment Share on other sites More sharing options...
0 gaaronk Posted June 16, 2017 Author Share Posted June 16, 2017 4 hours ago, Le ecureuil said: Есть же > ip static SRC DST, где DST - исходящий интерфейс udp preserve является платформоспецифичной реализацией NAT, потому на него не стоит полагаться в общем случае. А вот поясните пожалуйста что именно делает команда ip nat udp-port-preserve ? Как я вижу она вставляет в цепочку _NDM_NAT_UDP первым правилом RETURN Вопрос в том что на цепочку _NDM_NAT_UDP и так никто не ссылается. Трафик в нее никогда не попадает В версии 2.09.B.0.0-1 так точно Ибо в POSTROUTING только 3 0 0 MASQUERADE all -- br0 * 0.0.0.0/0 0.0.0.0/0 4 0 0 MASQUERADE all -- br1 * 0.0.0.0/0 0.0.0.0/0 Ну и Chain _NDM_NAT_UDP (0 references) Link to comment Share on other sites More sharing options...
0 Le ecureuil Posted June 17, 2017 Share Posted June 17, 2017 12 часа назад, gaaronk сказал: А вот поясните пожалуйста что именно делает команда ip nat udp-port-preserve ? Как я вижу она вставляет в цепочку _NDM_NAT_UDP первым правилом RETURN Вопрос в том что на цепочку _NDM_NAT_UDP и так никто не ссылается. Трафик в нее никогда не попадает В версии 2.09.B.0.0-1 так точно Ибо в POSTROUTING только 3 0 0 MASQUERADE all -- br0 * 0.0.0.0/0 0.0.0.0/0 4 0 0 MASQUERADE all -- br1 * 0.0.0.0/0 0.0.0.0/0 Ну и Chain _NDM_NAT_UDP (0 references) Попробуйте ее выключить и сразу увидите. Link to comment Share on other sites More sharing options...
0 gaaronk Posted June 17, 2017 Author Share Posted June 17, 2017 (edited) 4 minutes ago, Le ecureuil said: Попробуйте ее выключить и сразу увидите. А она у меня и не включена. Вот те куски iptables когда настроено так: ip nat Home ip nat Guest Все, больше настроек нет Chain POSTROUTING (policy ACCEPT 5 packets, 334 bytes) num pkts bytes target prot opt in out source destination 1 19 2854 _NDM_IPSEC_POSTROUTING_NAT all -- * * 0.0.0.0/0 0.0.0.0/0 2 5 334 _NDM_SNAT all -- * * 0.0.0.0/0 0.0.0.0/0 3 0 0 MASQUERADE all -- br0 * 0.0.0.0/0 0.0.0.0/0 4 0 0 MASQUERADE all -- br1 * 0.0.0.0/0 0.0.0.0/0 Chain _NDM_NAT_UDP (0 references) num pkts bytes target prot opt in out source destination 1 0 0 MASQUERADE udp -- * * 0.0.0.0/0 0.0.0.0/0 udp spts:35000:65535 masq ports: 1024-34999 2 0 0 MASQUERADE udp -- * * 0.0.0.0/0 0.0.0.0/0 udp spts:1024:34999 masq ports: 35000-65535 3 0 0 MASQUERADE udp -- * * 0.0.0.0/0 0.0.0.0/0 udp spts:0:411 masq ports: 412-1023 4 0 0 MASQUERADE udp -- * * 0.0.0.0/0 0.0.0.0/0 udp spts:412:1023 masq ports: 0-411 Включаю Chain POSTROUTING (policy ACCEPT 0 packets, 0 bytes) num pkts bytes target prot opt in out source destination 1 0 0 _NDM_IPSEC_POSTROUTING_NAT all -- * * 0.0.0.0/0 0.0.0.0/0 2 0 0 _NDM_SNAT all -- * * 0.0.0.0/0 0.0.0.0/0 3 0 0 MASQUERADE all -- br0 * 0.0.0.0/0 0.0.0.0/0 4 0 0 MASQUERADE all -- br1 * 0.0.0.0/0 0.0.0.0/0 Chain _NDM_NAT_UDP (0 references) num pkts bytes target prot opt in out source destination 1 0 0 RETURN all -- * * 0.0.0.0/0 0.0.0.0/0 2 0 0 MASQUERADE udp -- * * 0.0.0.0/0 0.0.0.0/0 udp spts:1024:34999 masq ports: 35000-65535 3 0 0 MASQUERADE udp -- * * 0.0.0.0/0 0.0.0.0/0 udp spts:0:411 masq ports: 412-1023 4 0 0 MASQUERADE udp -- * * 0.0.0.0/0 0.0.0.0/0 udp spts:412:1023 masq ports: 0-411 Выключаю и возвращаюсь к исходному. Edited June 17, 2017 by gaaronk Link to comment Share on other sites More sharing options...
0 Le ecureuil Posted July 2, 2017 Share Posted July 2, 2017 Спасибо за репорт, действительно, в рамках разработки 2.09 "потерялась" часть логики. Теперь все возвращено и работает. 1 Link to comment Share on other sites More sharing options...
0 Infy Posted July 7, 2017 Share Posted July 7, 2017 Исправление вошло в версию 2.10.A.3.0-4. 1 Link to comment Share on other sites More sharing options...
0 gaaronk Posted July 16, 2017 Author Share Posted July 16, 2017 Кстати, если использовать в CLI что то вроде ip static Guest PPPoE0 То в web интерфейсе ранее введенные трансляции портов не отображаются. Link to comment Share on other sites More sharing options...
0 r13 Posted July 16, 2017 Share Posted July 16, 2017 (edited) 1 час назад, gaaronk сказал: Кстати, если использовать в CLI что то вроде ip static Guest PPPoE0 То в web интерфейсе ранее введенные трансляции портов не отображаются. Да, такое поведение было заявлено при анонсе этой новой конструкции. Edited July 16, 2017 by r13 Link to comment Share on other sites More sharing options...
0 gaaronk Posted July 16, 2017 Author Share Posted July 16, 2017 On 6/16/2017 at 9:56 PM, Le ecureuil said: Есть же > ip static SRC DST, где DST - исходящий интерфейс udp preserve является платформоспецифичной реализацией NAT, потому на него не стоит полагаться в общем случае. Тогда вопрос. Можно ли при задании ip static SRC DST, где DST - исходящий интерфейс сделать опцию чтобы рандомизировать транслируемые порты для UDP, как это делается для NAT на входном интерфейсе ? По сути проблемы. Роутер с публичным ип A держит ipsec туннель с хостом B. Клиент за роутером, полнимает от себя туннель к хосту B (иногда так надо, потому что в туннеле который держит роутер бегают определенные сетки, а иногда надо поднять на клиенте впн, что бы заворачивалось все). Роутер транслирует исходящий адрес и порт клиента (для IKE) в A:500 Статический туннель A-B через некоторое время умирает, потому что IKE сообщения от B к роутеру попадают вовсе не к роутеру, а к клиенту поднявшему отдельный туннель. 1 Link to comment Share on other sites More sharing options...
0 gaaronk Posted July 20, 2017 Author Share Posted July 20, 2017 По завету Le ecureuil буду активнее в соотвесвующей теме. Даешь нормальный NAT на выход! 1 Link to comment Share on other sites More sharing options...
Question
gaaronk
Хотелось бы получить возможность делать NAT не по входящему интерфейсу, а по исходящему.
Нормальный маскарадинг с udp preserve и прочими плюшками. Без костыля в виде static.
Link to comment
Share on other sites
11 answers to this question
Recommended Posts