近日,我想实现一个简单的需求,通过 Socks5 服务器代理 Linux 虚拟机上的所有网络请求。通过以下方式基本可以达到我的预先目标
方式一:在虚拟机运行 ss-local,设置虚拟机的 ALL_PROXY
方式二:在宿主机运行 Socks 客户端,设置虚拟机的 Network Proxy
但是,在虚拟机运行命令 sudo curl
ip.gs ,返回的是宿主机所在区域的 IP 地址,而不是代理服务器的 IP 地址。在虚拟机终端运行的网络请求的命令似乎不会全部通过 Socks5 服务器。只能通过 proxychains 强制网络请求通过代理服务器传送。很偶然的,了解到 Mellow IO,几乎完美地解决我的需求。我非常期待深入理解软件工作原理。如果可以的话,烦请各位提供一个学习路线图,可能我需要从计算机网络开始学习。另外,我已经做好从入门到放弃的心理准备。
以下是我的设备信息
宿主机:Windows 7 or Windows 10
虚拟机:Ubuntu 18.04
虚拟软件:VirtualBox or VMware workstation player
代理服务器:Socks5