Перейти к содержимому
Калькуляторы

Вопрос по firewall

Что-то не соображу, как должен быть настроен firewall, чтобы работал dstnat.

 

В локальной сети есть устройство 10.20.0.101 с веб-интерфейсом (порт tcp/80).

Нужно дать к нему доступ извне:

/ip firewall nat add action=dst-nat chain=dstnat comment=WAP1 dst-port=65101 in-interface=pppoe-out1 protocol=tcp to-addresses=10.20.0.101 to-ports=80

Но при попытке доступа на http://public-ip:65101 веб-интерфейс устройства не открывается, хотя счетчик правила тикает.

Добавляю правило в firewall:

/ip firewall filter add action=accept chain=forward protocol=tcp

Так работает, веб-интерфейс открывается.

В списке соединений нахожу нужное:

/ip firewall connection print
Flags: E - expected, S - seen-reply, A - assured, C - confirmed, D - dying, 
F - fasttrack, s - srcnat, d - dstnat 
 #          PR.. SRC-ADDRESS           DST-ADDRESS           TCP-STATE  
 ...
 6  SAC   d tcp  xxx.xxx.124.80:24282  xxx.xxx.127.40:65101  established

Уточняю правило (добавляю dst-port):

/ip firewall filter add action=accept chain=forward dst-port=65000-65535 protocol=tcp

И веб-интерфейс недоступен, счетчик правила не тикает.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

/ip firewall filter add action=accept chain=forward protocol=tcp connection-nat-state=dstnat

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Это несущественно, с connection-nat-state=dstnat такое же поведение.

Если убираю dst-port — все работает. Добавляю dst-port — работать перестает.

Пробовал вместо диапазона 65000-65535 указывать одиночный порт 65101 — то же самое, с заданным портом правила веб-интерфейс снаружи недоступен.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Там вроде по пакет флоу файрволл срабатывает после дст-ната. Вы это учли?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

8 минут назад, VolanD666 сказал:

Вы это учли?

Не знал, но сейчас попробовал добавить.

Не помогло. Как только добавляю в правило dst-port=80, правило сразу перестает работать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Какой адрес? IP-адрес я в правиле вообще не указывал, задавал только chain, action, protocol. Когда добавляю еще и dst-post — перестает работать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Оставьте одно правило разрешающее все DNAT-соединения и почистите таблицу соединений(да, на Mikrotik-ах это приходится делать в таких случаях в отличие от традиционного Linux-а). Не, если у вас правилами NAT рулит один человек, а файрволом другой, то я бы заморочился, а так - не плодите сущности.

 

Ну и да, правило с разрешением всех NAT-соединений желательно поместить повыше, в район тех правил где разрешаются related и established-соединения(но после правил fasttrack)

 

Еще учтите, что может залипнуть fasttrack и новодобавленные "хитрые"(не знаю как точно назвать) правила применятся минут так через энцать(в отличие от простых топорных allow tcp как у вас). Тут кроме ребута всей шайтан-коробки или выключения/включения fasttrack ничего не сделать - только ждать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

18 минут назад, Pinkbyte сказал:

на Mikrotik-ах это приходится делать в таких случаях в отличие от традиционного Linux-а).

ситуации, когда на микротике приходится чистить вручную таблицу соединений ПОЛНОСТЬЮ соответствуют аналогичному поведению "обычного линукс" соответствующей версии ядра, ибо это он самый линукс и есть , с надстройкой по администрированию.

ну кроме как раз таки случаев с fasttrack - не пользуюсь, не знаю.

у меня нет ситуаций , в которых он мог бы работать в принципе.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Just now, LostSoul said:

ситуации, когда на микротике приходится чистить вручную таблицу соединений ПОЛНОСТЬЮ соответствуют аналогичному поведению "обычного линукс" соответствующей версии ядра, ибо это он самый линукс и есть , с надстройкой по администрированию.

 

Штука в том, что я помню ядро 3.3 достаточно хорошо. И там мне это приходилось делать ровно НОЛЬ раз. Вы забываете, что fasttrack накладывает свои особенности на работу стандартного линуксового conntrack. И грабли - они именно в нём. Но обычно это не критично, потому что глобальные conntrack-правила редко изменяют

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

что за сценарий использования, в котором применим fasttrack ? ну кроме чисто wifi точки доступа или моста

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Стандартно входящий dstnat разрешается условием connection-nat-state=!dstnat в правиле drop all,  т.е 

 

/ip fi fi add chain=forward action=drop connection-state=new connection-nat-state=!dstnat in-interface-list=WAN

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

@alibek , если вы тестируете изнутри сети, то не сработает, т.к. in-interface изнутри сети другой, и для прохода "изнутри-внутрь" нужен nairpin nat.
Если тестируете извне - важен порядок правил и не режется ли чего в forward. И не натится ли лишнего в src-nat
 

 

6 часов назад, alibek сказал:

/ip firewall nat add action=dst-nat chain=dstnat comment=WAP1 dst-port=65101 in-interface=pppoe-out1 protocol=tcp to-addresses=10.20.0.101 to-ports=80

Для тестирования изнутри сети лучше использовать:
/ip firewall nat add action=dst-nat chain=dstnat comment=WAP1 dst-port=65101 dst-address=<public-ip> protocol=tcp to-addresses=10.20.0.101 to-ports=80
/ip firewall nat add action=masquerade chain=srcnat comment=hairpin-nat dst-port=80
 src-address=10.20.0.0/24 dst-addtress=10.20.0.101  protocol=tcp 

Изменено пользователем nkusnetsov

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.