macOS借助vmware隔离运行aTrust,实现宿主机“干净”连入局域网

macOS借助vmware隔离运行aTrust,实现宿主机“干净”连入局域网

·

1 min read

aTrust是深信服原easyconnect的升级产品,重点打造了一个“零信任”的概念,就是这个概念让我头皮发麻,其在官网直接挂着

终端检测深入:支持进程级检测,可发现和阻止终端上非可信应用进程;在登录时、每一次访问业务时,对终端环境持续进行检测和认证,确保终端合规。

这和病毒有什么差别么?所以我当然不能让这种糟粕运行在我的macOS宿主机上,于是我开始了折腾之旅。

第一步,申请个人免费的vmware

这个申请的方法大家可以在网上搜一下,有很多详细的图文教程,我后面会考虑补充一篇博客,但现在没时间搞。

当然你也可以试试免费的Oracle VM VirtualBox,理论上来说也是一样可用的。

第二步,下载debian 11的镜像文件

我要特别讲一下为什么要下载debian 11,这是因为atrust官方提供的linux安装包特别强调了自己支持的是国产化的uos和麒麟os,但是咱们下载下来以后是一个deb文件,经过我自己测试,将deb包转为rpm包以后,在centos 7/centos 7.5/centos 8上都无法安装。

当然我不排除是我自己操作有问题,大家如果特别喜欢用centos的,可以考虑自己折腾一下。但是centos已经不维护了,在使用过程中会有一些问题。

经过我自己的测试,debian 11是可以使用的。

debian 11的镜像推荐大家用BT种子的方式,实测比直接通过镜像站下载的速度更快,但请不要使用迅雷这类只下载不上传的“吸血”软件。 BT种子官网下载地址:debian-11.6.0-amd64-DVD-1.iso 其他版本的镜像大家可以自行在官网查找

补充信息:BT下载软件推荐qbittorrent,请在下载成功以后保持至少24小时运行时间以供其他人从您本地获取文件。如果您有NAS服务器那就更好 请不要使用迅雷这类只下载不上传的“吸血”软件

第三步,使用vmware引导安装debian 11

这里我就不写具体的操作步骤了,请注意:

  1. 虚拟机网络要选择桥接(这非常重要)

  2. 你需要安装桌面才能打开atrust登录你的账号

  3. 语言选择的时候直接选择中文,否则时区在启动后修改比较麻烦,很可能导致无法使用apt-get update更新

可能会遇到的问题

无法执行apt-get update或者是速度较慢

可以改用镜像源,修改/etc/apt/sources.list文件的内容,这里用aliyun举例:

deb https://mirrors.aliyun.com/debian/ bullseye main non-free contrib
deb-src https://mirrors.aliyun.com/debian/ bullseye main non-free contrib
deb https://mirrors.aliyun.com/debian-security/ bullseye-security main
deb-src https://mirrors.aliyun.com/debian-security/ bullseye-security main
deb https://mirrors.aliyun.com/debian/ bullseye-updates main non-free contrib
deb-src https://mirrors.aliyun.com/debian/ bullseye-updates main non-free contrib
deb https://mirrors.aliyun.com/debian/ bullseye-backports main non-free contrib
deb-src https://mirrors.aliyun.com/debian/ bullseye-backports main non-free contrib

然后再执行apt-get update即可

如果你一直遇到更新失败,你可以按照这个检查顺序:

  1. ping mirrors.aliyun.com 看看能否ping通网络

  2. 检查 ping mirrors.aliyun.com 返回的IP是否是宿主机可以ping通的IP,以此确认是不是dns解析存在问题。存在问题可以通过修改debian 11上的/etc/hosts文件来解决

  3. 检查时区/时间是否正确

第四步,在debian 11中安装atrust

atrust下载客户端时,选择amd 64 麒麟Kylin即可,官网似乎没有找到下载介绍页,这个地址应该是有各个团队/企业的VPN登录页提供的

下载完的deb安装包,可以通过scp命令直接传输到debian中,当然也可以使用一些sftp客户端

安装deb时,需要带上相关的依赖,你可以执行

sudo apt-get -f install atrust.deb

debian 11默认安装过程中没有开启root账号的ssh远程登录配置,你得去把这个打开,或者你直接在虚拟机页面中执行

第五步,debian开启路由转发

通过修改/etc/sysctl.conf文件中的net.ipv4.ip_forward的值改为1,并执行sysctl -p使得配置生效即可 再把debian的防火墙关闭即可

第六步,macOS宿主机修改路由a

sudo route add 1.0.0.0/8 【这里写上debian虚拟机的IP地址】

这样就可以了

1.0.0.0/8这个是我随便写的,如果你们用的是192,或者172的开头的IP地址,那么就是192.0.0.0/8或者172.0.0.0/8。 当然如果你本地的IP地址就是192开头的,那么你可能需要拆得更细致一点。假设你本地的IP地址是192.168.1.100,你的内网地址是192.168.31开头,那么你的shell脚本就应该是

sudo route add 192.168.32.0/24 【这里写上debian虚拟机的IP地址】

这个地方需要你对网络有一定的了解,添加成功以后可以使用telent命令确认一下是否能通特定的端口

此外你还需要注意两点:

  1. 这个debian虚拟机用的是桥接模式,所以每次连接新的路由器可能会拿到不同的IP,这时候你需要删掉之前的路由,然后加上新的路由

         sudo route delete 1.0/8
    
  2. 对于内部使用域名访问的服务,则需要修改macOS宿主机的hosts文件,或者你本地自建一个dns服务来处理

这样做了以后,不管你是ping还是 telnet 还是 curl 或者是socket连接都可以无感体验,debian 11推荐1c1g的配置即可,肯定会比你直接在macOS宿主机上登录atrust会耗电一些。如果有条件的话,也可以把debian 11部署到其他的电脑上。

其他你可能需要了解的

macOS宿主机更换网络以后如何处理?

我尝试过单独重启网络

sudo systemctl restart networking

但实际没有效果,具体原因我暂时也没时间去搞了,我目前是通过重启debian 11来解决的

sudo systemctl reboot -i

为什么不使用docker而选择虚拟机?

macOS上的docker本质上也是一个运行在虚拟机中的,并且docker在官网已经明确说明macOS上的docker服务无法实现从宿主机到docker容器的通信

GitHub上也有相关的解决方案(docker-connector),如果你感兴趣的话,你可以动手尝试一下。docker安装debian 11以后,安装一个vnc server即可解决atrust客户端登录的问题,其他操作应该和我这篇博客的方法相差不大