Mac通过容器运行深信服easy Connect
摘要:公司用的深信服easy Connect进行内网连接。但是这个软件过于流氓,在windows上会占用u盘导致无法弹出,而且还会生成域名证书,想干什么不得而知。为了防止它继续祸害,决定把它丢到docker里运行。如果失败,建议用虚拟机而不是在本地安装。
安装docker
https://docs.docker.com/desktop/ 下载arm版docker desktop
安装完后进入setting,关闭docker自动更新。找到docker engineer选项,更换库源,加入以下代码:
"registry-mirrors": [ "http://hub-mirror.c.163.com", "https://docker.mirrors.ustc.edu.cn", "https://registry.docker-cn.com", "https://dockerhub.azk8s.cn", "https://reg-mirror.qiniu.com" ]
terminal输入docker info可以看到Registry Mirrors添加成功了没有。
打开terminal,输入
nohup docker run --device /dev/net/tun --cap-add NET_ADMIN -ti -e PASSWORD=mypass -e URLWIN=1 -e DISABLE_PKG_VERSION_XML=1 -p 127.0.0.1:5901:5901 -p 127.0.0.1:1080:1080 -p 127.0.0.1:8888:8888 hagb/docker-easyconnect:7.6.7 > /dev/null &
其中passwd和7.6.7可以更改为适合自1.己的版本。等拉取完(一两分钟)后容器会自动运行。在docker desktop里可以看到。
之后需要运行只需要在docker desktop里开始,停止就行。
修改clash x的配置文件
将原本的配置文件内容复制到新建的sf.yaml中。防止clash自动刷新后将修改清除。
修改sf.yaml,在proxies和rules添加如下语句:(凡是10开头的内网ip地址都走ec规则)
proxies: - { name: 'ec', type: socks5, server: '127.0.0.1', port: '1080'} rules: - 'IP-CIDR,10.0.0.0/8,ec'
如果原先的配置中就有“- ‘IP-CIDR,10.0.0.0/8”这一项,则需要把这一项删掉。
打开clash X的增强模式
连接远程桌面
- 打开mac自带的Screen Share,输入127.0.0.1:5901->输入密码(docker启动时的passwd)。此时就可以打开easy connect的登陆界面。输入账号密码登陆(注意登陆时配置文件不要选sf.yaml)。
- 登陆后切换到sf.yaml配置文件,这个时候ping 内网地址应该是通的。打开microsoft desktop,输入ip、用户名、密码登陆。
问题
- 如果ping 内网地址不通,检查yaml配置和enhance mode是否开启。还可以看看登录后有没有深信服的蓝绿色s型标识,没有的话可能会有问题。关闭容器,重启docker desktop,重新登陆。
- 登录时有问题?可以试着在终端输入ping vpn1.company_domain.com,不能ping通试着在Wi-Fi 设置添加DNS“114.114.114.114”(DNS可能会被重置,需要手动添加)后再次尝试。
Mac删除easy connect流氓进程
进入 sudo su
删除 /Library/LaunchDaemons/com.sangfor.EasyMonitor.plist
删除 /Library/LaunchAgents/com.sangfor.ECAgentProxy.plis
重启
打开秘钥串,找到深信服添加的根证书(搜索 san),删除
要使用 EasyConnect 的时候,命令行运行(普通用户身份)
/Applications/EasyConnect.app/Contents/Resources/bin/EasyMonitor
然后在启动台打开 EasyConnect.app ,可以正常使用
Windows解除Easy Connect的U盘占用
如果是windows安装了,可能导致u盘占用无法弹出的情况,在资源管理器 ‘服务’ 里,找到 SangforPWEx,SangforSP 这两个服务,把它们都停止运行,并设置启动类型为手动,防止重启电脑后再自动启动
Windwos使用clash和docker安装ec
和mac大同小异,注意win版clash需要使用tun模式而非系统代理模式。