Я хочу настроить переадресацию портов для tcp
порт 8000
-> 192.168.1.16:4200
на моем Mikrotik RouterOS.
Я сделал следующее:
/ip firewall nat add dstnat chain=dstnat action=dst-nat to-addresses=192.168.1.16 to-ports=4200 protocol=tcp dst-address=<PUBLIC_IP> dst-port=8000
Когда я пытаюсь использовать службу из Интернета, просто зависает следующая команда:
curl <PUBLIC_IP>:8000
Я вижу, как счетчики движутся по правилу NAT Mikrotik (через WebBox).
На целевой машине я вижу следующее в netstat -an | grep 4200
:
tcp 0 0 0.0.0.0:4200 0.0.0.0:* LISTEN
tcp 0 0 192.168.1.16:4200 <REMOTE_HOST>:37720 SYN_RECV
Я подтвердил, что могу подключиться к машине локально через curl 192.168.1.16:4200
.
Не могу понять, что может быть не так :(
ОБНОВИТЬ: Правила фильтра межсетевого экрана:
/ip firewall filter
add action=accept chain=input comment="defconf: accept established,related,untracked" connection-state=established,related,untracked
add action=drop chain=input comment="defconf: drop invalid" connection-state=invalid
add action=accept chain=input comment="defconf: accept ICMP" protocol=icmp
add action=drop chain=input comment="defconf: drop all not coming from LAN" in-interface-list=!LAN
add action=accept chain=forward comment="defconf: accept in ipsec policy" ipsec-policy=in,ipsec
add action=accept chain=forward comment="defconf: accept out ipsec policy" ipsec-policy=out,ipsec
add action=fasttrack-connection chain=forward comment="fasttrack - except for ipsec" connection-mark=!ipsec connection-state=established,related
add action=accept chain=forward comment="defconf: accept established,related, untracked" connection-state=established,related,untracked
add action=drop chain=forward comment="defconf: drop invalid" connection-state=invalid
add action=drop chain=forward comment="defconf: drop all from WAN not DSTNATed" connection-nat-state=!dstnat connection-state=new in-interface-list=WAN