点对点 VPN 主要用于希望进行多个远程站点连接的企业。如果您是家庭用户,我们推荐使用 Teleport VPN——快速、安全、无需配置的一键式远程访问解决方案。
要了解有关 Teleport 和其他 UniFi VPN 选项的更多信息,请查看 UniFi VPN 简介。
设置
UniFi 网关支持两种点对点 VPN 协议:IPsec 和 OpenVPN。根据您选择的网关,请确保用于创建点到点连接的所有网关以下设置相同:
我们建议在您所有的站点使用 UniFi 网关,以最大限度地提高连接兼容性和性能。此外,一些第三方网关可配置 UniFi Network 应用程序中不可用的设置。对这类设置进行故障排除超出了 Ubiquiti 支持的范围,但您可以查看我们的 第三方设备注意事项:点对点 VPN 以获取更多信息。
IPsec
- 预共享密钥:用于验证 VPN 连接。
- UniFi 网关 IP:您 UniFi 网关的公网 IP 地址。
- 共享远程子网:远程网关共享的网络列表。请注意,UniFi 网关共享所有本地网络。您必须确保此网络列表和站点的本地子网没有重叠。
- 远程 IP:远程网关的 WAN IP 地址。
补充说明:
- 某些 高级设置 应该在所有网关上进行相同的配置。我们建议使用默认设置,除非您精通 VPN 安全知识。
- 您的 UniFi 网关将自动创建引导流量通过 VPN 所需的静态路由。您无需创建新的静态路由。
OpenVPN
OpenVPN 点对点 VPN 使用 512 个字符的 预共享密钥 进行身份验证。两个网关的密钥应该相同,并且不包含换行符。 您可以自己创建此密钥,也可以在 UniFi 网关上自动生成。要进行此项操作:
- 通过 SSH 登录到您的 UniFi 网关。
- 使用以下命令生成您的密钥:
openvpn --genkey secret /tmp/ovpn
- 您现在可以通过运行以下命令查看/复制密钥:
cat /tmp/ovpn
- 注意:请务必在复制密钥时删除所有换行符。
注意:USG 必须使用 generate vpn openvpn-key /tmp/ovpn 生成密钥,然后 sudo cat /tmp/ovpn 查看/复制密钥。
除此以外,还需要以下信息:
- 本地隧道 IP 地址:这个 IP 地址用于你本地的“隧道”。发送到远程网关的流量将通过此 IP 地址进行路由转发。此地址应在本地和远程站点上均可用。 我们建议从两个网关上都未使用的子网中选择一个私有 IP 。
- 本地端口:默认情况下,UDP 端口 1194 用于 OvenVPN。 其他服务或其他 OpenVPN 连接不得使用此端口。如果您使用多个 OpenVPN 隧道,每个隧道都必须分配到独属自己的端口。本地和远程端口无需相同。
- 共享远程子网:远程网关共享的网络列表。请注意,UniFi 网关共享所有本地网络。您必须确保此网络列表和站点的本地子网中没有重叠。
- 远程 IP 地址:远程网关的 WAN IP 地址。
- 远程隧道 IP 地址:远程网关隧道的 IP 地址。不要输入网关的 WAN IP。
- 远程端口:远程网关的 OpenVPN 端口。本地和远程端口不需要相同。
注意:您的 UniFi 网关将自动创建引导流量通过 VPN 所需的静态路由。您无需创建新的静态路由。
故障排除
如果您无法在站点之间建立 VPN 隧道,或者连接定期断开,则您至少有一个站点的 VPN 或网络配置错误。请参考下面的常见错误。
您的 UniFi 网关没有公网 IP 地址(多层 NAT)
如果您的 UniFi 网关位于另一个使用网络地址转换 (NAT) 的路由器/光猫后面,通常会发生这种情况。如果您 UniFi 网关的 WAN IP 地址位于以下范围之一,可能会受到影响:
- 10.0.0.0/8 (10.0.0.0 - 10.255.255.255)
- 172.16.0.0/12 (172.16.0.0 - 172.31.255.255)
- 192.168.0.0/16 (192.168.0.0 - 192.168.255.255)
- 100.64.0.0/10 (100.64.0.0 - 100.127.255.255)
要解决此问题,请将您的上行路由器设置为桥接模式。如果问题没有解决,请尝试将必要端口从上行路由器/光猫转发到您的 UniFi 网关。IPsec 使用 UDP 端口 500 和 4500。默认情况下,OpenVPN 使用 UDP 端口 1194,但这可以更改。请注意,如果您的上行路由器没有公网 IP 地址,上述操作不起作用。
如果问题没有解决,我们建议联系您的 ISP。请注意,100.64.0.0/10 子网范围内的 IP 地址始终需要 ISP 协助才能建立 VPN 连接。
所需端口被上行设备阻止或被您的 UniFi 网关转发到本地网络上的另一台设备
请确保没有第三方路由器、防火墙或 ISP 光猫阻止所需端口连接到支持点对点 VPN 的任何网关。IPsec 使用 UDP 端口 500 和 4500。默认情况下,OpenVPN 使用 UDP 端口 1194,但这可以更改。请注意,如果您为网关重新配置端口,须为所有其他点对点 VPN 网关重新配置相同的端口。
如果您确认流量没有被阻止,请确定您的 UniFi 网关没有转发这些端口到您本地网络上的另一台设备。您可以在 UniFi 网络应用程序的 防火墙&安全部分 中删除现有的端口转发规则。
网关配置不匹配导致的身份验证失败
每个支持点对点 VPN 的网关都必须具有相同的配置,包括 高级 设置。否则,您将无法建立 VPN 连接或维持稳定的 VPN 连接。
我们建议在您所有的站点使用 UniFi 网关,以最大限度地提高连接兼容性和性能。因为一些第三方网关允许您配置一些 UniFi Network 应用程序中不可用的配置,不兼容的设置可能会导致连接失败。对这类设置进行故障排除超出了 Ubiquiti 支持的范围,但您可以查看我们的第三方设备注意事项:点对点 VPN 以获取更多信息。
此外,请注意 UniFi 网关配置为共享所有本地网络。确保在配对网关的 共享远程子网 列表中配置这些。
您的客户端正在通过 VPN 进行路由转发,但其流量被禁止
在这种情况下,客户端可以连接到 VPN,但无法与本地网络上的任何其他设备通信。
要解决此问题,请确保没有阻止 VPN 客户端与本地网络通信的流量或防火墙规则。
或者,本地网络上的个别客户端可能会在其本地防火墙处丢弃传入流量。例如,Windows 防火墙默认丢弃所有 ICMPv4 (ping) 流量。
如果您使用 ping 进行测试,则需要允许流量通过 Windows 防火墙。有关详细信息,请参阅 Microsoft 的支持页面。
您的站点间 IP 地址范围重叠
重叠的 IP 地址会无法建立 VPN。即使建立了 VPN 隧道,它也可能会阻止 VPN 之间的正常通信。因为客户端总是优先考虑本地网络连接上的 IP 地址,而不是 VPN 另一端的 IP 地址。防止重叠的唯一方法是检查每个网关的本地网络,并在必要时调整其 IP 地址范围。例如,如果一个网关的本地网络配置为 192.168.0.0/24,则其 IP 地址范围为 192.168.0.1 - 192.168.0.255。您的远程网关不应使用该范围内的任何地址。
假设 VPN 建立,重叠的 IP 地址范围可能会阻止您通过 VPN 进行正常通信,或者可能会无法建立连接。
客户端进行了隧道分离
尽管它已连接到网络,客户端依然无法与某些连接 VPN 的设备进行通信。要解决此问题,我们建议通过您的 VPN 转发所有流量:
- 如果是 Windows 客户端,在 高级 TCP/IP 设置中启用在远程网络上使用默认网关。
- 如果是 Mac 客户端,在您的 VPN 网络首选项中启用 通过 VPN 连接发送所有流量。
如需更多特定于操作系统的指导,请联系您的设备制造商。