文章

在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 进行授权