纯净化安装EasyConnect:macOS Sonoma使用docker安装EasyConnect---docker-easyconnect

抹除不掉的轻狂丶 2024-07-09 12:07:03 阅读 70

macOS Sonoma使用docker安装EasyConnect

硬软件配置以及安装背景硬软件配置安装背景

需要准备的工具使用方法:具体操作1.安装docker-easyconnect1.1纯命令行版 EasyConnect(amd64 架构)1.2图形界面版 EasyConnect(x86、amd64、arm64、mips64el 架构)

2.登录vpn1.使用web登录2.使用VNC Viewer登录3.使用命令行进行登录

代理1.使用Proxy SwitchyOmega进行代理2.使用clash进行代理

总结

硬软件配置以及安装背景

硬软件配置

MacBook Pro(2.4 GHz 八核Intel Core i9)macOS Sonoma 14.4 (23E214)EasyConnect_7_6_7_4

安装背景

在公司内网访问过程中,需使用VPN。但在下载并尝试使用EasyConnect时,发现应用打开后无反应。即便通过网页登录,应用也会不断重启,严重影响了电脑的正常使用。考虑到EasyConnect的口碑及可能存在的安全风险,我决定采用一种更安全的方式——使用docker来部署EasyConnect。在网上找到一个使用docker部署EasyConnect的方案,尽管在搭建过程中遇到了不少问题,但最终还是成功解决了。以下是我的经验分享,希望对遇到类似问题的朋友有所帮助。

需要准备的工具

Docker:开源的容器引擎,对于开发者来说相当熟悉。可以从其官网下载。docker-easyconnect:让深信服的 VPN 软件 EasyConnect 或 aTrust 运行在 docker

中,提供 socks5 和 http代理服务和网关供宿主机连接使用。软件使用可以项目地址找到。VNC Viewer:远程桌面控制软件。当登录VPN需要图形验证码或手机验证码时,此软件尤为有用,可在下载地址获取软件。如果只需密码就可以登录,请忽略本软件。Clash:代理客户端,我使用的是clash-verge-rev(v1.5.8),可从下载地址获取。Proxy SwitchyOmega:Chrome代理插件,如果只浏览器访问特定代理地址时,推荐使用此插件,操作更为简便。

使用方法:

首先,安装Docker,然后下载并运行docker-easyconnect的镜像。运行成功后,将提供socks5和http代理服务及网关,供宿主机连接使用。接着,通过代理插件或Clash代理,即可实现访问内网地址。

具体操作

1.安装docker-easyconnect

1.1纯命令行版 EasyConnect(amd64 架构)

注意,纯命令行版本仅支持以下登录方式:用户名+密码、硬件特征码。

安装Docker并运行;在终端输入:

docker run --rm --device /dev/net/tun --cap-add NET_ADMIN -ti -p 127.0.0.1:1080:1080 -p 127.0.0.1:8888:8888 -e EC_VER=7.6.3 -e CLI_OPTS="-d vpnaddress -u username -p password" hagb/docker-easyconnect:cli

其中 -e EC_VER=7.6.7 表示使用 7.6.7 版本的 EasyConnect,请根据实际情况修改版本号(选择 7.6.7 或 7.6.3,详见 EasyConnect 版本选择);

根据提示输入服务器地址、登录凭据。

对于需要短信验证码或图形验证码的登录方式,此版本可能无法满足需求。因此,下面将介绍图形界面版的安装方式。

1.2图形界面版 EasyConnect(x86、amd64、arm64、mips64el 架构)

安装Docker并运行;

在终端输入:

docker run --rm --device /dev/net/tun --cap-add NET_ADMIN -ti -e PASSWORD=xxxx -e URLWIN=1 -e IPTABLES_LEGACY=1 -v $HOME/.ecdata:/root -p 127.0.0.1:5901:5901 -p 127.0.0.1:21080:1080 -p 127.0.0.1:28888:8888 -p 127.0.0.1:54530:54530 -p 127.0.0.1:54631:54631 hagb/docker-easyconnect:7.6.7

末尾 EasyConnect 版本号 7.6.7 请根据实际情况修改;arm64 和 mips64el 架构需要加入 -e DISABLE_PKG_VERSION_XML=1 参数;

这是一个使用 Docker 运行 EasyConnect VPN 客户端的命令,下面是各个参数的解释:

