Proton VPN 主页

如何在 pfSense 上使用 OpenVPN 配置 Proton VPN

阅读
1 分钟
类别
路由器

在本指南中,我们将向您展示如何使用 OpenVPN VPN 协议在 pfSense 23.09 和 pfSense 2.7.x 上设置 Proton VPN。这样,您的路由器就可以通过 Proton VPN 连接保护连接到它的所有设备。

了解更多关于 OpenVPN 的信息

如果您使用的是 pfSense 2.7.x,我们建议改用 WireGuard® 协议。

另请注意,使用 OpenVPN 不建议建立多个连接。对于这种使用场景,我们再次建议使用 WireGuard。

在开始之前,您需要:

  • 全新安装的 pfSense 23.09 或 pfSense 2.7.x
  • 一台已连接到 LAN 网络的计算机,以便您能够访问 pfSense 前端
  • 您的 OpenVPN 用户名和密码。它们与您常规的 Proton VPN 用户名和密码不同。要找到它们,请登入 account.protonvpn.com,然后前往帐户 → OpenVPN 用户名。

1. 创建 OpenVPN 配置文件

在 account.protonvpn.com 上使用您的 Proton 帐户用户名和密码登入 Proton VPN,前往下载 → OpenVPN 配置文件,然后下载一个 OpenVPN 配置文件。请务必选择平台:路由器。

了解如何从 Proton VPN 下载 OpenVPN 配置文件

要配置 pfSense,您需要此配置文件中的 TLS 证书(新窗口)。要找到它,请在文本编辑器中打开下载的 OpenVPN 配置文件,查找以 —–BEGIN CERTIFICATE—- 开头并以 –—-END CERTIFICATE—– 结尾的文本。

OpenVPN TLS 证书

您还需要 VPN 服务器的IP 地址和端口号。这些信息可在证书中列出的第一行 remote 上找到。第一个数字是 IP 地址,第二个数字是端口号。在下面的示例中,IP 地址为 185.159.157.6,端口号为 51820

第一个数字是 IP 地址,第二个数字是端口号。

最后,您还需要 OpenVPN 静态密钥。它以 —–BEGIN OpenVPN Static key V1—- 开头,以 —–END OpenVPN Static key V1—– 结尾。

OpenVPN 静态密钥

2. 将 TLS 证书添加到 pfSense

在浏览器网址栏中输入 192.168.1.1,以打开 pfSense 网页界面。登入后前往系统 → 证书 → 添加 → 导入证书。

配置以下设置:

创建/编辑 CA。前往证书颁发机构 → 添加,并更改以下设置:

  • 描述性名称:可以是您认为有助于描述 Proton TLS 证书的任何名称
  • 方法:导入现有的证书颁发机构

现有的证书颁发机构

配置证书

完成后点击保存

3. 配置 OpenVPN 客户端

现在,您将添加一个 OpenVPN 客户端来加密您的数据,并通过隧道将其传输到 VPN 服务器。

前往VPN → OpenVPN → 客户端,点击添加,然后 配置以下设置:

常规信息:

  • 说明:为该配置选择一个显示名称
  • 已禁用:不勾选

模式配置

  • 服务器模式:点对点(SSL/TLS)
  • 设备模式:tun – 第 3 层隧道模式

端点配置

  • 协议:仅 IPv4 上的 UDP 或仅 IPv4 上的 TCP(可任选,但必须与您下载的配置文件相匹配)。详细了解 UDP 与 TCP。 
  • 接口:WAN
  • 本地端口:-
  • 服务器主机或地址:请参阅步骤 1 查找此信息。 
  • 服务器端口:也请参阅步骤 1 查找此信息。 
  • 代理主机或地址:-
  • 代理端口:-
  • 代理身份验证:无
配置 OpenVPN 客户端 1

用户身份验证设置

  • 用户名:您的 Proton VPN OpenVPN 用户名
  • 密码:您的 Proton VPN OpenVPN 密码
  • 身份验证重试:保持不勾选

