Сервер в кармане, или просто о сложном!

главная - Статьи - Mikrotik



Mikrotik проброс порта (с изменением порта)

Теги: Mikrotik

Век живи, век учись! Для проброса порта 5555 с внешнего на внутренний IP делал примерно так:

add action=accept chain=forward comment="My forward rule" dst-port=5555 \
    in-interface=ether1 protocol=tcp

add action=dst-nat chain=dstnat comment="My DSTNAT rule" dst-port=\
    5555 in-interface=ether1 protocol=tcp src-port="" to-addresses=192.168.1.90 to-ports=5555

и оно работало всегда. Был уверен, что именно так и надо :)

Но вот пришлось делать проброс с изменением порта, например: 1.2.3.4:5555 -> 192.168.1.90:1111

И схема, описанная выше, дала сбой. Оказывается, все очень интересно на самом деле!

1. Пакет с адресом 1.2.3.4:5555 пришел на роутер.

2. dst-nat меняет порт с 5555 на 1111. И пакет попадает на forward уже 192.168.1.90:1111

3. У меня в конце цепочек стоит drop any from any, чтобы уж наверняка. И вот сюда и прилетал мой неправильный forward.

4. А вот как в итоге правильно было бы сделать:

add chain=forward action=accept \
in-interface=ether1 \
out-interface=ether5 \
connection-nat-state=dstnat \
protocol=tcp \
dst-address=192.168.1.90 \
dst-port=1111

В данном правиле out-interface=ether5 - число моя схема, это можно не указывать, протокол, порт и внутренний ip - меняйте как нужно вам.

Главное: порядок обработки пакетов в данном случае:

PREROUTING → DST-NAT → FORWARD → POSTROUTING

А правило dstnat как было, так и осталось. Вот так вот.



Авторизуйтесь для добавления комментариев!


    забыли пароль?    новый пользователь?






Принимаю заказы на настройку серверов, mikrotik и других роутеров, точек доступа, nginx и т.п. В пределах Санкт-Петербурга возможен выезд к заказчику. См. контакты.