LINUX.ORG.RU
решено ФорумAdmin

Не работает port forwarding на микроте

 ,


0

2

Привет, ЛОР. Не могу настроить на микроте проброс портов. Казалось бы, задача вполне себе лёгкая, да только вот ничего не работает.

Стоит значит роутер, за ним реверс прокся в виде nginx.

[admin@router.net.internal] > /ip/firewall/nat/print
Flags: X - disabled, I - invalid; D - dynamic
 0    chain=srcnat action=masquerade out-interface=ether1

 1    chain=dstnat action=dst-nat to-addresses=10.20.30.245 to-ports=80 protocol=tcp in-interface-list=WAN dst-port=80

 2    chain=dstnat action=dst-nat to-addresses=10.20.30.245 to-ports=443 protocol=tcp in-interface-list=WAN dst-port=443

 3    chain=dstnat action=dst-nat to-addresses=10.20.30.245 to-ports=80 protocol=tcp in-interface-list=WAN dst-port=65000

 4    chain=srcnat action=masquerade packet-mark=nat-loopback

[admin@router.net.internal] > /ip/firewall/mangle/print
Flags: X - disabled, I - invalid; D - dynamic
 0    chain=prerouting action=mark-packet new-packet-mark=nat-loopback passthrough=yes connection-state=new dst-address=95.0.0.76 in-interface=bridge1

[admin@router.net.internal] > /ip/firewall/filter/print
Flags: X - disabled, I - invalid; D - dynamic
 0    ;;; accept established,related
      chain=forward action=accept connection-state=established,related log=no log-prefix=""

 1    chain=forward action=accept connection-state=established,related connection-nat-state=dstnat in-interface=ether1 log=no log-prefix=""

 2    chain=forward action=drop connection-state=invalid log=no log-prefix=""

 3    chain=forward action=drop connection-state=new connection-nat-state=!dstnat in-interface=ether1 log=no log-prefix=""

Вроде всё просто. Через dnat я пробрасываю порты, а чтобы работало из самой сети, я настраиваю mangle, который будет помечать мне пакеты, чтобы я в дальнейшем мог подменять адрес. Я что-нибудь с filter нахимичил? Вроде нет. Да и выключал я все правила, всё равно не работает. Думал, может провайдер режет http, но другие протоколы не работают, с разными портами пробовал, так что дело точно не в этом. Не понимаю ничего короче. Nmap пишет что порт закрыт. Сама реверс прокся доступна, если курлом постучаться на адрес, то всё окей. Может мне кто-нибудь объяснить что идёт не так?

in-interface-list=WAN туда посмотреть, вдруг трогали и убрали оттуда ваш интерфейс

Банально создать разрешающее правило в filter, постучаться на порт и посмотреть увеличится ли счётчик

ps да и проверить, что от провайдера пришёл белый IP, к примеру можно включить микротиковский cloud и он ругнётся в случае серого IP

Flotsky ★★
()
Последнее исправление: Flotsky (всего исправлений: 1)

Когда подключаешься, следи за счётчиками у правил, может увидишь куда пакет залетает. Не вижу у тебя на forward-е ACCEPT для 10.20.30.245 80,443,65000

anonymous
()

mangle тут не поможет.

ты когда сделал dst-nat в локалку из локалки у тебя пакет не на микрот возвращается а прям на клиента локалки.

чтоб заработало еще надо src-nat добавить чтоб пакеты на 10.20.30.245 из локалки уходили от ip микртотика.

как-то так:

chain=srcnat action=src-nat to-addresses=10.20.30.1 protocol=tcp src-address=10.20.30.0/24 dst-address=10.20.30.245 dst-port=443 log=no log-prefix=""

у тебя скорей всего это chain=srcnat action=masquerade packet-mark=nat-loopback не отрабатывает из локалки в локалку в forward не заходит.

cylon17
()
Последнее исправление: cylon17 (всего исправлений: 2)

0 chain=prerouting action=mark-packet new-packet-mark=nat-loopback passthrough=yes connection-state=new dst-address=95.0.0.76 in-interface=bridge1

зачем это, если в nat правиле можешь dst-ip указать?
nat-loopback обходится другим костылем

/ip fi nat
add chain=srcnat src-add=10.20.30.0/24 dst-add=10.20.30.0/24 out-interface=bridge1 action=masquerade


forward firewall
/ip fi fi
add chain=forward connection-state=established,related action=accept
add chain=forward connection-state=new in-interface=bridge1 action=accept
add chain=forward in-interface=ether1 connection-nat-state=dstnat action=accept

Kolins ★★★
()
12 апреля 2024 г.

Короче, я решил не мучаться и просто завёл для порт-форвардинга отдельную подсеть, получается по одному правилу и в целом работает замечательно.

Подводных пока не вижу, но оно работает же, так что наверное окей.

Pierre_Dolle
() автор топика