WSL2+Docker+EasyConnect实现同时境外访问和校园网访问

疫情期间,使用学校资源,需要使用VPN,尤其是在访问学校HPC资源时。

解决问题的基本思路是,借助wsl2,将EasyConnect封装在Docker里,物理机直接代理相应端口,访问学校资源。利用浏览器插件Proxy SwitchyOmega实现境外和校内资源同时访问。

  1. 已安装WSL2_Ubuntu和Docker Desktop,Docker Desktop启用wsl支持。

  2. 进入WSL2的Ubuntu Shell中,安装封装好的EasyConnect
    docker run --device /dev/net/tun --cap-add NET_ADMIN -v $HOME/.easyconn:/root/.easyconn -it -p 127.0.0.1:1080:1080 -p 127.0.0.1:8888:8888 -e IPTABLES_LEGACY=1 -e EC_VER=7.6.3 -e CLI_OPTS="-d vpn.xxxx.edu.cn -u 学号 -p 密码" hagb/docker-easyconnect:cli 如果遇到报错,挂在root/.easyconn失败,可先创建配置文件touch ~/.easyconn配置文件,再尝试运行docker run。

  3. 进入Proxy SwitchyOmega设置界面,设置socket5 127.0.0.1 1080,选择auto,将学校资源相关网址填入,即可正常访问。

  4. 如果架设在云服务器上,可能需要关闭防火墙systemctl stop firewalld.service firewall-cmd --add-port=1080/tcp firewall-cmd --reload,映射所有端口,即docker run --device /dev/net/tun --cap-add NET_ADMIN -v $HOME/.easyconn:/root/.easyconn -it -p 1080:1080 -e IPTABLES_LEGACY=1 -e EC_VER=7.6.3 -e CLI_OPTS="-d vpn.xxxx.edu.cn -u 学号 -p 密码" hagb/docker-easyconnect:cli

参考链接:
https://naiv.fun/Ops/sangfor-in-docker.html
https://zhuanlan.zhihu.com/p/485984805
https://purocean.github.io/docker-easyconnect/
https://www.cnblogs.com/zl1991/p/10531726.html
https://zhuanlan.zhihu.com/p/389894063
https://boyinthesun.cn/post/proxifier/

本文链接:

https://ma.ge/archives/525.html