xiaoyao9933
V2EX  ›  问与答

咨询一个端口映射的问题,用于外网访问内网

  •  
  •   xiaoyao9933 · Mar 21, 2015 · 2531 views
    This topic created in 4095 days ago, the information mentioned may be changed or developed.
    各位大神,我想通过vpn的方式访问单位内网,我现在遇到如下的一个端口映射问题。

    单位内网ip的服务器:openvpn服务,监听0.0.0.0:1195。
    具有联通公网ip的极路由:开了dropbear,监听0.0.0.0:22,同时绑定了动态域名xx.com
    假定内网服务器访问外网服务器不受内容审查。

    我现在想要构造映射:
    xx.com:1195 --> 内网服务器:1195

    我目前尝试了的手段是:
    在内网服务器执行了如下指令
    autossh -M 0 -o "ServerAliveInterval 10" -o "ServerAliveCountMax 3" -NfR 0.0.0.0:1195:localhost:1195 [email protected]

    但经过一段时间实验,发现存在两个问题是:
    1. 效率低:ssh传输效率不高。
    2. 可用性低:即使用了autossh,也经常发生通道假死,或者通道无法自动重连。

    各位v友是否更可靠的手段?
    14 replies    2015-03-22 16:30:50 +08:00
    BUPTGuo
        1
    BUPTGuo  
       Mar 21, 2015
    ngrok,前一段注意到有这个内网映射外网的
    hjc4869
        2
    hjc4869  
       Mar 21, 2015
    同求,我主要是在学校的内网想把电脑的TCP 3389端口映射到服务器上,这样我随时随地都能用手机RDP。。。
    ssh映射我就没成功过,后来就没怎么研究了
    BinbinWang
        3
    BinbinWang  
       Mar 21, 2015
    有路由器权限的话 直接端口 映射 不就可以么
    GG668v26Fd55CP5W
        4
    GG668v26Fd55CP5W  
       Mar 21, 2015 via iPhone
    好像有个叫狗洞工具,可以试试
    zealic
        5
    zealic  
       Mar 21, 2015
    SSH 通道有干扰
    xiaoyao9933
        6
    xiaoyao9933  
    OP
       Mar 21, 2015
    @BUPTGuo 你是指自己搭建一个ngrok服务器么?我想利用联通公网ip的原因,就是想让延迟降低。
    xiaoyao9933
        7
    xiaoyao9933  
    OP
       Mar 21, 2015
    @BinbinWang 路由器无法主动的判断内网服务器的nat后的端口号,没法映射。
    xiaoyao9933
        8
    xiaoyao9933  
    OP
       Mar 21, 2015
    @falcon05 我看了一下,狗洞的官网介绍文字简洁到看不懂。。并且似乎没有提供自己搭建握手服务器的方式。我还是想选个成熟的工具。
    xiaoyao9933
        9
    xiaoyao9933  
    OP
       Mar 21, 2015
    @zealic 那有办法改善么?
    infong
        10
    infong  
       Mar 21, 2015 via iPhone
    不知道n2n能不能满足要求,建立一个虚拟局域网…然后用socat/netcat做映射。
    ETiV
        11
    ETiV  
       Mar 21, 2015
    @hjc4869

    ssh 默认 -fNR 只监听公网机的 127.0.0.1.
    解决这问题需要公网机上 sshd_config 的一个配置 "GatewayPorts yes".

    为了安全我单独开了一个 sshd, 除了有上面的配置, 还加了一行: "AllowUsers nologin"
    这样, 只有 nologin 这个用户才能连到这个 sshd 监听的端口, 而它是没有shell的.
    NewYear
        12
    NewYear  
       Mar 21, 2015
    @hjc4869 我记得有一种端口映射工具 通过upnp把内网端口映射出去 网关无设置
    xiaoyao9933
        13
    xiaoyao9933  
    OP
       Mar 22, 2015
    @infong socat可以直接建立反向链接么? 类似于ssh -R的功能?
    infong
        14
    infong  
       Mar 22, 2015 via iPhone
    @xiaoyao9933 这个不太清楚,我目前采用是n2n的方案…
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2864 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 56ms · UTC 04:09 · PVG 12:09 · LAX 21:09 · JFK 00:09
    ♥ Do have faith in what you're doing.