V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
gouchaoer2
V2EX  ›  程序员

docker 容器内部为啥用 ssh 无法建立基于 ssh 的 sockets5 代理?

  •  
  •   gouchaoer2 · 2019-02-16 14:42:45 +08:00 · 2129 次点击
    这是一个创建于 2111 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我在这个 docker 容器内部需要给自己挂个 sockets5 代理,而代理服务器是一个有 ssh 访问权限的云主机,可是当用我 plink 或者 ssh 自带的命令建立 ssh 隧道代理的时候:

    ssh -qTfnN -D 1080 root@代理服务器 ip 地址
    

    输入 ssh 密码后,netstat 发现本地的 1080 端口没有进程去绑定。然后我不用 docker 到 host 上试了一下,发现又可以 ssh 隧道代理工作正常

    在 docker 容器内部,我随便开了一个 http 应用去绑定 80 端口,发现是正常工作的,奇怪了…

    搜了半天不知道啥原因

    3 条回复    2019-02-16 15:27:44 +08:00
    gouchaoer2
        1
    gouchaoer2  
    OP
       2019-02-16 14:53:55 +08:00
    netstat 运行是在 docker 内部的,在内部 ssh 或者 plink 就没有去绑定端口
    gouchaoer2
        2
    gouchaoer2  
    OP
       2019-02-16 15:22:15 +08:00
    关了吧,我傻逼,造成这个的原因是,plink 是不可用的,但是 ssh 是可用的
    我用 netstat 的时候原来一直是加了-anp 选项,发现 plink 不可用,然后检测 ssh 的时候没有加-anp 选项
    这就导致一部分绑定的连接没有出来
    ferock
        3
    ferock  
       2019-02-16 15:27:44 +08:00 via iPhone
    结帖
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3110 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 19ms · UTC 14:31 · PVG 22:31 · LAX 06:31 · JFK 09:31
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.