Mikrotik 端口转发

Mikrotik 端口转发

我正在尝试在 mikrotik 上打开一个端口。这是我所做的:

  • 我去 IP-防火墙-NAT

  • 添新

-在一般部分,我设置:链:dstnat,协议:6(TCP),目标端口:5252

  • 在操作部分,我设置:操作:dst-nat,目标地址:192.168.1.236,目标端口:5252

我保存了配置。

但当我测试端口时,显示端口已关闭。我做错了什么?我还应该做什么?谢谢!

答案1

首先,DNAT 规则仅执行地址重写 - 您还需要筛选允许数据包转发的规则。IP > Firewall > Filterforward链中添加一条。

家用路由器中的“端口转发”通常将两个规则合并为一个配置,但在本质上它们是两个独立的东西,并且 RouterOS 也将它们分开(非常类似于 Linux 上的 iptables)。

  • “转发”过滤在 DNAT 之后(但在 SNAT 之前)进行检查,因此,如果您为每个转发端口添加单独的规则,则过滤规则应该检查新的目标地址和端口,例如:
    dst-address=192.168.236.1 protocol=tcp dst-port=5252 action=accept

  • 或者,您可以添加一个 catch-all 规则,通过检查 conntrack 自动允许所有已经匹配 DNAT 规则的内容,例如:
    connection-nat-state=dstnat action=accept

其次,查看规则计数器以确保规则确实匹配;可能是您的 ISP(或沿途的其他东西)首先阻止了入站数据包到达您的路由器。如果需要,请在规则上启用日志记录,甚至添加一些额外的,如果您对数据包到达有任何疑问,action=log请使用数据包捕获工具( )。/tool/sniffer/quick

最后,外部测试无法真正区分“被路由器拒绝”和“被内部主机拒绝”,因为内部主机借用了路由器的 IP 地址,因此从外部看,它们看起来是一样的。也就是说,即使您的端口转发规则都很好,服务器本身也需要接受连接——它需要有一些东西监听该端口它的防火墙规则需要在输入时接受它 - 以使端口显示为“打开”。

答案2

你所做的应该有效。

因此下一步就是排除故障以找出它不起作用的原因。

如果您有笔记本电脑,请将您的 WiFi 与您的移动热点连接起来,以将自己置于网络之外。

假设你使用的是 Windows,下载文件。保存后,打开命令提示符并导航到保存文件的位置。

运行 paping 并 ping 到 WAN IP 和端口:例如paping 123.45.67.89 -p 5252

Paping 现在将每秒测试一次连接。要么超时(显示红色文本),要么 ping 成功(显示绿色文本)。

如果是绿色,则一切正常。

在 paping 运行时,转到 NATRule 统计页面,并确保在图表中看到峰值。如果看到峰值,则 mikrotik 端设置正确。如果没有看到峰值,则 NAT 规则甚至没有达到。

如果 NAT 规则有效,请确保您连接的服务器没有阻止连接或服务已关闭。还要仔细检查 IP 地址。

如果 NAT 规则不起作用,请确保您是从外部进行测试,并且内部路由和防火墙规则没有阻止它。此外,如果您确实在内部,则可能需要添加 mascerade 规则。

相关内容