请记住:它们与您常规的 Proton VPN 用户名和密码不同。要启用其他功能,请在您的 OpenVPN 用户名后添加以下后缀。

  • NetShield Ad-blocker:+f1
  • NetShield Ad-blocker 高级版(仅限付费套餐可用,还可屏蔽恶意软件和跟踪器):+f2

例如,要启用 NetShield Ad-blocker,请输入 username+f1。

配置 OpenVPN 客户端 2

加密设置

  • 使用 TLS 密钥:勾选
  • 自动生成 TLS 密钥:不勾选
  • TLS 密钥:粘贴 OpenVPN 配置文件中的 OpenVPN 静态密钥(参见步骤 1)
  • TLS 密钥用途模式:TLS 加密和身份验证
  • TLS keydir 方向:使用默认方向
  • 对等证书颁发机构:Proton AG(或您在步骤 2 中使用的描述性名称)
  • 对等证书吊销列表:保持不变
  • 客户端证书:无(需要用户名和/或密码)
  • 数据加密协商:勾选
  • 数据加密算法:AES-256-GCM、CHACHA20-POLY1305
  • 回退数据加密算法:AES-256-GCM
  • 身份验证摘要算法:SHA256(256 位)
  • 硬件加密:是否支持取决于您的设备。如果支持,必须先前往系统 → 高级 → 杂项启用它。如果不确定,请选择无硬件加密加速。
  • 服务器证书密钥用途验证:勾选
端口解析

隧道设置

  • IPv4 隧道网络:-
  • IPv6 隧道网络:-
  • IPv4 远程网络(s):-
  • IPv6 远程网络(s):-
  • 限制传出带宽:-(除非您另有偏好)
  • 允许压缩:拒绝任何非 stub 压缩(最安全)
  • 拓扑:子网 — 公共子网中的每个客户端一个 IP 地址
  • 服务类型:保持不勾选
  • 不获取路由:勾选
  • 不添加/移除路由:保持不勾选
  • 获取 DNS:勾选
配置 OpenVPN 客户端 4

Ping 设置

  • 将所有设置保留为默认值。
配置 OpenVPN 客户端 5

高级配置

  • 自定义选项:添加以下内容:

tun-mtu 1500;
mssfix 0;
reneg-sec 0;
remote-cert-tls server;

注意:这些配置设置将取代下方截图中显示的设置。

为提高连接的可靠性,请用文本编辑器打开您下载的 OpenVPN 配置文件,并找到以 remote 开头的行。从第二行 remote 开始,将以 remote 开头的每一行复制到 pfSense 的自定义选项字段中,并在每行末尾加上分号。

端口转发的工作原理

  • UDP 快速 I/O:勾选
  • 退出通知:已禁用
  • 发送/接收缓冲区:默认
  • 网关创建:仅 IPv4
  • 详细程度:3(推荐)
配置 OpenVPN 客户端 6

点击保存,然后前往状态 → OpenVPN。您应该会看到新的 VPN 客户端,其状态显示为已启动。

OpenVPN 客户端现在应该正在运行

4. 配置 OpenVPN 接口

VPN 客户端现在正在运行,但尚无流量通过它路由。要让您所有的网络流量都通过安全的 Proton VPN 隧道路由,您需要配置接口和防火墙规则。

前往接口 → 接口分配 → 可用网络端口,从下拉菜单中选择您刚添加的 VPN 客户端 → 添加。

这将创建一个名为 OPTx 的接口(其中 x 取决于您的路由器拥有多少个物理接口)。点击新建的接口对其进行配置。

配置 OpenVPN 接口 1

前往接口标签页,点击 OPTx,并输入以下配置设置·

常规配置:

  • 启用:已勾选
  • 说明:为该接口选择一个描述性名称

保留网络:

  • 阻止 bogon 网络:勾选

其余字段保持不变。

点击保存并应用更改。

配置 OpenVPN 接口 2

