纯净化安装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
会有报错,忽略就好,不影响使用。
因为 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。
上一篇: 云计算基础架构平台搭建,云计算平台开发与运维,搭建openstack平台
下一篇: Linux纯命令行以源码编译安装gcc(2024年2月5日)
本文标签
纯净化安装EasyConnect:macOS Sonoma使用docker安装EasyConnect---docker-easyconnect
声明
本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。