我需要容器能够使用sshuttle工具.我尝试在主机或包含器中的任何一种方式.但它都不会起作用.这就是我需要的:我跑:sshuttle -r mysshaccount@my.remote.server --dns 0/0 在主持人.它可以通过sshuttle帮助托管应用程序访问Internet.但对于容器,它无法解析DNS请求.似乎--dns会影响容器的DNS功能.如何让容器与主机的sshuttle一起工作?
如果我在容器内运行sshuttle也是如此.似乎容器没有"--dns"sshuttle中的选项权限.
无论如何,我需要"--dns"在集装箱中使用这个选项,因为这是在中国克服政府防火墙(GFW)的唯一途径.
有人帮忙使它工作?
mrk*_*han 13
试试sshuttle -l 0.0.0.0 --dns -vvr XXXXXX@YY.YY.YY.YY 0/0,这对我有用.我想我们需要-l 0.0.0.0使用"remote ip"的docker容器可以连接到隧道.
通常,设置0.0.0.0需要监听外部可用的接口,sshuttle也是如此.
更安全的方法如下 - 在您的主机上:
sshuttle实例,听localhost,sshuttle实例,监听docker主机的虚拟网络接口.例如:
sshuttle --dns -r <your-ssh-server> 0/0
sshuttle -l 172.17.0.1 --dns -r <your-ssh-server> 0/0
Run Code Online (Sandbox Code Playgroud)
请注意,这将干扰主机< - >容器通信(例如端口绑定),但它将允许容器的安全外部连接(您可以进一步帮助自己排除Docker的子网,例如-x 172.17.0.0/24).
您可以查看您的网桥子网并将其排除在 sshuttle 中,例如,
sudo sshuttle -l 0.0.0.0:0 -r user@host -x host -x 127.0.0.1 -x 172.21.0.0/24 -x 172.22.0.0/24 -x 172.23.0.0/24 0/0 --dns
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3144 次 |
| 最近记录: |