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

2024-06-17 1360阅读

macOS Sonoma使用docker安装EasyConnect

  • 硬软件配置以及安装背景
    • 硬软件配置
    • 安装背景
    • 需要准备的工具
    • 使用方法:
    • 具体操作
      • 1.安装docker-easyconnect
        • 1.1纯命令行版 EasyConnect(amd64 架构)
        • 1.2图形界面版 EasyConnect(x86、amd64、arm64、mips64el 架构)
        • 2.登录vpn
          • 1.使用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:59015901 端口开启 VNC 服务器,VNC连接使用这个接口。第一个端口是宿主机的端口,如果被占用改一个没被占用的端口即可。
                      -p 127.0.0.1:21080:1080Socks5 代理端口。Clash和 Proxy SwitchyOmega走Socks5代理时要配置的端口。
                      -p 127.0.0.1:28888:8888HTTP 代理端口;
                      -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.7EasyConnect 版本号 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:macOS Sonoma使用docker安装EasyConnect---docker-easyconnect

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

                        • 因为 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进行创建。

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

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

                              3.使用命令行进行登录

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

                              代理

                              1.使用Proxy SwitchyOmega进行代理

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

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

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

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

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

                                • 输入内网地址进行验证

                                  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。

VPS购买请点击我

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

目录[+]