在 Docker 容器中使用 Checkpoint VPN SSL Network Extender CLI 会导致错误:“虚拟网络适配器初始化和配置失败”

在 Docker 容器中使用 Checkpoint VPN SSL Network Extender CLI 会导致错误:“虚拟网络适配器初始化和配置失败”

我正在尝试使用 Checkpoint 的命令行工具来使用证书 (P12) 而不是密码来设置 SSL Network Extender VPN。

我尝试了解决方案这里

具体来说:

  • 构建 800007075
  • 编译为 32 位(根据接受的答案)

我能够连接 OS X 桌面客户端,但命令行工具抛出以下错误:

Virtual Network Adapter initialization and configuration failed. Try to reconnect.

我使用以下命令在具有 Ubuntu 18.04 基础映像的 Docker 容器中运行连接(一旦我让它工作,我会将其移植到轻量级的东西):

RUN snx -s <server_ip> -c <path_to_cert> -g

答案1

使用 MacOS,我会下载/使用最新的 Mac OS Check Point 官方版本客户,这是 CheckPoint 积极支持的,而不是使用 Docker。

在莫哈韦使用 Checkpoint 的客户端已经有几个月了,与我年初的经验相反,在 High Sierra,它一直表现不佳,现在相当稳定。

至于snx在 Docker 中运行 Linux CheckPoint VPN 客户端/是行不通的。

VPNsnx客户端例程:

  • 检查内核是否存在/正在加载的 tun 内核模块;
  • 加载/安装内核模块(如果未加载);
  • 创建并使用结果通斯尼克斯虚拟网络接口;
  • 操纵你的路由表;
  • 通过虚拟发送流量通斯尼克斯界面。

其中部分或全部操作不会简单地发生在 Docker 容器内。

TDLR snxDocker 内部将无法工作。使用 Mac 本机客户端,或snx在 Linux VM 上运行 Linux VPN 客户端。

附言。我建议熟悉容器和虚拟机之间的区别。

答案2

我刚刚在 docker 镜像中连接了 SNX,所以这是可能的。

一些技巧:

  -v /lib/modules:/lib/modules \
  -v /dev:/dev \
  --cap-add=ALL \

我的方法是首先让它在 Virtualbox 映像中运行,然后列出所有已安装的软件包,最后将所有这些软件包安装在 docker 映像上。

我怀疑需要一些 X 相关的包,现在是时候修剪图像并猜测真正需要哪些包了。

答案3

哈维尔的回答对我帮助很大。

首先我在主机上成功连接,然后我尝试在容器中连接。

还需要一些其他文件夹:

docker run -v /bin:/bin -v /lib:/lib -v /sbin:/sbin -v /usr:/usr --cap-add=ALL -it my_image bash

相关内容