Mikrotik:无法从外部访问端口

Mikrotik:无法从外部访问端口

我通过 Mikrotik 将本地机器上的 Web 服务暴露给外部 IP,并可以通过 访问它MY_EXTERNAL_IP:5000

但是我的 nginx 服务器无法访问MY_EXTERNAL_IP:5000。日志:

14:09:53 firewall,info dstnat: in:bridge out:(none), src-mac 60:03:08:8c:a7:30, proto TCP (SYN), 192.168.1.19:50135->MY_EXTERNAL_IP:5000, len 64 
14:09:55 firewall,info input: in:ether1 out:(none), src-mac 04:62:73:a2:55:49, proto TCP (SYN), 188.196.62.73:47850->MY_EXTERNAL_IP:5000, len 60 

Nginx 错误日志:

[error] 2048#0: *434 connect() failed (111: Connection refused) while connecting to upstream, client: MY_EXTERNAL_IP, server: MY_DOMAIN.com, request: "GET / HTTP/1.1", upstream: "http://MY_EXTERNAL_IP:5000/", host: "MY_DOMAIN.com"

为什么 nginx 服务器无法访问MY_EXTERNAL_IP:5000(导致 502 错误),否则我可以从浏览器访问?

我想我需要一条额外的防火墙过滤器规则。哪一条?

答案1

您还需要在 FORWARD 链中添加一条允许规则:

/ip firewall filter add chain=forward action=accept protocol=tcp dst-address=INTERNAL_IP dst-port=5000 log=no log-prefix=""

该规则应高于影响 FORWARD 链的任何通用阻止规则。

答案2

问题出在 NAT 设置中:我已In. Interface确定使用“Bridge”而不是“ether1”(正确的)。

相关内容