如何在Ubuntu14.04上设置OpenVPN服务器

来自菜鸟教程
跳转至:导航、​搜索

介绍

想要在连接到不受信任的网络(例如酒店或咖啡店的 WiFi)时从您的智能手机或笔记本电脑安全地访问 Internet? Virtual Private Network (VPN) 让您可以像在安全的专用网络上一样,私密且安全地穿越不受信任的网络到您的 DigitalOcean Droplet。 流量从 Droplet 中流出并继续前往目的地。

当与 HTTPS 连接 结合使用时,此设置可让您保护您的无线登录和交易。 您可以规避地理限制和审查,并从不受信任的网络中屏蔽您的位置和未加密的 HTTP 流量。

OpenVPN 是一个功能齐全的开源安全套接层 (SSL) VPN 解决方案,可适应各种配置。 在本教程中,我们将在 Droplet 上设置 OpenVPN 服务器,然后配置从 Windows、OS X、iOS 和 Android 对其的访问。 本教程将使这些设置的安装和配置步骤尽可能简单。

注意: OpenVPN可以通过在启动时将此脚本添加到其用户数据来自动安装在您的Droplet上。 查看 本教程 以了解有关 Droplet 用户数据的更多信息。


先决条件

唯一的先决条件是建立并运行 Ubuntu 14.04 Droplet。 您需要 root 访问权限才能完成本指南。

  • 可选:完成本教程后,最好创建一个具有 sudo 权限的标准用户帐户,以便在您的服务器上执行一般维护。

第 1 步 — 安装和配置 OpenVPN 的服务器环境

为您的服务器端设置完成这些步骤。

      1. OpenVPN 配置

在我们安装任何软件包之前,首先我们将更新 Ubuntu 的存储库列表。

apt-get update

然后我们可以安装 OpenVPN 和 Easy-RSA。

apt-get install openvpn easy-rsa

需要将示例 VPN 服务器配置文件解压缩到 /etc/openvpn,以便我们可以将其合并到我们的设置中。 这可以通过一个命令来完成:

gunzip -c /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz > /etc/openvpn/server.conf

解压后,在文本编辑器中打开 server.conf。 本教程将使用 Vim,但您可以使用您喜欢的任何编辑器。

vim /etc/openvpn/server.conf

在此文件中有几处更改。 您将看到如下所示的部分:

# Diffie hellman parameters.
# Generate your own with:
#   openssl dhparam -out dh1024.pem 1024
# Substitute 2048 for 1024 if you are using
# 2048 bit keys.
dh dh1024.pem

编辑 dh1024.pem 说:

dh2048.pem

这将使生成服务器和客户端密钥时使用的 RSA 密钥长度加倍。

还在 server.conf 中,现在寻找这个部分:

# If enabled, this directive will configure
# all clients to redirect their default
# network gateway through the VPN, causing
# all IP traffic such as web browsing and
# and DNS lookups to go through the VPN
# (The OpenVPN server machine may need to NAT
# or bridge the TUN/TAP interface to the internet
# in order for this to work properly).
;push "redirect-gateway def1 bypass-dhcp"

取消注释 push "redirect-gateway def1 bypass-dhcp" 以便 VPN 服务器将客户端的网络流量传递到其目的地。 完成后应该是这样的:

push "redirect-gateway def1 bypass-dhcp"

下一个编辑是在这个区域:

# Certain Windows-specific network settings
# can be pushed to clients, such as DNS
# or WINS server addresses.  CAVEAT:
# http://openvpn.net/faq.html#dhcpcaveats
# The addresses below refer to the public
# DNS servers provided by opendns.com.
;push "dhcp-option DNS 208.67.222.222"
;push "dhcp-option DNS 208.67.220.220"

取消注释 push "dhcp-option DNS 208.67.222.222"push "dhcp-option DNS 208.67.220.220"。 完成后应该是这样的:

push "dhcp-option DNS 208.67.222.222"
push "dhcp-option DNS 208.67.220.220"

这告诉服务器在可能的情况下将 OpenDNS 推送到连接的客户端以进行 DNS 解析。 这有助于防止 DNS 请求泄漏到 VPN 连接之外。 但是,在客户端设备中指定所需的 DNS 解析器也很重要。 尽管 OpenDNS 是 OpenVPN 使用的默认设置,但您可以使用您喜欢的任何 DNS 服务。