5. 配置防火墙规则

我们使用防火墙规则将所有流量通过我们刚设置的 Proton VPN 接口进行路由。前往防火墙 → NAT → 出站,然后选择手动生成出站 NAT 规则。然后点击保存并应用更改。

配置防火墙规则 1

在映射下,您会看到列出的六条规则。在来源列中,其中 4 条规则显示地址 127.0.0.0/8 和 ::1/128。忽略这些规则,编辑(点击操作列中的铅笔图标)另外两条规则。

配置防火墙规则 2

对于这两条规则,将接口更改为您在步骤 4 中创建的 Proton VPN 接口。点击保存并应用更改。

配置防火墙规则 3

注意:这也会自动创建一个与接口同名的网关。

配置防火墙规则 4

映射设置现在应如下所示:

配置防火墙规则 5

前往防火墙 → 规则 → LAN。点击默认允许 LAN IPv6 到任何规则旁边的 ✓ 图标以停用它。

配置防火墙规则 6

前往默认允许 LAN 到任何规则 → 编辑 (铅笔图标)。

配置防火墙规则 7

点击显示高级 → 网关,选择我们在步骤 5 中创建的网关。点击保存并应用更改。

配置防火墙规则 8

现在前往状态 → OpenVPN,点击服务 → 重启图标,以使用新设置重启 OpenVPN 客户端。

配置防火墙规则 9

配置 DNS 设置

通过 pfSense 防火墙的所有互联网流量现在都将通过 Proton VPN 服务器路由。但 DNS 请求不会。要解决此问题,我们需要更改 pfSense 中的 DNS 设置。

前往系统 → 常规设置 → DNS 服务器 → DNS 服务器,并输入以下设置:

  • DNS 服务器 → 地址:10.2.0.1
  • DNS 服务器 → 网关:选择您在步骤 4 中创建的 VPN 接口
  • DNS 服务器覆盖:勾选
  • DNS 解析行为:使用远程 DNS 服务器,忽略本地 DNS
配置 DNS 服务器设置

现在前往服务 → DNS 解析器 → 传出网络接口,并输入以下设置:

  • 传出网络接口:选择您在步骤 4 中创建的 VPN 接口
  • DNS 查询转发:勾选

如果您通过在 OpenVPN 用户名后添加 +f1 或 +f2 后缀启用了我们的 NetShield 广告屏蔽器功能(参见步骤 3),则必须 停用 DNSSEC 支持。

配置常规 DNS 解析器选项

点击保存并应用更改。

您的设置现已完成。来自您网络的所有流量现在都应通过您选择的 Proton VPN 服务器安全路由。您可以从网络上的任何设备访问我们的免费安全 IP 扫描器来测试这一点。

可选调整

您可以将网络上的某些计算机排除在 VPN 接口之外。例如,您可能希望游戏主机在不连接 VPN 的情况下访问互联网。为此:

1. 前往防火墙 → 规则 → LAN → 添加。

将设备排除在 VPN 之外 1

2. 按如下方式配置设置:

  • 操作:通过
  • 已禁用:不勾选
  • 接口:LAN
  • 地址族:IPv4
  • 协议:任何
  • 来源:单一主机或别名,并添加您要排除的设备的 IP
  • 目标:任何
  • 日志:保持不变
  • 说明:添加说明
pfSense 设置 22

3. 点击显示高级,将网关更改为 WAN。

pfSense 设置 23

4. 点击保存并应用更改。

将设备排除在 VPN 之外 4

5. 前往防火墙 → NAT → 出站,将模式切换为自动,然后点击保存并应用更改。再将模式切换回手动,然后点击保存并应用更改。

将设备排除在 VPN 之外 5

这会创建两条新规则,允许所选设备访问本地 WAN 网络。

pfSense 设置 24

该设备现已被排除在 VPN 接口之外,将使用您的 ISP 分配的 IP 地址访问互联网。不过,它将使用 Proton VPN 的 DNS 服务器。