Mikrotik hEX 端口转发不起作用

Mikrotik hEX 端口转发不起作用

我有一个 hEX Mikrotik 路由器,出厂默认设置,最新固件。

默认情况下,它带有 eth2 到 eth5 桥接,eth1 作为“WAN”端口,以及一些防火墙规则。默认情况下,桥接网络为 192.168.0.0/24。

我有一台服务器 (192.168.0.96),其 HTTP 服务监听端口 9090,连接到桥接以太网接口之一。固定 IP,静态 DHCP 租约。

如果我遵循有关端口转发的任何示例/教程,他们会提到执行以下操作:

/ip firewall nat
add chain=dstnat dst-address=10.42.0.2 protocol=tcp dst-port=9090 action=dst-nat to-address=192.168.0.96 to-port=9090
add chain=srcnat out-interface=WAN action=masquerade

其中 dst-address=10.42.0.2 是来自 WAN 的公共地址,而 192.168.0.96 是我们要转发到的内部服务器的地址。示例中使用的端口是 1:1 映射,即来自 9090 并转发到端口 9090。我还看到了一些变体,其中他们指定“in-interface”而不是“dst-address”。

这根本不起作用。如果我设置 NAT 规则来记录,它会记录以下内容:

dstnat:输入:ether1 输出:(未知 0),src-mac ab:cd:f1:ab:cd:f2,原始 TCP(SYN),10.42.0.1:58940->10.42.0.2:9090,长度 60

好像无法解析目标地址。我可以看到规则中的数据包计数器在增加,但没有任何响应。

我只是将 Mikrotik hEX 重置为出厂设置,添加静态租约,添加 dst-nat 规则,仅此而已。我读过的每个示例都没有提到对默认设置进行任何其他操作(附加规则、删除现有规则等)。它们都只是提到添加转发规则和最多伪装规则。

我可以从连接到任何桥接以太网接口的计算机(它们都在 192.168.0.0/24 网络上)查询端口 9090 上的 HTTP 服务。

还有什么可能缺失?

编辑:在尝试更多方法并改变网络后,编辑问题详细信息以匹配我现在的配置。

我做的额外事情是从桥接器中移除 ether5 并在其自己的子网下单独设置它,以避免混乱并且无法访问路由器管理面板。

我现在没有真正的 WAN 来测试这个,所以我正在做的是在 ether1 (10.42.0.2) 上设置一个静态地址,并使用地址 10.42.0.1 连接到 Raspberry Pi,然后发出

获得http://10.42.0.2:9090 连接到 10.42.0.2:9090...

它永远留在那里。从路由器桥接网络内部执行此操作效果很好(例如,从 192.168.0.99 请求到 192.168.0.96:9090)。从 outside/ether1 通过 NAT 规则执行此操作没有任何效果,正如我所描述的那样。计数器上升,但似乎没有发生转发。

以下是导出的内容:

/ip dhcp 服务器

添加禁用=无接口=桥名称=dhcp-bridge

/ip 热点配置文件

设置 [ 查找默认值 = 是 ] html-directory = flash/hotspot

/IP 池

添加注释=“admin pool”名称=pool-admin 范围=192.168.3.2

/ip dhcp 服务器

添加地址池 = pool-admin 禁用 = 无接口 = ether5 租用时间 = 5m 名称 = dhcp-admin

/IP地址

添加地址=192.168.0.1/24 注释=地址桥接口=桥接网络=192.168.0.0

添加地址=10.42.0.2/24 接口=ether1 网络=10.42.0.0

添加地址=192.168.3.1/24 注释=addr-admin 接口=ether5 网络=192.168.3.0

/ip dhcp 客户端

添加注释=defconf dhcp-options=hostname,clientid interface=ether1

/ip dhcp 服务器租约

添加地址=192.168.0.96 mac 地址=A1:B1:D1:F1:AA:BB 服务器=dhcp-bridge

添加地址 = 192.168.0.99 mac 地址 = A2:B2:D2:F2:AA:BB 服务器 = dhcp-bridge

添加地址=192.168.0.98 mac 地址=A3:B3:D3:F3:AA:BB 服务器=dhcp-bridge

/ip dhcp 服务器网络

添加地址=10.42.0.0/24 网关=10.42.0.1 网络掩码=24

添加地址=192.168.0.0/24 注释=网络桥网关=192.168.0.1 网络掩码=24

添加地址=192.168.3.0/24 注释=网络管理员 dns-none=yes 网关=192.168.3.1 网络掩码=24

/IP DNS

设置允许远程请求=是

/ip dns 静态

添加地址=192.168.0.1 名称=router.lan

/ip 邻居发现设置

设置发现接口列表 = LAN

/ip 防火墙过​​滤器

添加操作 = 接受链 = 转发 dst-port = 9090 接口列表 = WAN 协议 = tcp src-port =“”

添加操作 = 接受链 = 输入注释 =“defconf:接受已建立、相关、未跟踪”连接状态 = 已建立、相关、未跟踪

添加操作 = 删除链 = 输入注释 =“defconf:删除无效”连接状态 = 无效

添加动作 = 接受链 = 输入注释 =“defconf:接受 ICMP”协议 = icmp

在接口列表中添加操作 = 删除链 = 输入注释 =“defconf:删除所有不是来自 LAN 的内容”=!LAN

添加操作 = 接受链 = 转发注释 =“defconf:在 ipsec 策略中接受”ipsec-policy = in,ipsec

添加操作 = 接受链 = 转发注释 =“defconf:接受 ipsec 策略”ipsec-policy = out,ipsec

添加操作 = fasttrack-connection chain = forward comment =“defconf: fasttrack” connection-state = established,related

添加操作 = 接受链 = 转发注释 =“defconf:接受已建立、相关、未跟踪”连接状态 = 已建立、相关、未跟踪

添加操作 = 删除链 = 转发注释 =“defconf:删除无效”连接状态 = 无效

添加操作 = 删除链 = 转发注释 =“defconf:删除所有来自 WAN 而非 DSTNATed”连接 nat-state = !dstnat 连接状态 = 新的接口列表 = WAN

/ip 防火墙 nat

添加操作 = dst-nat 链 = dstnat dst 端口 = 9090 接口 = ether1 日志 = 是协议 = tcp 到地址 = 192.168.0.96 到端口 = 9090

添加操作 = 伪装链 = srcnat 注释 =“defconf:伪装”日志 = 是出接口列表 = WAN

相关内容