求内网穿透方案

2019-07-08 10:17:54 +08:00
 hangvane

两台 server 没有公网 ip ( server 连接的路由器倒是有教育网的 ip ),boss 想在公网访问,想利用手上一台 vps 做内网穿透,比如把 server 的 1:10000 端口映射到 vps 的 10001:20000 上

尝试的做法是 vps 上搭个 openvpn server,两台 server 连接之后用 iptables 的 DNAT 映射把 vps 指定端口转发给 10.8.0.x,但是遇到了两个问题

1 是 iptables 没法非对称映射端口段

(要么 8000→20000 单个端口映射

要么 1000:2000→1000:2000 对称映射

没法 1:10000→10001:20000 非对称的端口段映射)

2 是 server 连接 ovpn 之后,server 的全部流量都走那个 ovpn 的虚拟网卡了....

又因为从 vps 传到 server 的请求是从公网来的,源 ip 都是公网 ip,没法单独区分返回的数据包只让它走虚拟网卡...

如果配置上 no-route,那么除了来自虚拟子网、源 ip 是 10.8.0.x 的请求能通过虚拟网卡回去,

一般来自公网的请求都会尝试走物理网卡回去,也就是实际上收不到返回值...

求 v 友们提供一个大方向的思路(server 还是走自己的流量,只有来自公网→vps 的请求返给 vps,并且同时做两台 server)

3062 次点击
所在节点    问与答
11 条回复
vincentxue
2019-07-08 10:49:52 +08:00
粗略看了下, 感觉 frp 符合你两点要求啊. 1 用端口段映射, 2 用外网和内网访问可以区分.
anyclue
2019-07-08 11:24:52 +08:00
同楼上,不行 ngrok,怎么还自建上了
topbandit
2019-07-08 11:55:51 +08:00
非对称端口应该是可以改的,要用 3 条规则,没有实际用过
snable
2019-07-08 12:57:14 +08:00
同意 1 楼,另外 VPS 得给力,流量出入都靠它了。
MeteorCat
2019-07-08 13:00:58 +08:00
我现在内网穿透都是无脑推荐 frp
wslzy007
2019-07-08 13:38:55 +08:00
有关端口范围映射,ovpn 与 frp 实现完全不同,ovpn 是在三层进行,而 frp 为四层代理,你懂的,他真的会给你进行 1 对 1 端口转发,上万个端口的话,算了吧,建议放弃 frp
hangvane
2019-07-08 15:32:11 +08:00
@vincentxue 非常感谢,我尝试下 frp
hangvane
2019-07-08 15:34:10 +08:00
@wslzy007 其实平常用的不多,开放的端口也就几个...主要是想一劳永逸,server 开了哪个端口,直接端口号+10000 就能通过 vps 访问就好了
suhongbo
2019-07-08 15:39:50 +08:00
个人用 FRP,还是没什么问题的
zzxzzxhao
2019-07-08 16:12:10 +08:00
frp+1
hangvane
2019-09-07 21:43:17 +08:00
frp 已搞定,作者称不适用大端口段转发,亲测绑定两台共 20000 端口能实现,具体能不能稳定运行还有待观察

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

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

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

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

© 2021 V2EX