lingoJay
V2EX  ›  问与答

虚拟机通过 NAT 进行 ssh 时好时坏

  •  
  •   lingoJay · May 28, 2018 · 2800 views
    This topic created in 2910 days ago, the information mentioned may be changed or developed.

    家里电脑上的虚拟机通过端口转发想实现在公司 ssh 连接虚拟机,之前在家里测试的时候连接没有问题(通过手机热点给另外一台电脑接 4g 网络然后通过路由器 wan ip 连接进虚拟机进行测试的)。

    然后在公司尝试多次,大多都是 telnet 都不通,偶尔能 ssh 上,真的只有 20 分之一的成功概率。开始怀疑公司网络设置了障碍,后来又通过 4g 热点的办法进行测试,还是同样现象。

    后来也尝试了 nmap 之类的命令,咨询公司的网络工程师,回复说转发不稳定属于正常现象。。。

    有网络大佬解惑一波嘛,个人感觉路由转发应该不至于不稳定到这种程度吧? tks

    7 replies    2018-05-29 07:10:56 +08:00
    BOYPT
        1
    BOYPT  
       May 28, 2018
    MTU 之类的问题?
    最好是用 ngrok 之类的在自己云服务器转发,特稳定。
    goodryb
        2
    goodryb  
       May 28, 2018
    家里电脑上的虚拟机通过端口转发想实现在公司 ssh 连接虚拟机

    为何会用到 NAT,正确做法应该是内网穿透或者端口转发吧

    如果你有公网 IP,那虚拟机直接桥接,路由器做公网某端口到虚拟机 22 端口转发,在绑定个动态域名
    如果没有公网 IP,考虑 ngrok 做内网穿透
    lingoJay
        3
    lingoJay  
    OP
       May 28, 2018
    @BOYPT 还没买...后续考虑。也在考虑 ngrok 试用看看。

    @goodryb 其实就是端口转发,天翼网关=>华为路由器=>桥接虚拟机(华为路由器管理界面把这功能叫 NAT ),也不知道是哪一步不稳定,现在都连不上了。
    lingoJay
        4
    lingoJay  
    OP
       May 28, 2018
    @goodryb 公网 ip 其实就是电信宽带的 wan ip。
    huangya
        5
    huangya  
       May 28, 2018
    1.你用的是 22 端口吗?还是其他端口?
    2. 在虚拟机上抓包,看有没有包到到达。
    3.在物理机上架设一个 ssh server,看有没有包过来.
    4. 用 nc 命令在虚拟机和物理机上架设一个简单的 server, 然后看 nc client 能否与之交互。

    你先回答这些问题,然后我们看怎么办。
    lingoJay
        6
    lingoJay  
    OP
       May 28, 2018 via iPhone
    @huangya 是 22 端口,你说的方法我试试。现在就是没有排查思路
    ldysdu
        7
    ldysdu  
       May 29, 2018 via iPhone
    没准就是 isp 的问题,小端口号联通不稳定,改成 5622 试试?
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1042 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 23:24 · PVG 07:24 · LAX 16:24 · JFK 19:24
    ♥ Do have faith in what you're doing.