WatchGuard 官方仅提供适用于 Windows 和 Mac 的客户端。但我发现它在内部使用 openvpn。我无法从 Linux 连接到 WG。
有人真的能做到这一点吗?怎么做到的?
答案1
以下是我为使 WatchGuard/Firebox SSL VPN 在 Ubuntu 11.10 上运行所做的事情:
获取所需文件
您将需要以下文件:
- 证书
- 客户端证书
- 客户端.pem
- 客户端.ovpn
从 Windows 计算机
您将需要访问可以安装其客户端的窗口计算机。
- 按照说明安装其客户端。
- 首次登录(这将在 WatchGuard 目录中生成一些文件)
- 从 WatchGuard 目录复制文件
- Windows XP:
C:\Documents and Settings\{Username}\Application Data\WatchGuard\Mobile VPN\
- Windows Vista/7:
C:\Users\{Username}\AppData\Roaming\WatchGuard\Mobile VPN\
- Windows XP:
- 其中重要的是 ca.crt、client.crt、client.pem 和 client.ovpn(请注意,client.pem 可能是以 .key 结尾的其他名称)。
- 将这些文件复制到您的 Ubuntu 系统。
从 Firebox SSL 框
这是来自 Watchguard 网站。我还没有直接尝试过这些说明,但它们看起来很合理。
http://customers.watchguard.com/articles/Article/2870?retURL=/apex/knowledgeHome&popup=false
摘自他们的文件:
- 启动 WatchGuard System Manager 并连接到您的 Firebox 或 XTM 设备。
- 启动 Firebox 系统管理器。
- 单击“状态报告”选项卡。
- 单击位于窗口右下角的“支持”。
- 单击“浏览”以选择计算机上要保存支持文件的路径。单击“检索”。等待从 Firebox 下载支持文件。这可能需要 20-30 秒。将出现一个对话框,告知您下载何时完成。默认情况下,支持文件的名称类似于 192.168.111.1_support.tgz。
- 将支持文件解压到计算机上您可以轻松访问的位置。
- 将原始文件中的 Fireware_XTM_support.tgz 文件解压缩到同一位置。
Ubuntu 上需要的软件
您将需要安装一些软件包才能从 Ubuntu 进行连接(假设是桌面版,服务器版的情况可能有所不同)。
- openvpn(可能已经安装)
sudo apt-get install openvpn
- 网络管理器打开 vpn 插件
sudo apt-get install network-manager-openvpn
- Gnome 的网络管理器 OpenVPN 插件(从 Ubuntu 12.04 开始需要)
sudo apt-get install network-manager-openvpn-gnome
从命令行测试
您可以从命令行测试连接是否正常工作。您不必这样做,但它可能会让事情变得更容易。
从目录中复制 config/crt 文件:
sudo openvpn --config client.ovpn
设置网络管理器
网络管理器是顶部面板栏中的图标(当前为向上/向下箭头)。您需要从文件中取出几行,client.ovpn
因此请在编辑器中打开它以供参考。
这是一个例子client.ovpn
:
dev tun
client
proto tcp-client
ca ca.crt
cert client.crt
key client.pem
tls-remote "/O=WatchGuard_Technologies/OU=Fireware/CN=Fireware_SSLVPN_Server"
remote-cert-eku "TLS Web Server Authentication"
remote 1.2.3.4 1000
persist-key
persist-tun
verb 3
mute 20
keepalive 10 60
cipher AES-256-CBC
auth SHA1
float 1
reneg-sec 3660
nobind
mute-replay-warnings
auth-user-pass
- 点击网络管理器图标
- 选择 VPN 连接->配置 VPN...
- 选择添加。
- 选择 VPN 选项卡
- 对于用户证书,选择 client.crt 文件(从行中
cert
) - 对于 CA 证书,请选择 ca.crt 文件(从该
ca
行) - 对于私钥,请选择 client.pem 文件。(从该
key
行) - 对于我的设置,我还需要将类型设置为
Password with Certificates (TLS)
(从auth-user-pass
行)。 Gateway
来自该remote
行。您需要复制服务器名称或 IP 地址。在此示例中为“1.2.3.4”
其余设置位于“高级”区域(底部的高级按钮)。在“常规”选项卡中:
Use custom gateway port
使用该行中的最后一个数字remote
。在此示例中为“1000”Use TCP connection
来自该proto
行。在本例中为 tcp-client。
在“安全”选项卡下:
Cipher
来自该cipher
行。(在此示例中为 AES-256-CBC)- “HMAC 身份验证”来自该
auth
行。(在此示例中为 SHA1)
在 TLS 身份验证选项卡下:
Subject Match
来自“tls-remote”行。(在此示例中为 /O=WatchGuard_Technologies/OU=Fireware/CN=Fireware_SSLVPN_Server)
我还需要在“路由...”按钮下的“IPv4 设置”选项卡下选中“仅将此连接用于其网络上的资源”。
可能需要进行更多设置,具体取决于 Firebox SSL 的设置方式,但希望这可以作为起点。如果遇到问题,您可能还需要查看系统日志 (tail -fn0 /var/log/syslog)
答案2
软件要求
sudo apt-get install network-manager-openvpn-gnome
或者对于极简主义者来说:
sudo apt-get install openvpn
获取证书和配置
适用于运行 11.8+ 版本的 Watchguard XTM 设备
看来https://yourrouter.tld/sslvpn.html用于获取 Windows 客户端的页面现在还包括通用 ovpn 配置下载,保存了解决方法中的步骤。只需登录并转到该目录即可获取您的配置文件。恭喜您与您的 Windows 和 Mac 好友平等。
跳至“创建新的 VPN 连接”步骤。
对于运行 11.7 或更低版本的 Watchguard XTM 设备
这些可以直接从防火墙中检索(用您自己的服务器替换):
- 去
https://watchguard_server and authenticate to the firewall
。 - 去
https://watchguard_server:4100/?action=sslvpn_download&filename=client.wgssl
或者(我认为这不太安全,因为密码是在请求中发送的)(用您自己的替换服务器、用户和密码):
https://watchguard_server:4100/?action=sslvpn_download&filename=client.wgssl&username=youruser&password=yourpass
将 client.wgssl 移动到您想要存储配置和证书的位置,可能是 /etc/openvpn。这会对您造成 tar 炸弹,因此您需要创建一个文件夹以便将其解压到其中。
跑步tar zxvf client.wgssl
创建新的 VPN 连接
打开网络连接并添加新内容。对于类型,在 VPN 下,选择“导入已保存的 VPN 配置...”浏览您提取的 client.wgssl 文件夹中的 client.ovpn 文件。
添加凭据
编辑新创建的连接以包含您的用户名和密码,或将密码设置为“始终询问”。
警告:密码以可逆的加密方式保存。
调整网络
如果你不想让 VPN 接管你的所有流量,只让去往远程位置的流量进入 IPv4 设置选项卡 -> 路由,并选中“仅将此连接用于其网络上的资源”
答案3
如果有疑问,或者想了解某些领域的更多详细信息,请参阅@Paul Hutchinson 的回答在这里。
我想稍微简化和浓缩一下说明,并提供一些来自 Ubuntu 22.04 的屏幕截图,以展示如何在最新版本的 Ubuntu 上执行此操作。
在 Linux Ubuntu 上设置对 WatchGuard Firebox SSL VPN 的访问
在 Ubuntu 22.04 上测试。
我第一次从这里了解到如何做到这一点:https://tech.teaddict.net/2017/01/11/watchguard-vpn-with-linux/,因此向该作者致以衷心的谢意。
首先,你需要有一台安装了WatchGuard Firebox SSL已安装并运行。
在具有有效 VPN 的 Windows 计算机上,转到
C:\Users\myusername\AppData\Roaming\WatchGuard\Mobile VPN
,并将以下 4 个文件复制到您的 Ubuntu 计算机:ca.crt client.crt client.ovpn client.pem
确保将它们放到 Ubuntu 上时都在同一个文件夹中。
在 Ubuntu 上,安装依赖项:
sudo apt update sudo apt install openvpn network-manager-openvpn
然后,在 Ubuntu 上,按Windows(Super)键,输入“设置”并打开设置应用程序 --> 单击左侧窗格中的“网络”选项卡 --> 单击“+”添加新的 VPN --> “从文件导入...”,如下所示:
在打开的“选择要导入的文件”窗口中,导航到您的
client.ovpn
文件(位于上面的其他 3 个文件旁边,都在同一个文件夹中),选择它,然后单击“打开”按钮。这将带您进入“添加 VPN”屏幕,如下所示。如果需要,请将“名称”从“客户端”更改为更具描述性的名称,例如“我的自定义名称”。网关地址将已填写,其格式为
99.99.999.999:9999
,例如。输入您的 VPN 用户名和密码,如下图所示。
完成后单击“添加”按钮。
现在您将看到您的 VPN 作为新条目。单击滑块按钮(如下图所示)进行连接:
由于您已在上面填写了 VPN 用户名和密码,因此无需在任何地方输入。如果您有Duo 双因素身份验证或类似设置,您现在将收到一条推送通知,要求您验证身份。如果您没有看到推送通知,请在手机上打开 Duo 应用,然后批准连接。
您现在已连接!如果您身处远程,或使用手机热点进行测试,您可以前往https://whatismyipaddress.com/在连接 VPN 之前和之后查看您的 IP 地址变化,表明您已连接。
请注意,如果您在单击滑块按钮进行连接时看到以下窗口弹出,则表示您忘记在上一步中输入用户名和密码。没关系,您可以返回编辑此信息。单击“我的自定义名称 VPN”右侧的齿轮图标 --> 单击“身份”选项卡 --> 添加您的 VPN 用户名和密码。返回并再次单击滑块按钮进行连接。
就这样!您已连接。现在您将在计算机的右上角看到这个漂亮的小“VPN”图标。我的图标位于 wifi 图标的右侧,扬声器图标的左侧,如下所示:
要断开 VPN,请返回“设置 --> 网络”,然后再次单击滑块开关以断开连接。
进入 VPN 的快捷方式是按Windows( Super) 并搜索“vpn”。然后点击弹出的“网络”链接。
更好的是,单击 Ubuntu 右上角的图标,然后您就可以在那里看到您的 VPN 连接或断开连接按钮!:
也可以看看
答案4
谢谢你们,我刚刚尝试了 Watchguard 网站上描述的程序(http://customers.watchguard.com/articles/Article/2870?retURL=/apex/knowledgeHome&popup=false)
我编写了一个脚本来启动连接并且它运行良好。