RouterOS 如何完美做端口转发?

2023-02-06 10:04:45 +08:00
 imydou

网络上搜索到的配置基本差不多,照做之后有一个问题,启用 dst-port=24680 的规则后,内网连接任意公网 IP 的 24680 端口被转发到内网 10.0.100.2 。

求大神指点。

相关 firewall 配置:

/ip firewall nat
add action=masquerade chain=srcnat comment="defconf: masquerade" \
    ipsec-policy=out,none out-interface=!bridge out-interface-list=WAN
add action=masquerade chain=srcnat dst-address=10.0.0.0/16 src-address=\
    10.0.0.0/16
add action=dst-nat chain=dstnat comment=win10 dst-port=24680 protocol=tcp \
    to-addresses=10.0.100.2 to-ports=3389
2335 次点击
所在节点    问与答
10 条回复
Rysle
2023-02-06 10:22:57 +08:00
加个 in-interface 参数限制一下,只对公网来的请求进行转发就可以了
RRyo
2023-02-06 10:32:00 +08:00
ros 默认的话你 pppoe 等公网方向会在 WAN 列表 所以
/ip firewall nat
add action=dst-nat chain=dstnat comment="ONLY FROM WAN" in-interface-list=WAN dst-port=24680 protocol=tcp to-addresses=10.0.100.2 to-ports=3389

顺便强烈不建议对 RDP 端口进行公网暴露,高位端口卵用没有,这种高危险性的服务只应该内网访问,外网建议使用 VPN 接回
carbon
2023-02-06 10:39:46 +08:00
以上方法。
或者:添加 dst-address-list 参数限制下,还有回流。https://www.jianshu.com/p/5869f1f2e1df
codingadog
2023-02-06 10:41:57 +08:00
我用的最简单的办法,绑定 mac 固定 ip ,然后针对此 ip 的端口做转发。不用做什么回流之类的那一步。
imydou
2023-02-06 10:46:38 +08:00
@RRyo #2 这样配置,好像内网不能通过公网 IP 访问
keyfunc
2023-02-06 10:47:40 +08:00
RouterOS 的 Wiregurad 很好用,推荐用这玩意~
RRyo
2023-02-06 11:22:39 +08:00
@imydou #5
要加 hairpin NAT

add action=masquerade chain=srcnat comment="Hairpin NAT" dst-address=10.0.0.0/16 out-interface=lan src-address=10.0.0.0/16
arfaWong
2023-02-06 15:30:27 +08:00
@RRyo 搭车请教个问题

add chain=dstnat action=accept protocol=udp src-address=10.10.0.2 dst-port=53
add chain=dstnat action=dst-nat to-addresses=10.10.0.2 to-ports=53 protocol=udp dst-port=53
add chain=srcnat action=masquerade src-address=10.10.0.0/16 out-interface=pppoe-out1

10.10.0.1 --> 网关
10.10.0.2 --> 内网 dns 服务器

目前 dhcp 分配的是 10.10.0.1 dns ,想通过劫持的方式修改局域网内的 dns 为 10.10.0.2 。按照上面的配置, 内网 dns 服务器能收 dns 解析请求并成功解析,但是客户端无法收到解析结果。如果将 masquerade 规则里的 out-interface 删除,客户端是可以收到解析结果的,但此时内网 dns 服务器就不能记录客户端 ip 地址(显示的是网关的 ip )。请问有什么办法解决吗?
ZRS
2023-02-06 20:29:13 +08:00
@RRyo 你这个 Hairpin NAT 写法,如果不下挂交换机的话,所有内网设备互访都要走路由做 NAT 了,有性能和便利性上的问题吧…
RRyo
2023-02-08 08:49:09 +08:00
@ZRS #9 他前面发的是个 B 类的,所以我给他回复的也是 B 类,正常来说是同一个 /24 的划分,有且仅有访问路由器 WAN 方向地址才会过 NAT ,其它情况下互访都是一个子网,不过路由的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/913498

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX