在docker中运行easyconnect
在docker中运行easyconnect
由于业务需要,需要通过EasyConnect连接VPN服务器后,获得内网IP,然后再通过ssh连接业务服务器。但是我并不想在自己的电脑上安装该客户端(传闻流氓)。之前简单搜索中发现了“在docker中运行easyconnect”,见此github仓库。今天进行了测试,简单做个记录。
背景
docker-easyconnect中提供了CLI、GUI两种镜像,其中CLI支持amd64结构,GUI支持x86、amd64、arm64、mips64el架构。两种都会启动socks5、http代理服务(类似于v2ray等代理软件)。GUI版本额外提供VNC服务供连接图形界面进行登录。
测试环境
vpn服务器官方的客户端是7.6.7.3。
s01-z是一台x86架构的客户端,ubuntu 22.04系统。主要测试CLI版本。
MacMini M4是一台arm架构的客户端(M4芯片),MacOS系统。测试CLI、GUI版本。
通过代理连接ssh服务的命令为:ssh -o ProxyCommand='nc -x <ip>:<port> %h %p' <user>@<host>。
s01-z测试记录
拉取docker镜像(使用了镜像代理)。
1
docker pull docker.1ms.run/hagb/docker-easyconnect:cli
运行服务。
1
2
3
4
5
6
7
8
9
10
docker run \
--rm \
--device /dev/net/tun \
--cap-add NET_ADMIN \
-ti \
-p 127.0.0.1:1082:1080 \
-p 127.0.0.1:8889:8888 \
-e EC_VER=7.6.7 \
-e CLI_OPTS="-d https://<ip>:<port> -u <username> -p <password>" \
docker.1ms.run/hagb/docker-easyconnect:cli
ssh连接服务器,成功。
MacMini M4测试记录
按照同样的方法拉取CLI版本镜像,不管是否添加DISABLE_PKG_VERSION_XML=1环境变量,都出现svpn stop自动停止的错误,无法成功使用。
拉取GUI版本的镜像。
1
docker pull docker.1ms.run/hagb/docker-easyconnect:7.6.7
运行服务。
1
2
3
4
5
6
7
8
9
10
11
12
docker run \
--rm \
--device /dev/net/tun \
--cap-add NET_ADMIN \
-ti \
-e PASSWORD=<vnc password> \
-e URLWIN=1 \
-e DISABLE_PKG_VERSION_XML=1 \
-p 127.0.0.1:5901:5901 \
-p 127.0.0.1:1082:1080 \
-p 127.0.0.1:8889:8888 \
docker.1ms.run/hagb/docker-easyconnect:7.6.7
使用macos自带的屏幕共享或者Remote Desktop Manager软件连接VNC后,按照向导操作登录VPN即可。
注意,需要添加DISABLE_PKG_VERSION_XML=1绕过第四位版本号,否则仍然出现登录问题。
至此,成功将easyconnect封印到了容器中。
本文由作者按照 CC BY 4.0 进行授权