背景:内网穿透,想用 server 的 port:20001-30000 代理虚拟子网里另一台服务器的 port:1-10000,其他都搞定了就差 NAT 了
目前进度:
将 server 的 28000 端口请求转发给虚拟子网 10.8.0.8 的 8000 端口,可以访问到
iptables -t nat -A PREROUTING -p tcp --dport 28000 -j DNAT --to-destination 10.8.0.8:8000
iptables -t nat -A PREROUTING -p udp --dport 28000 -j DNAT --to-destination 10.8.0.8:8000
尝试将 28000-30000 端口请求转发到 8000-10000,结果是只有首条 28000→8000 有效,其他无效
iptables -t nat -A PREROUTING -p tcp --dport 28000:30000 -j DNAT --to-destination 10.8.0.8:8000-10000
iptables -t nat -A PREROUTING -p udp --dport 28000:30000 -j DNAT --to-destination 10.8.0.8:8000-10000
查阅到了一篇相关文章,文章结论如下
“当匹配的端口在映射端口的区间内时,那么端口号不会被修改。如果匹配端口不在映射端口的区间内,则大多数情况下映射端口号为最小的端口号,即映射端口号是不可预测的。
举例:
[1000-2000] 映射到[1000-2000]时会一一映射
[1000-2000] 映射到[3000-4000]结果不可预知,一般会映射到 3000 端口。”
这篇文章的结论符合目前的情况,但是接下来还能怎么做呢?
难道写个脚本添加 10000 条 iptables 规则进去?这也太...
emm 如果真的没法了那我就试试别的内网穿透工具,目前刚好是有 ovpn server 所以先拿 ovpn 试了下...
希望能得到 v 友的解答,不胜感谢!
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.