使用multipass + squid代理访问公司内网

需求

在办公设备上,常规环境是在宿主机内直接搭建openvpn,通过openvpn访问公司内网

为更好的保护个人隐私,意欲在一个隔离的环境通过openvpn访问公司内网,并且在访问google、baidu等网站(🦑)时不被公司vpn记录行为

需要摸索出一套环境,宿主机+虚拟机(openvpn),虚拟机中能够直接通过公司vpn访问公司内网,但是宿主机不能访问公司内网,通过设置代理地址,也能使得宿主机访问公司内网,这样就能做到可控的在openvpn下暴露指定的行为(dddd)

设备及环境

公司办公设备mac
访问公司内网openvpn
虚拟机管理器multipass

为什么选择multipass,因为docker太耗电

虚拟机内正向代理squid

为什么选择squid,因为nginx太麻烦

浏览器firefox

为什么选择firefox,因为可以设置代理地址

这样就可以通过firefox+multipass+squid+openvpn访问公司内网,但是其他浏览器比如Safari就不会经过公司内网(很好),并且开发工作直接在虚机中进行即可

搭建步骤

multipass

multipass是由Ubuntu运营公司Canonical推出的开源项目,用来创建和管理虚拟机,可以部署在Linux、macOS、Windows操作系统上,目前看起来虚拟机只支持ubuntu,不支持centos

安装步骤(https://multipass.run)

1
brew install multipass

查找当前可支持的镜像

1
multipass find

multipass find

启动实例

multipass引入了实例(instance)来对等docker中容器(container)的概念

1
2
3
4
5
6
7
multipass launch -n workspace -c 4 -d 30G -m 4G 21.10 
# launch 创建和启动一个ubuntu实例
# -n 指定实例名字
# -c 指定cpu个数
# -d 指定磁盘大小
# -m 指定内存大小
# 21.10 指定Ubuntu版本

查看

1
multipass ls

进入实例并配置相关环境

1
multipass sh workspace

配置ip转发:在/etc/sysctl.conf中将net.ipv4.ip_forward设置为1并取消注释,执行sysctl -p下注配置

squid

在ubuntu虚机中安装squid来实现正向代理

安装命令

1
apt-get install squid -y

修改squid配置:在/etc/squid/squid.confhttp_access deny all修改为http_access allow all
然后重启squid: systemctl restart squid

firefox

firefox中配置http和https代理,代理地址可通过multpass ls查看到,一般为192.168.64.*,端口squid默认为3128

-------------The End-------------