Jump to content

Как настроить фильтр в RouterOS для проброса одного порта на другой?


Recommended Posts

Posted

Добрый день!

 

Я пробрасываю входящий трафик с опубликованного порта 5922 на 22 порт хоста 192.168.255.2.

 

На Cisco работает.

!
interface Dialer0
ip access-group FW_in in
!
ip nat inside source static tcp 192.168.255.2 22 interface Dialer0 5922
ip nat inside source list NAT interface Dialer0 overload
ip route 0.0.0.0 0.0.0.0 Dialer0
!
ip access-list extended FW_in
permit tcp any any eq 5922
!

 

На RouterOS не работает.

/ip firewall filter
add chain=forward dst-port=5922 in-interface=ether1 protocol=tcp

/ip firewall nat
add action=masquerade chain=srcnat out-interface=ether1
add action=dst-nat chain=dstnat dst-port=5922 in-interface=ether1 \
protocol=tcp to-addresses=192.168.255.2 to-ports=22

 

Если отключить правило дропа, в конце цепочки forward, то начинает работает.

Т.е. фильтр не ловит обращение по TCP на 5922, а пропускает его дальше.

 

Если порты везде одинаковые, то всё отлично работает.

/ip firewall filter
add chain=forward dst-port=22 in-interface=ether1 protocol=tcp

/ip firewall nat
add action=masquerade chain=srcnat out-interface=ether1
add action=dst-nat chain=dstnat dst-port=22 in-interface=ether1 \
protocol=tcp to-addresses=192.168.255.2 to-ports=22

 

Вопрос: Что я делаю те так? Или что-то с микротиком?

Posted

Если отключить правило дропа, в конце цепочки forward, то начинает работает.

Все правила файрвола покажите.

 

/ip firewall filter
add chain=input connection-state=established,related
add chain=forward connection-state=established,related
add action=drop chain=input connection-state=invalid,new
add action=drop chain=forward connection-state=invalid

/ip firewall nat
add action=masquerade chain=srcnat out-interface=ether1
add action=netmap chain=dstnat dst-port=5922 in-interface=ether1 protocol=tcp to-addresses=192.168.255.2 to-ports=22

Работает без проблем.

Posted

Если отключить правило дропа, в конце цепочки forward, то начинает работает.

Все правила файрвола покажите.

 

/ip firewall filter
add chain=input connection-state=established,related
add chain=forward connection-state=established,related
add action=drop chain=input connection-state=invalid,new
add action=drop chain=forward connection-state=invalid

/ip firewall nat
add action=masquerade chain=srcnat out-interface=ether1
add action=netmap chain=dstnat dst-port=5922 in-interface=ether1 protocol=tcp to-addresses=192.168.255.2 to-ports=22

Работает без проблем.

 

Конечно работает, ведь вы дропаете только соединения со статусом invalid, а всё остальное пропускаете.

Я же говорю про случай, когда всё запрещено, к проходению в сеть. Что вам даст если я покажу "Все правила файрвола"? Всё - это очень много. Для проблемы существенны именно те, которые я показал.

 

Для примера. Вот так не работает.

/ip firewall filter
...
add action=fasttrack-connection chain=forward connection-state=established,related
add chain=forward connection-state=established,related
add chain=forward src-address=192.168.255.0/24
add chain=forward dst-port=5922 in-interface=ether1 protocol=tcp
add action=drop chain=forward connection-state=invalid
add action=drop chain=forward in-interface=ether1

/ip firewall nat
add action=masquerade chain=srcnat out-interface=ether1
add action=dst-nat chain=dstnat dst-port=5922 in-interface=ether1 protocol=tcp to-addresses=192.168.255.2 to-ports=22

Posted

а всё остальное пропускаете.

А что за forward может быть "остальным" при NAT? Приведенными правилами запрещен весь входящий трафик, который не подпадает под разрешенные в правилах трансляции и файрвола соединения.

add chain=forward src-address=192.168.255.0/24

Смысл этого правила в рамках проблемы? Или это метод научного тыка? Вот из-за подобных вывертов и было предложено показать все правила. Логику обработки трафика в МТ уже почитайте.

Posted

1. Под "остальным" я понимаю другие пакеты, не только со статусом инвалид. Для чего их пропускать на НАТ? Пусть фильтр делает то для чего он нужен - фильтрует.

2. В том-то и дело, что в рамках проблемы и так всё было в достаточном количестве указано. add chain=forward src-address=192.168.255.0/24 только для вас написал.

3. Для чего разводить палемику если вы решения проблемы не знаете?

 

Проблема решена.

DST-NAT отрабатывает ещё в PREROUTING => когда пакет достигает фильтра порт в нём уже изменён.

В моём случае 5922 уже изменён на 22.

http://wiki.mikrotik.com/wiki/Manual:Packet_Flow_v6

Join the conversation

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

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...
На сайте используются файлы cookie и сервисы аналитики для корректной работы форума и улучшения качества обслуживания. Продолжая использовать сайт, вы соглашаетесь с использованием файлов cookie и с Политикой конфиденциальности.