项目 Value
docker run 这是 Docker 的基本命令,用于运行一个新的容器。
–rm 运行容器后,容器执行完毕会自动删除。调试完成后,这个参数后期要删除
–device /dev/net/tun 让容器可以直接使用宿主机上的 /dev/net/tun 设备。这在需要在容器中建立网络隧道时是必须的。
–cap-add NET_ADMIN 是不可少的。 因为 VPN 要创建 tun 网络接口。为容器添加NET_ADMIN能力,这允许容器管理网络设置,例如设置IP地址、路由等。
-ti 这是两个参数 -t 和 -i 的组合。参数 -t 分配一个伪终端或终端,并且 -i 让容器的标准输入保持开启。
-e PASSWORD=xxxx 设置容器内的环境变量 PASSWORD 的值为 xxxx。使用VNC时要输入这个密码,可以自行设置自己常用的密码。
-e URLWIN=1 默认为空,此时当 VPN 前端想要调用浏览器时,不会弹窗,若该变量设为任何非空值,则会弹出一个包含链接的对话框供用户复制。
-e IPTABLES_LEGACY=1 - 默认为空。设为非空值时强制要求 iptables-legacy。使用旧式的 iptables 命令,主要目的是和 WSL 保持兼容。在部分发行版的 WSL 版本上,缺少了这个环境变量会使得 VPN 不能正常运行。(非必要不选)
-v $HOME/.ecdata:/root 挂载宿主机的 $HOME/.ecdata 目录到容器的 /root 目录。这样,容器可以访问宿主机上的这个目录,并且任何在容器中对这个目录的修改都会反映到宿主机上。
-p 127.0.0.1:5901:5901 5901 端口开启 VNC 服务器,VNC连接使用这个接口。第一个端口是宿主机的端口,如果被占用改一个没被占用的端口即可。
-p 127.0.0.1:21080:1080 Socks5 代理端口。Clash和 Proxy SwitchyOmega走Socks5代理时要配置的端口。
-p 127.0.0.1:28888:8888 HTTP 代理端口;
-p 127.0.0.1:54530:54530 将容器的 54530(EasyConnect)端口映射到宿主机,之后便可以在宿主机上打开 VPN 服务器的网页进行登录。
-p 127.0.0.1:54631:54631 将容器的 54631(aTrust) 端口映射到宿主机,之后便可以在宿主机上打开 VPN 服务器的网页进行登录。
hagb/docker-easyconnect:7.6.7 EasyConnect 版本号 7.6.7 请根据实际情况修改;

2.登录vpn

1.使用web登录

参考1.2安装docker-easyconnect,使用EasyConnect需要开启54530端口,使用aTrust的开启54631。下面是我使用EasyConnect的命令:

docker run --rm --device /dev/net/tun --cap-add NET_ADMIN -ti -e URLWIN=1 -v $HOME/.ecdata:/root -p 127.0.0.1:21080:1080 -p 127.0.0.1:28888:8888 -p 127.0.0.1:54530:54530 hagb/docker-easyconnect:7.6.7

web登录安装命令

会有报错,忽略就好,不影响使用

因为 EasyConnect 使用了一份自签证书,所以使用EasyConnect web 登录需要提前在相应浏览器打开https://127.0.0.1:54530 并选择忽略证书错误。打开自己内网vpn登录地址,进行登录即可。

2.使用VNC Viewer登录

安装好远程桌面控制软件VNC Viewer,具体安装方法就不介绍了。参考1.2安装docker-easyconnect,需要开启5901 端口来连接 VNC 服务器,如果宿主机的端口被占用,改一个没被占用的端口即可。下面是一个实例:

docker run --rm --device /dev/net/tun --cap-add NET_ADMIN -ti -e PASSWORD=xxxx -e URLWIN=1 -e IPTABLES_LEGACY=1 -v $HOME/.ecdata:/root -p 127.0.0.1:5901:5901 -p 127.0.0.1:21080:1080 -p 127.0.0.1:28888:8888 hagb/docker-easyconnect:7.6.7

使用VNC Viewer进行连接:打开 VNC Viewer,点击左上角的 File -> New connection,在弹出的对话框中的 VNC Server 中填入 127.0.0.1:5901 (宿主机的端口),Name 随便填一个。然后点击ok进行创建。

在这里插入图片描述

创建完成以后,双击打开,需要输入密码xxxx(安装docker-easyconnect时设置的密码),然后就会跳出登录的界面,正常进行登录就行。

3.使用命令行进行登录

参照1.1,这种只适用用户名密码登录的客户端。

代理

1.使用Proxy SwitchyOmega进行代理

Proxy SwitchyOmega是一个Chrome的插件,如果使用代理只是为了浏览网页,建议使用这种方式。

在插件市场安装好插件后(当然这种插件会有很多,自己找一个可用的即可),打开插件的选项,首先配置代理服务器。

在这里插入图片描述

协议选Socks5,代理端口写宿主机的端口。情景模式配置好规则,点击应用选项。

在这里插入图片描述

输入内网地址进行验证

2.使用clash进行代理

docker run -d --restart=always --restart=on-failure --device /dev/net/tun --cap-add NET_ADMIN -ti -e URLWIN=1 -v $HOME/.ecdata:/root -p 127.0.0.1:21080:1080 -p 127.0.0.1:28888:8888 -p 127.0.0.1:54530:54530 hagb/docker-easyconnect:7.6.7

-d:以后台模式运行容器。

–restart=always:容器退出时总是重启容器。

–restart=on-failure:容器退出时,如果退出状态码不为 0,则重启容器。

总结

总结一下,纯净化安装EasyConnect一共三步,第一步是安装docker-easyconnect,第二步是登录vpn,第三步是使用代理软件进行代理转发。

安装docker-easyconnect时,需要判断是否要使用图形化界面进行登录,如果需要参考2.1、2.2章节。

登录vpn有三种方式,只需要用户名和密码就能登录的直接使用命令行进行登录。如果需要图形验证码,就需要使用web登录或者VNC Viewer登录,两种二选一即可。

代理转发可以使用浏览器插件或者clash。浏览器插件的优点是简单,无需安装新软件。缺点是如果连接数据库,git等资源时无法代理,这时就需要使用clash。



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。