在内网工作,有时候会出现这种情况。我的电脑A能够上网,但是我通过ssh连接到的另一台机器B却不能上网。这种情况造成的后果就是,如果我需要在机器B上安装软件,往往不能通过连网的方式安装,只能通过机器A下载好源码,然后放到机器B下编译安装。显得很慢,如果需要安装的软件很琐碎,那基本要奔溃~~
正在烦恼时,同事告诉我有很好的方法可以解决我的烦恼,于是觉得应该记录下来,以后也好回看。
首先在A机器上,用pip安装proxy.py
pip install proxy.py
然后,运行:
proxy --hostname 127.0.0.1
outputs:
2020-09-04 20:09:03,722 - pid:1499979 [I] load_plugins:534 - Loaded plugin proxy.http.proxy.HttpProxyPlugin
2020-09-04 20:09:03,723 - pid:1499979 [I] listen:61 - Listening on 127.0.0.1:8899
2020-09-04 20:09:03,801 - pid:1499979 [I] start_workers:84 - Started 48 workers
这行命令的作用,是监听本地8899端口,如果8899端口有网络请求过来,则将其转给本地的http代理。
接下来,我们需要在本机A和机器B之间建立反向连接,这样就可以将B机器的网络请求转发给机器A的8899端口,从而可以使得机器B能够通过机器A上网:
ssh