server.conf 中最后一个要更改的区域在这里:

# You can uncomment this out on
# non-Windows systems.
;user nobody
;group nogroup

取消注释 user nobodygroup nogroup。 完成后应该是这样的:

user nobody
group nogroup

默认情况下,OpenVPN 以 root 用户身份运行,因此具有系统的完全 root 访问权限。 我们将改为将 OpenVPN 限制为用户 nobody 和组 nogroup。 这是一个没有默认登录功能的非特权用户,通常保留用于运行不受信任的应用程序,例如面向 Web 的服务器。

现在保存您的更改并退出 Vim。

      1. 数据包转发

这是一个 sysctl 设置,它告诉服务器内核将流量从客户端设备转发到 Internet。 否则,流量将在服务器处停止。 通过输入以下命令在运行时启用数据包转发:

echo 1 > /proc/sys/net/ipv4/ip_forward

我们需要使其永久化,以便服务器在重新启动后仍转发流量。

vim /etc/sysctl.conf

在 sysctl 文件的顶部附近,您将看到:

# Uncomment the next line to enable packet forwarding for IPv4
#net.ipv4.ip_forward=1

取消注释 net.ipv4.ip_forward。 完成后应该是这样的:

# Uncomment the next line to enable packet forwarding for IPv4
net.ipv4.ip_forward=1

保存更改并退出。

简单防火墙 (ufw)

ufw 是 iptables 的前端,设置 ufw 并不难。 它默认包含在 Ubuntu 14.04 中,因此我们只需要进行一些规则和配置编辑,然后打开防火墙。 作为 ufw 更多用途的参考,请参阅 如何在 Ubuntu 和 Debian 云服务器上使用 UFW 设置防火墙

首先将 ufw 设置为允许 SSH。 在命令提示符下,ENTER

ufw allow ssh

本教程将使用基于 UDP 的 OpenVPN,因此 ufw 还必须允许端口 1194 上的 UDP 流量。

ufw allow 1194/udp

ufw 转发策略也需要设置。 我们将在 ufw 的主配置文件中执行此操作。

vim /etc/default/ufw

寻找 DEFAULT_FORWARD_POLICY="DROP"。 这必须从 DROP 更改为 ACCEPT。 完成后应该是这样的:

DEFAULT_FORWARD_POLICY="ACCEPT"

接下来,我们将为连接的客户端的网络地址转换和 IP 伪装添加额外的 ufw 规则。

vim /etc/ufw/before.rules

使 before.rules 文件的顶部如下所示。 OPENVPN RULESred区域必须加上:

#
# rules.before
#
# Rules that should be run before the ufw command line added rules. Custom
# rules should be added to one of these chains:
#   ufw-before-input
#   ufw-before-output
#   ufw-before-forward
#

# START OPENVPN RULES
# NAT table rules
*nat
:POSTROUTING ACCEPT [0:0] 
# Allow traffic from OpenVPN client to eth0
-A POSTROUTING -s 10.8.0.0/8 -o eth0 -j MASQUERADE
COMMIT
# END OPENVPN RULES

# Don't delete these required lines, otherwise there will be errors
*filter

通过对 ufw 所做的更改,我们现在可以启用它。 进入命令提示符:

ufw enable

启用 ufw 将返回以下提示:

Command may disrupt existing ssh connections. Proceed with operation (y|n)?

回答 y。 结果将是这个输出:

Firewall is active and enabled on system startup

检查 ufw 的主要防火墙规则:

ufw status

status 命令应返回以下条目:

Status: active

To                         Action      From
--                         ------      ----
22                         ALLOW       Anywhere
1194/udp                   ALLOW       Anywhere
22 (v6)                    ALLOW       Anywhere (v6)
1194/udp (v6)              ALLOW       Anywhere (v6)

第 2 步 — 创建证书颁发机构和服务器端证书和密钥

OpenVPN 使用证书来加密流量。

      1. 配置和构建证书颁发机构

现在是时候建立我们自己的证书颁发机构 (CA) 并为 OpenVPN 服务器生成证书和密钥了。 OpenVPN 支持基于证书的双向认证,这意味着客户端必须对服务器证书进行认证,而服务器必须在建立相互信任之前对客户端证书进行认证。 我们将使用我们之前复制的 Easy RSA 脚本来执行此操作。

首先复制 Easy-RSA 生成脚本。

cp -r /usr/share/easy-rsa/ /etc/openvpn

然后制作密钥存储目录。

mkdir /etc/openvpn/easy-rsa/keys

Easy-RSA 有一个变量文件,我们可以编辑它来创建我们的个人、企业或我们选择的任何实体专有的证书。 此信息将复制到证书和密钥中,并有助于以后识别密钥。

vim /etc/openvpn/easy-rsa/vars

下面用red标记的变量应根据您的喜好进行更改。

export KEY_COUNTRY="US"
export KEY_PROVINCE="TX"
export KEY_CITY="Dallas"
export KEY_ORG="My Company Name"
export KEY_EMAIL="sammy@example.com"
export KEY_OU="MYOrganizationalUnit"

在同一个 vars 文件中,也编辑如下所示的这一行。 为简单起见,我们将使用 server 作为键名。 如果您想使用不同的名称,您还需要更新引用 server.keyserver.crt 的 OpenVPN 配置文件。

export KEY_NAME="server"

我们需要生成 Diffie-Hellman 参数; 这可能需要几分钟。

openssl dhparam -out /etc/openvpn/dh2048.pem 2048

现在让我们更改目录,以便直接从步骤 2 中将 Easy-RSA 的脚本移到的位置直接工作。

cd /etc/openvpn/easy-rsa

初始化 PKI(公钥基础设施)。 注意 ./vars 命令前面的 dot (.)space。 这表示当前的工作目录(源)。

. ./vars

上述命令的输出如下所示。 由于我们尚未在 keys 目录中生成任何内容,因此无需担心警告。

NOTE: If you run ./clean-all, I will be doing a rm -rf on /etc/openvpn/easy-rsa/keys

现在我们将清除所有可能的旧密钥或示例密钥的工作目录,以便为我们的新密钥让路。

./clean-all

这个最终命令通过调用交互式 OpenSSL 命令来构建证书颁发机构 (CA)。 输出将提示您确认之前输入到 Easy-RSA 变量文件中的专有名称变量(国家名称、组织等)。

./build-ca

只需按 ENTER 即可通过每个提示。 如果必须更改某些内容,您可以在提示中进行更改。

      1. 为服务器生成证书和密钥

仍然从 /etc/openvpn/easy-rsa 工作,现在输入命令来构建服务器的密钥。 您看到 server 标记为红色的地方是我们在前面的步骤 2 中在 Easy-RSA 的 vars 文件中设置的 export KEY_NAME 变量。

./build-key-server server

当我们运行 ./build-ca 时会生成类似的输出,您可以再次按 ENTER 来确认专有名称的每一行。 但是,这次有两个额外的提示:

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:

两者都应留空,因此只需按 ENTER 即可通过每一个。

最后的两个额外查询需要一个肯定的 (y) 响应:

Sign the certificate? [y/n]
1 out of 1 certificate requests certified, commit? [y/n]

上面的最后一个提示应该完成:

Write out database with 1 new entries
Data Base Updated
      1. 移动服务器证书和密钥

OpenVPN 期望在 /etc/openvpn 中看到服务器的 CA、证书和密钥。 让我们将它们复制到适当的位置。

cp /etc/openvpn/easy-rsa/keys/{server.crt,server.key,ca.crt} /etc/openvpn

您可以通过以下方式验证复制是否成功:

ls /etc/openvpn

您应该会看到服务器的证书和密钥文件。

此时,OpenVPN 服务器已准备就绪。 启动它并检查状态。

service openvpn start
service openvpn status

status 命令应该返回:

VPN 'server' is running

恭喜! 您的 OpenVPN 服务器正在运行。 如果状态消息显示 VPN 未运行,请查看 /var/log/syslog 文件中的错误,例如:

Options error: --key fails with 'server.key': No such file or directory

该错误表明 server.key 未正确复制到 /etc/openvpn。 重新复制文件并重试。

第 3 步 — 为客户生成证书和密钥

到目前为止,我们已经安装和配置了 OpenVPN 服务器,创建了证书颁发机构,并创建了服务器自己的证书和密钥。 在这一步中,我们使用服务器的 CA 为将连接到 VPN 的每个客户端设备生成证书和密钥。 这些文件稍后将安装到客户端设备上,例如笔记本电脑或智能手机。

      1. 密钥和证书建设

对于连接到 VPN 的每个客户端来说,拥有自己唯一的证书和密钥是理想的选择。 这优于生成一个通用证书和密钥以在所有客户端设备中使用。

注意: 默认情况下,OpenVPN 不允许使用相同证书和密钥的客户端同时连接到服务器。 (参见 /etc/openvpn/server.conf 中的 duplicate-cn。)

要为您打算连接到 VPN 的每台设备创建单独的身份验证凭据,您应该为每台设备完成此步骤,但将下面的名称 client1 更改为不同的名称,例如 client2iphone2。 每个设备都有单独的凭据,如果需要,以后可以在服务器上单独停用它们。 本教程中的其余示例将使用 client1 作为示例客户端设备的名称。

正如我们对服务器密钥所做的那样,现在我们为我们的 client1 示例构建一个。 您应该仍在使用 /etc/openvpn/easy-rsa

./build-key client1

再一次,您将被要求更改或确认专有名称变量以及这两个应留空的提示。 按 ENTER 接受默认值。

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:

和以前一样,构建过程结束时的这两个确认需要 (y) 响应:

Sign the certificate? [y/n]
1 out of 1 certificate requests certified, commit? [y/n]

如果密钥构建成功,输出将再次为:

Write out database with 1 new entries
Data Base Updated

示例客户端配置文件也应复制到 Easy-RSA 密钥目录。 我们将使用它作为模板下载到客户端设备进行编辑。 在复制过程中,我们将示例文件的名称从 client.conf 更改为 client.ovpn,因为 .ovpn 文件扩展名是客户期望使用的。

cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf /etc/openvpn/easy-rsa/keys/client.ovpn

您可以为每个客户端再次重复此部分,将 client1 替换为适当的客户端名称。

将证书和密钥传输到客户端设备

回想上面的步骤,我们创建了客户端证书和密钥,它们存储在 OpenVPN 服务器上的 /etc/openvpn/easy-rsa/keys 目录中。

对于每个客户端,我们需要将客户端证书、密钥和配置文件模板文件传输到本地计算机或其他客户端设备上的文件夹中。

在此示例中,我们的 client1 设备需要其证书和密钥,位于服务器上:

  • /etc/openvpn/easy-rsa/keys/client1.crt
  • /etc/openvpn/easy-rsa/keys/client1.key

ca.crtclient.ovpn 文件对于所有客户端都是相同的。 同时下载这两个文件; 请注意,ca.crt 文件与其他文件位于不同的目录中。

  • /etc/openvpn/easy-rsa/keys/client.ovpn
  • /etc/openvpn/ca.crt

虽然用于完成此传输的确切应用程序将取决于您的选择和设备的操作系统,但您希望应用程序在后端使用 SFTP(SSH 文件传输协议)或 SCP(安全复制)。 这将通过加密连接传输您客户端的 VPN 身份验证文件。

这是使用我们的 client1 示例的示例 SCP 命令。 它将文件 client1.key 放入本地计算机上的 Downloads 目录中。

scp root@your-server-ip:/etc/openvpn/easy-rsa/keys/client1.key Downloads/

以下是一些用于将文件从服务器安全传输到本地计算机的工具和教程:

在本节结束时,确保您的 客户端 设备上有这四个文件:

  • client1.crt
  • client1.key
  • client.ovpn
  • ca.crt

第 4 步 - 为客户端设备创建统一 OpenVPN 配置文件

管理客户端文件有多种方法,但最简单的方法是使用 unified 配置文件。 这是通过修改 client.ovpn 模板文件以包含服务器的证书颁发机构、客户端的证书及其密钥来创建的。 合并后,只需将单个 client.ovpn 配置文件导入客户端的 OpenVPN 应用程序。

我们将在我们将所有客户端文件下载到的 本地计算机 上为我们的 client1 设备创建一个配置文件。 这台本地计算机本身可能是预期的客户端,也可能只是用于合并身份验证文件的临时工作区。 原来的 client.ovpn 模板文件应该被复制和重命名。 如何执行此操作取决于本地计算机的操作系统。

注意:你复制的client.ovpn的名称不需要与客户端设备相关。 客户端 OpenVPN 应用程序将使用文件名作为 VPN 连接本身的标识符。 相反,您应该将 client.ovpn 复制到您希望 VPN 的名称标签出现在您的操作系统中的任何位置。 例如:work.ovpn会被识别为workschool.ovpn会被识别为school等。

在本教程中,我们将 VPN 连接命名为 DigitalOcean,因此 DigitalOcean.ovpn 将是从此时开始引用的文件名。 命名后,我们必须在文本编辑器中打开 DigitalOcean.ovpn; 您可以使用您喜欢的任何编辑器。

第一个关注领域是您的 Droplet 的 IP 地址。 在文件顶部附近,更改 my-server-1 以反映您的 VPN 的 IP。

# The hostname/IP and port of the server.
# You can have multiple remote entries
# to load balance between the servers.
remote my-server-1 1194

接下来,找到下图所示的区域并取消注释 user nobodygroup nogroup,就像我们在步骤 1 中的 server.conf 中所做的那样。 注意:这不适用于Windows,因此您可以跳过它。 完成后应该是这样的:

# Downgrade privileges after initialization (non-Windows only)
user nobody
group nogroup

下面给出的区域需要注释掉显示的三行,因此我们可以直接在 DigitalOcean.ovpn 文件中包含证书和密钥。 完成后应该是这样的:

# SSL/TLS parms.
# . . .
#ca ca.crt
#cert client.crt
#key client.key

要将各个文件合并到一个统一的配置文件中,将 ca.crtclient1.crt、client1.key 文件的内容直接粘贴到.ovpn 配置文件使用基本的类似 XML 的语法。 文件末尾的 XML 应采用以下形式:

<ca>
(insert ca.crt here)
</ca>
<cert>
(insert client1.crt here)
</cert>
<key>
(insert client1.key here)
</key>

完成后,文件的结尾应类似于以下缩写示例:

<ca>
-----BEGIN CERTIFICATE-----
. . .
-----END CERTIFICATE-----
</ca>

<cert>
Certificate:
. . .
-----END CERTIFICATE-----
. . .
-----END CERTIFICATE-----
</cert>

<key>
-----BEGIN PRIVATE KEY-----
. . .
-----END PRIVATE KEY-----
</key>

client1.crt 文件中有一些额外的信息; 只需包含整个文件就可以了。

保存更改并退出。 我们现在有一个统一的 OpenVPN 客户端配置文件来配置我们的 client1

第 5 步 - 安装客户端配置文件

现在我们将讨论在 Windows、OS X、iOS 和 Android 上安装客户端 VPN 配置文件。 这些客户说明均不相互依赖,因此您可以跳至适用于您的任何说明。

请记住,无论您如何命名 .ovpn 文件,都会调用连接。 在我们的示例中,由于文件名为 DigitalOcean.ovpn,因此连接将命名为 DigitalOcean

视窗

安装

适用于 Windows 的 OpenVPN 客户端应用程序可以在 OpenVPN 的下载页面 上找到。 为您的 Windows 版本选择适当的安装程序版本。

注意: OpenVPN 需要管理员权限才能安装。

安装OpenVPN后,将统一的DigitalOcean.ovpn配置文件复制到:

C:\Program Files\OpenVPN\config

当您启动 OpenVPN 时,它会自动查看配置文件并使其可用。

每次使用 OpenVPN 时都必须以管理员身份运行,即使是管理帐户也是如此。 要做到这一点而不必在每次使用 VPN 时右键单击并选择 以管理员身份运行 ,您可以预设此设置,但必须从管理帐户完成。 这也意味着标准用户需要输入管理员密码才能使用 OpenVPN。 另一方面,标准用户无法正确连接到服务器,除非客户端上的 OpenVPN 具有管理员权限,因此需要提升权限。

要将 OpenVPN 应用程序设置为始终以管理员身份运行,请右键单击其快捷方式图标并转到 属性 。 在兼容性选项卡底部,单击按钮以更改所有用户的设置。 在新窗口中,勾选以管理员身份运行此程序

连接

每次启动 OpenVPN GUI 时,Windows 都会询问您是否要允许该程序对您的计算机进行更改。 单击。 启动 OpenVPN 客户端应用程序只会将小程序放在系统托盘中,因此可以根据需要连接和断开 VPN; 它实际上并没有建立 VPN 连接。

一旦 OpenVPN 启动,通过进入系统托盘小程序并右键单击 OpenVPN 小程序图标来启动连接。 这将打开上下文菜单。 选择菜单顶部的 DigitalOcean(这是我们的 DigitalOcean.ovpn 配置文件),然后选择 Connect

建立连接时将打开一个状态窗口,显示日志输出,并在客户端连接后显示一条消息。

以同样的方式断开 VPN:进入系统托盘小程序,右键单击 OpenVPN 小程序图标,选择客户端配置文件,然后单击 Disconnect

操作系统

安装

Tunnelblick 是适用于 Mac OS X 的免费开源 OpenVPN 客户端。 您可以从 Tunnelblick 下载页面 下载最新的磁盘映像。 双击下载的【X28X】【X32X】文件,按照提示进行安装。

在安装过程即将结束时,Tunnelblick 会询问您是否有任何配置文件。 回答 No 并让 Tunnelblick 完成会更容易。 打开 Finder 窗口并双击 DigitalOcean.ovpn。 Tunnelblick 将安装客户端配置文件。 需要管理权限。

连接

双击 Applications 文件夹中的 Tunnelblick 启动 Tunnelblick。 Tunnelblick 启动后,屏幕右上角的菜单栏中将出现一个 Tunnelblick 图标,用于控制连接。 单击图标,然后单击 Connect 菜单项以启动 VPN 连接。 选择 DigitalOcean 连接。

iOS

安装

在 iTunes App Store 中,搜索并安装 OpenVPN Connect,官方 iOS OpenVPN 客户端应用程序。 要将您的 iOS 客户端配置文件传输到设备上,请将其直接连接到计算机。

此处将概述使用 iTunes 完成传输。 在电脑上打开 iTunes 并点击 iPhone > apps。 向下滚动到底部的 文件共享 部分,然后单击 OpenVPN 应用程序。 右侧的空白窗口 OpenVPN Documents 用于共享文件。 将 .ovpn 文件拖到 OpenVPN 文档窗口。

现在在 iPhone 上启动 OpenVPN 应用程序。 将会有一个新的配置文件已准备好导入的通知。 点击绿色加号将其导入。

连接

OpenVPN 现在可以与新配置文件一起使用。 通过将 Connect 按钮滑动到 On 位置来开始连接。 通过将相同的按钮滑动到 Off 来断开连接。

注意: 设置下的VPN开关不能用于连接VPN。 如果您尝试,您将收到仅使用 OpenVPN 应用程序连接的通知。

安卓

安装

打开 Google Play 商店。 搜索并安装 Android OpenVPN Connect,官方的 Android OpenVPN 客户端应用程序。

.ovpn 配置文件可以通过 USB 将 Android 设备连接到您的计算机并复制文件来传输。 或者,如果您有 SD 卡读卡器,您可以移除设备的 SD 卡,将配置文件复制到其中,然后将卡重新插入 Android 设备。

启动 OpenVPN 应用程序并点击菜单以导入配置文件。

然后导航到保存配置文件的位置(屏幕截图使用 /sdcard/Download/)并选择文件。 该应用程序将记录配置文件已导入。

连接

要连接,只需点击 Connect 按钮。 系统会询问您是否信任 OpenVPN 应用程序。 选择 OK 启动连接。 要断开与 VPN 的连接,请返回 OpenVPN 应用程序并选择 Disconnect

第 6 步 - 测试您的 VPN 连接

安装完所有内容后,只需进行简单检查即可确认一切正常。 在未启用 VPN 连接的情况下,打开浏览器并转到 DNSLeakTest

该站点将返回由您的互联网服务提供商分配的 IP 地址,并且与您在世界其他地方看到的一样。 要通过同一网站检查您的 DNS 设置,请单击 Extended Test,它会告诉您您正在使用哪些 DNS 服务器。

现在将 OpenVPN 客户端连接到 Droplet 的 VPN 并刷新浏览器。 现在应该会出现您的 VPN 服务器的完全不同的 IP 地址。 这就是你现在出现在世界上的样子。 同样,DNSLeakTest's Extended Test 将检查您的 DNS 设置并确认您现在正在使用您的 VPN 推送的 DNS 解析器。

恭喜! 您现在可以安全地穿越互联网,保护您的身份、位置和流量免受窥探者和审查者的侵害。