代理的原理:
关于代理的具体的书面定义你百度谷歌可以知道。这里,我想简单通过一个例子,说明代理的原理:
假如,你在北京,但你女朋友在广州,你有东西要给你的女朋友,但是正好你这几天公司有事,所以你不能去广州(也就访问不了广州)。现在,某快递可以访问广州,于是乎,你就可以将东西交给某快递,让他代替你,将东西交给你的女朋友。所以,虽然你不能访问广州,但是你可以通过某快递访问广州,同样可以达到东西交给你的女朋友的目的。所以,这个某快递就是充当代理的角色。
如果觉得我说的不清楚,看图,应该够明白的了:
虚拟机浏览器共享主机代理
通过一些工具,可以很容易达到让虚拟机共享主机代理的效果。但是,这里我要介绍,不安装任何东西,就实现共享主机代理的效果。当然,这一切的前提是你的主机已经安装了ss或者其他能够kexue上网的工具。
- 首先,打开ss的允许来自局域网的连接。意思就是:同意局域网内的网络,通过ss来上网。
- 将虚拟机网络设置为NAT模式:
- 设置浏览器代理:
不足之处
通过这种方法有一个诟病,就是虚拟机linux终端用不了你主机的代理,对于linux来说,很多时候要在终端下载东西,所以,这种通过代理设置浏览器的方法,实用性也没那么大。
丑事
在设置代理的过程中,由于自己的不小心,发生了这么囧的一幕:
后来经过检查,发现原来是自己把代理写错了(172.22.200.24是宿主机ip):
看到这里,我就想到,能不能像浏览器那样,通过设置这个系统的代理,实现终端也共享宿主机代理?就试了一下。
经过测试,不行。。。。。。原因是:ss使用socks5协议,而终端很多工具目前只支持http和https等协议.目前流行的方法是将用软件将sock5转成http/https协议。而且,我猜想:就算你用软件来转换,估计在终端也ping不同google的。因为ping程序的报文并没有使用到http/https等协议。除非你用vpn实现系统级代理。
我也懒得再装软件来测试了,如果你要这么做随意搜一下,或者参考这里
声明
这个方法不是我想出来的,是以前我不知在哪个网站看到的。实在想不出出处了,如果有人知道在哪出现过,希望告之,我会把原文章贴出来。