NAT 环回可以端口转发吗

2020-01-27 21:26:07 +08:00
 helllkz
在 openwrt 上配置了外网的端口转发,外网访问的时候是没问题的,但是如果在内网访问外网 IP 的话,如果能让端口转发生效呢?
比如 nextcloud 之类的,外网访问域名,回家了还修改成内网 IP 就好麻烦啊
8173 次点击
所在节点    宽带症候群
16 条回复
cwbsw
2020-01-27 21:32:32 +08:00
你设置端口转发的时候就没看到 NAT Loopback 那个选项吗,而且应该是默认打开的。
stille
2020-01-27 21:35:14 +08:00
L 大的 openwrt 10.25 之后的版本编译出来貌似都无法回环.
我是刷回 10.25 版才支持
已经有人反馈了
Buges
2020-01-27 21:48:46 +08:00
从路由的角度来说,因为包没有进行 SNAT,所以内网建立的连接,把包发到路由器的外网 ip 地址,但回来的包源地址是运行服务的设备的内网 ip 地址,本机就会将其丢弃。解决方法是为 DNAT 添加对应的 SNAT:
假设你的端口转发由以下 DNAT 规则实现:
#iptables -t nat -A PREROUTING --dst <路由器的公网 ip 地址> -p tcp --dport <路由器上暴露的端口> -j DNAT --to-destination <内网运行服务的 ip:端口>

那么添加一条对应的 SNAT 规则修正包的源地址:
#iptables -t nat -A POSTROUTING -p tcp --dst <内网运行服务的 ip> --dport <内网运行服务的端口> -j SNAT --to-source <路由器的内网地址>

这样回复的包会被发给路由器,防火墙在对其进行 Un-DNAT 操作将包发回本机。
swiftg
2020-01-27 21:57:19 +08:00
openwrt 19.07 默认配置,luci 里设置了端口转发就行了,不用其他配置。内网外网都可以用
mikeguan
2020-01-27 22:01:43 +08:00
这个不算回环吧,你可设置内网域名解析解决
EvineDeng
2020-01-27 23:16:13 +08:00
dnsmasq 将域名指向内网 ip ?
fetich
2020-01-27 23:42:39 +08:00
NAT Loopback 大流量情况下,对路由器要求高,造成传输效率低,搞不好就死机了。

不知你使用的工具对处于局域网和互联网的同一机器优先级判定是如何的,可以同时指定互联网 DDNS 的域名,然后在指定一个内网解析的域名,这样处于互联网时通过端口转发访问,处于内网是优先使用内网地址直链(不通过路由器转发)
fetich
2020-01-27 23:45:16 +08:00
具体的端口转发的规则是如何设定的?例如 3389 转发 3389,还是 13389 转发 3389 ?

建议设定相同的转发,不然在内网可能会有问题(没测试过),不过效率会低(见 #6 回复)
helllkz
2020-01-28 15:22:18 +08:00
@cwbsw
设置了的,我把外网的 12345 端口转发到 OP 的 80 端口,在内网通过外网 IP 访问 12345 端口是没问题的,可以访问到 OP
但是然后我把外网的 5000 转发到内网群晖的 5000 端口,就没法转发了
@swiftg
端口转发里面选择了 NAT 环回的

@fetich
不同端口都没问题,但是好像只能转发到 OP 本机上,不能转发到其他内网设备上
superhack
2021-01-13 21:08:08 +08:00
@Buges 赞,你这个方案一针见血
holiday2coder
2021-02-08 23:03:53 +08:00
老哥 这个问题你后来解决了吗 我现在跟你一样的问题
holiday2coder
2021-02-08 23:04:08 +08:00
@helllkz 老哥 这个问题你后来解决了吗 我现在跟你一样的问题
helllkz
2021-02-09 08:48:17 +08:00
@holiday2coder 目前用自定义挟持域名搞的
holiday2coder
2021-02-09 21:11:09 +08:00
@helllkz 意思就是改本地 host 直接解析域名到内网 nas 的 ip ?
holiday2coder
2021-02-10 21:24:00 +08:00
@helllkz 兄弟 我问题解决啦 哈哈哈
blankmiss
2022-11-29 23:25:49 +08:00
@holiday2coder 咋解决的

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

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

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

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

© 2021 V2EX