首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
V2EX  ›  问与答

求内网穿透方案

  •  
  •   hangvane · 103 天前 · 1246 次点击
    这是一个创建于 103 天前的主题,其中的信息可能已经有所发展或是发生改变。

    两台 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)

    11 回复  |  直到 2019-09-07 21:43:17 +08:00
        1
    vincentxue   103 天前   ♥ 2
    粗略看了下, 感觉 frp 符合你两点要求啊. 1 用端口段映射, 2 用外网和内网访问可以区分.
        2
    anyclue   103 天前   ♥ 2
    同楼上,不行 ngrok,怎么还自建上了
        3
    topbandit   103 天前
    非对称端口应该是可以改的,要用 3 条规则,没有实际用过
        4
    snable   103 天前 via Android   ♥ 1
    同意 1 楼,另外 VPS 得给力,流量出入都靠它了。
        5
    MeteorCat   103 天前 via Android
    我现在内网穿透都是无脑推荐 frp
        6
    wslzy007   103 天前
    有关端口范围映射,ovpn 与 frp 实现完全不同,ovpn 是在三层进行,而 frp 为四层代理,你懂的,他真的会给你进行 1 对 1 端口转发,上万个端口的话,算了吧,建议放弃 frp
        7
    hangvane   103 天前
    @vincentxue 非常感谢,我尝试下 frp
        8
    hangvane   103 天前
    @wslzy007 其实平常用的不多,开放的端口也就几个...主要是想一劳永逸,server 开了哪个端口,直接端口号+10000 就能通过 vps 访问就好了
        9
    suhongbo   103 天前
    个人用 FRP,还是没什么问题的
        10
    zzxzzxhao   103 天前
    frp+1
        11
    hangvane   41 天前
    frp 已搞定,作者称不适用大端口段转发,亲测绑定两台共 20000 端口能实现,具体能不能稳定运行还有待观察
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2083 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 23ms · UTC 12:22 · PVG 20:22 · LAX 05:22 · JFK 08:22
    ♥ Do have faith in what you're doing.