两台 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)
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.