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

2019-02-16 14:42:45 +08:00
 gouchaoer2

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

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

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

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

搜了半天不知道啥原因

2028 次点击
所在节点    程序员
3 条回复
gouchaoer2
2019-02-16 14:53:55 +08:00
netstat 运行是在 docker 内部的,在内部 ssh 或者 plink 就没有去绑定端口
gouchaoer2
2019-02-16 15:22:15 +08:00
关了吧,我傻逼,造成这个的原因是,plink 是不可用的,但是 ssh 是可用的
我用 netstat 的时候原来一直是加了-anp 选项,发现 plink 不可用,然后检测 ssh 的时候没有加-anp 选项
这就导致一部分绑定的连接没有出来
ferock
2019-02-16 15:27:44 +08:00
结帖

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/535609

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX