如何手动设置端口转发
- 阅读
- 2 分钟
- 类别
- 端口转发
Port forwarding routes connections through the firewall(新窗口) Proton VPN uses to protect our customers. It’s mainly useful to people downloading and sharing files using P2P protocols such as BitTorrent, although it can also improve performance for online gamers.
目前,所有拥有 Proton VPN 付费套餐的用户均可在我们的 Windows、macOS 和 Linux 图形界面应用中使用端口转发。
如果您使用免费套餐,可以升级以使用此功能。如果您使用的是我们的免费套餐,可以登入 account.protonvpn.com,然后在订阅标签页中选择符合需求的付费套餐进行升级。
对于使用我们的 OpenVPN 或 WireGuard® 配置文件手动配置连接 Proton VPN 的设备,也可以使用端口转发。请注意,端口转发和中等(类型 2)NAT 无法同时使用。
第 1 步:下载 OpenVPN 或 WireGuard 配置文件
请注意,如果您使用我们的 Linux 应用,则无需执行此步骤。我们的所有 P2P 服务器都支持端口转发。在应用中和 VPN 配置下载页面上,可以通过双箭头图标轻松识别 P2P 服务器。

OpenVPN
1. 登入您的 Proton VPN 帐户,前往帐户 → 下载→ OpenVPN 配置文件。选择一台支持 P2P 的 VPN 服务器(双箭头图标),然后下载其 OpenVPN 配置文件。
2. 配置您的 OpenVPN 客户端(例如 Windows 上的 OpenVPN GUI、macOS 上的 Tunnelblick,或 Linux 上的 OpenVPN CLI 或 NetworkManager GUI)。
Remember that your OpenVPN login username and password are different from your regular Proton Account username and password. You can find them in your Proton VPN Account by going to Account→ OpenVPN username.
要使用端口转发,请在 OpenVPN 用户名后添加后缀 +pmp。例如,如果您的 OpenVPN 用户名为“myusername2023”,则使用“myusername2023+pmp”。
请注意,+pmp 后缀可以与 Proton VPN 支持的其他后缀一起使用。例如,要使用端口转发和我们的 Netshield 广告屏蔽器功能,您的用户名可能是“myusername2023+pmp+f2”。
3. 连接 Proton VPN。要检查是否已连接以及 VPN 是否正常工作,请访问我们的免费安全 IP 扫描器,或在 macOS 或 Linux 上打开终端窗口并输入 curl our free secure IP scanner。
WireGuard
1. 登入您的 Proton VPN 帐户,前往帐户→ 下载→ WireGuard 配置。
2. 选择一台支持 P2P 的 VPN 服务器(双箭头图标),然后生成 WireGuard 配置文件。执行此操作时,请确保 选择 VPN 选项 → NAT-PMP(端口转发)已启用。

3. 下载生成的 WireGuard 配置文件,并用它配置您的 WireGuard 客户端。请参阅我们的示例指南,了解如何使用 Network Manager 在 Ubuntu 上安装配置 Proton VPN 的 WireGuard。
请注意,如果您使用的是较旧的 WireGuard 配置文件,默认情况下可能不支持 IPv6 连接。要确保 IPv6 连接通过 VPN 隧道路由,可以采用以下任一方法:
1. 从您的帐户页面下载新的 WireGuard 配置文件。
或:
2. 在文本编辑器中打开旧的配置文件,然后修改以下行:
AllowedIPs = 0.0.0.0/0 → AllowedIPs = 0.0.0.0/0, ::/0
完成后保存并关闭文件。

4. 连接 Proton VPN。要检查是否已连接以及 VPN 是否正常工作,请访问我们的免费安全 IP 扫描器(新窗口),或在 macOS 或 Linux 上打开终端窗口并输入 curl ip.me。

第 2 步:如何手动配置端口转发
Linux
从 Proton VPN 获取 OpenVPN 或 WireGuard 配置文件,确保服务器支持 P2P 并且已启用 NAT-PMP 开关。
以下示例演示了如何在 Linux 上使用 natpmpc 创建正确的端口映射。
1. 在启用端口转发的情况下连接 VPN。
2. 安装 natpmpc。在基于 Debian 和 Ubuntu 的系统上,请打开终端窗口并输入:
sudo apt install natpmpc
在 RedHat 系统(包括 Fedora)上,输入:
sudo dnf install libnatpmp
3. 验证您的 natpmpc 版本。natpmpc 20150609-xxx 版本包含一个问题,可能会错误解读 VPN 服务器的响应并生成令人困惑的输出。Proton VPN 团队已提交修复,该修复已被接受并合并到上游,因此此问题不影响 natpmpc 20230423-xxx(及更新)版本。
要验证在基于 Debian 和 Ubuntu 的系统上运行的 natpmpc 版本,请打开终端窗口并输入:
apt policy natpmpc libnatpmp*

