akelsey
@akelsey

Как фильтровать dnat/forward в микротик/mikrotik/iptables?

Всегда настраивал фильтрацию в таблице NAT.
Прочитал что лучше этого не делать. А дальше, завис.

Скажите как правильно, или почему у меня не жизнеспособна следующая конструкция:
1. Хочу сделать MASQUERADE для всей LAN, возьмем прям вот обычную 192.168.0.24 - делаем MASQUERADE - прекрасно все работает изнутри во вне, но нам этого не нужно.
2. Мы берем дропаем все пакеты с Source LAN на All PPP - в цепочке FORWARD - прекрасно, ничего не работает - как надо.
3. Добавляем правила Filter/Forward/Established - accept, Filter/Forward/Related - accept, Filter/Forward/Invalid - drop (загоняем под предыдущее правило)
4. Создаем правило DNAT - src.address=Разрешенный, dst.port:22 - dnat 192.168.0.100:22 (помещаем его выше всех), думаю что это будет работать - и упс облом.

Syn уходит в роутер, Syn/Ack в роутер не приходит.
Хочется разобраться, разбираюсь, но пока не сильно получается (где то у меня недопонимание с состояниями contrack - но при попытке разрешить новые пакеты из LAN - они получают полный интернет). Прошу помощи сообщества и гуру iptables/mikrotik. Может моя система вообще не реализуема? (разрешить нужное, запретить всё)
Ссылки на полезную документацию с примерами best practices реализации фильтрации транзитных запросов - приветствуются. А то проще вернуть все в таблицу NAT...
  • Вопрос задан
  • 1091 просмотр
Решения вопроса 1
akelsey
@akelsey Автор вопроса
спасибо, стоит только задать вопрос, в любом случае задача у меня сформулирована была лукаво )
я бился на порт условно 5505 - а он DNATился в 22 :-)
Посмотрел Wireshark и обомлел от своей невнимательности, ведь порт уже подменен, а я таблице FORWARD пытаюсь разрешить коннект на старый порт.
Всё схема жизнеспособна, еще не уверен на 100%, но похоже я близок. За ссылку спасибо, посмотрю.
PS
Да подтверждаю, что ошибка была в том что порт DNATился в другой, а в таблице Filter (цепочке forward), попытка фильтрации была по старому порту, хотя он уже был в DNAT подменён (что логично). Проблема решена, всем спасибо.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@efkot
для начала как микротик обрабатывает пакеты
wiki.mikrotik.com/images/b/bf/Whats_New_in_MikroTi...
коротко, сначала мангл (ставим метки) --> дальше фильтр --> затем нат

ваш случай, метим весь трафик кроме нужного (через восклицательные знаки) дальше дропаем всё что меченно, дальше наш полезный трафик уходит на нат, или наоборот метим нужный трафик, дропаем всё что без метки, и в нат
Ответ написан
Комментировать
EvilMan
@EvilMan
Использовать -m conntrack --ctstate DNAT (опционально можно ещё использовать дополнительные ключи - полный список по iptables -m conntrack --help).
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы