说明
很多时候我们在主机上完成了代理的配置,为了我们在虚拟机上能够方便的进行研究,我们想让虚拟机也走代理。
原理大概是让虚拟机和主机处于同一个局域网中,将虚拟机中的流量转发到主机上,这时主机的代理软件监听到局域网内的请求,就会把流量再转发到代理服务器中。(解释的可能不严谨)
为了这一目标,我们需要在主机和虚拟机上进行一系列的配置,作者虚拟机中的系统是ubuntu,主机中的系统是win10。
ubuntu设置
首先我们要配置好虚拟机中的代理,让虚拟机把流量转发出来。在ubuntu的网络设置中可以打开下面的界面。
-
这里的ip地址填的是局域网地址,在windows的cmd下使用
ipconfig
获得,如下图所示
-
端口号根据使用代理软件的不同而不同,默认可能是1080或者是10808,这个可以在代理软件中找到,注意不是代理服务器的端口,而是本地监听端口。
-
注意只填最后一项socks host,不要填前面的https代理。这个要看代理软件本地监听端口使用的协议是什么,我了解的几个代理软件使用的协议都是socks,大家自己查找一下。
Windows设置
- 在代理软件中打开允许来自局域网的连接,这样代理软件才会去监听本地端口的流量请求。
- 在VMware中将网络设置为桥接模式,如下图:
如果不出意外的话到这里就可以使用浏览器google了。(2020/9/12更新:在一些特殊的网络环境下,也可能需要选择NAT模式,比如需要认证的校园网。不管选择什么模式,我们最终只要保证两点:1.不开启代理的情况下,虚拟机可以上网。2.虚拟机和主机位于同一个局域网内。)
虚拟机终端走代理
但是我们在终端运行的命令是不会通过我们刚刚配置好的代理的,ubuntu终端默认不支持socks协议,如果想让终端命令也走代理(加快git clone
速度,进行rosdep init
等),我们需要使用到proxychains工具。
首先输入sudo apt-get install proxychains
安装proxychains工具,然后我们需要对/etc/proxychains.conf
进行修改,将自己的代理ip地址和端口添加到ProxyList下。例如socks5 192.xxx.xxx.xxx 10808
。
最后需要使用find /usr/lib/ -name libproxychains.so.3 -print
命令输出路径,再将/usr/bin/proxychains
下的export LD_PRELOAD=libproxychains.so.3
改为export LD_PRELOAD=刚刚获得的路径
我们就可以愉快地使用proxychains工具了。想要走代理时只需要在命令前加上proxychains
即可。
今天的文章VMware虚拟机走主机代理分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/32858.html