在 RedHat 系统(包括 Fedora)上,输入:
dnf list libnatpmp
如果您运行的是较旧版本的 natpmpc,应将其更新到 natpmpc 20230423-xxx(或更新)版本。为此,您可以使用以下命令从源代码编译 libnatpmp:
git clone https://github.com/miniupnp/libnatpmp.git
cd libnatpmp
make all
sudo make install
4. 检查您所连接的服务器是否允许端口转发。为此,请打开终端窗口并输入:
natpmpc -g 10.2.0.1
如果您所连接的服务器允许端口转发,输出将如下所示:

如果此测试失败(见下方截图),请返回本指南的第 1 步,选择其他 P2P 服务器,并确保您的 VPN 连接配置正确。

5. 创建 UDP 和 TCP 端口映射,然后循环运行 natpmpc 以免其过期。输入:
while true ; do date ; natpmpc -a 1 0 udp 60 -g 10.2.0.1 && natpmpc -a 1 0 tcp 60 -g 10.2.0.1 || { echo -e "ERROR with natpmpc command \a" ; break ; } ; sleep 45 ; done在下面的示例中,为此分配的端口是 53186(UDP 和 TCP 均适用)。

端口转发现已激活。请注意,关闭终端窗口将终止循环进程。每次要开始新的端口转发会话时,都需要重新运行此循环脚本,否则端口将仅保持打开 60 秒。
6. 在您的 BitTorrent 客户端中,停用来自路由器的 UPnP / NAT-PMP 端口转发,并将连接输出中显示的公共端口号(见上文)粘贴到 BitTorrent 客户端的端口转发部分。
例如,在 qBittorrent 中,前往工具 → 首选项... → 连接 → 监听端口 → 将端口号粘贴到用于通信的端口字段中。在其下方,取消勾选使用来自我路由器的 UPnP / NAT-PMP 端口转发(默认已启用)。完成后点击好的。

端口转发现已配置完成。
macOS
在 Mac 上配置端口转发最简单的方法是使用我们的官方 macOS 应用。
如需手动配置,请从 ProtonVPN 获取 OpenVPN 或 WireGuard 配置文件,确保服务器支持 P2P 并且已启用 NAT-PMP 开关。
1. 如上所述,在启用端口转发(NAT-PMP)的情况下连接 VPN。
2. 以 DMG 格式下载 Python 3(新窗口) 并安装。您需要前往隐私与安全性 → 安全性以允许该应用。

3. 安装 Pip。为此,请打开终端并输入:
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
接着输入:
python3 get-pip.py
然后运行:
python3 -m pip install py-natpmp
4. 现在可以运行 natpmpc 并使其循环运行以免过期:
cd "$(python3 -m pip show py-natpmp | grep Location | cut -d ' ' -f 2)/natpmp" && while true ; do date ; python3 natpmp_client.py -g 10.2.0.1 0 0 || { echo -e "ERROR with natpmpc command \a" ; break ; } ; sleep 45 ; done端口转发现已启用。请注意,需要保持终端窗口打开,脚本才能继续运行。要停用脚本每次循环时的响铃通知,请前往菜单栏 → 终端 → 设置 → 描述文件标签页 → 高级 → 响铃,然后取消勾选提示音。
5. 在您的 BitTorrent 客户端中,停用来自路由器的 UPnP / NAT-PMP 端口转发,并将连接输出中显示的公共端口号(见上文)粘贴到 BitTorrent 客户端的端口转发部分。
例如,在 qBittorrent 中,前往工具 → 首选项... → 连接 → 监听端口 → 将端口号粘贴到用于通信的端口字段中。在其下方,取消勾选使用来自我路由器的 UPnP / NAT-PMP 端口转发(默认已启用)。完成后点击好的。

现在您的 BitTorrent 客户端上应已激活端口转发。