如何使用静态 IP 地址在 Debian 上自动运行 OpenVPN
当您运行 VPN 连接时,将 OpenVPN 作为服务运行通常是最可靠的。有点奇怪的是,当您使用静态 IP 地址时,在 Debian 上做到这一点并不容易。
多个系统存在冲突,需要格外小心才能解决问题。本指南准确解释了如何可靠地进行设置。
在本教程中您将学习:
如何在 Debian 上安装 OpenVPN 和 Resolvconf。
如何禁用网络管理器。
如何配置您的静态 IP。
如何配置 OpenVPN。
Debian 上的 OpenVPN 客户端即服务。
如何安装 OpenVPN 和 Resolvconf
完成这一切设置需要几个组件。显然,您将需要 OpenVPN,但您也将需要 Resolvconf。这是一项自动更新 resolv.conf
文件的专用服务。通常,它会与您的网络接口配置结合使用,但 OpenVPN 还附带了利用它与 VPN 的 DNS 配合使用的脚本。
首先在您的系统上安装 OpenVPN 和 Resolvconf。它们都可以在默认的 Debian 存储库中找到,因此您可以使用 Apt 获取它们。
$ sudo apt install openvpn resolvconf
如何禁用网络管理器
在 Debian 上禁用 NetworkManager。
除非您运行的是最小化或无头 Debian 安装,否则 NetworkManager 将默认运行您的网络连接。这通常是一件好事,但如果您想使用静态 IP 地址,NetworkManager 可能会很麻烦。
NetworkManager 会妨碍您的静态 IP 配置,并且绝对会搞砸您的 DNS。您能做的最好的事情就是停止并禁用它。在关闭 NetworkManager 之前,请确保您拥有提供商提供的 OpenVPN 配置文件。
$ sudo systemctl stop NetworkManager
$ sudo systemctl disable NetworkManager
如何配置静态 IP
您现在可以开始设置静态 IP 配置。实际上,您不需要使用静态 IP 即可实现此目的。如果您想继续使用 DHCP,则可以省略这部分。
在 Debian 上配置静态 IP。
要使用静态 IP,请使用您选择的文本编辑器打开 /etc/network/interfaces
。在第一行,您将看到auto lo
。将您当前的网络接口添加到该行。如果您不确定,可以通过运行 ip a 来找到它。
在文件的底部,您将看到如下一行。替换您自己的接口并将 dhcp
更改为 static
。
iface eth0 inet dhcp
到
iface eth0 inet static
接下来,您需要设置以下几行以匹配您的网络连接。每一项缩进四个空格。
address 192.168.1.110
broadcast 192.168.1.255
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameservers 192.168.1.1
您可以在 dns-nameservers
行中指定未连接到 VPN 时要使用的名称服务器。这些服务器也将用于建立与 VPN 的连接。您可以使用外部 DNS,将其指向您的路由器,或者使用 DNSCrypt 之类的东西。
如何配置 OpenVPN
现在,您已准备好转向 OpenVPN。将 OpenVPN 配置从 VPN 提供商复制到 /etc/openvpn
中。为了使一切自动化,您需要进行一些修改。首先,在 OpenVPN 文件夹中创建另一个文件,名为 auth.txt
。在该文件中,将您的 VPN 用户名放在第一行,将密码放在第二行。
Debian 上的 OpenVPN 客户端配置。
打开您的 VPN 配置文件。找到 auth-user-pass
行,并将 auth.txt
附加到其末尾,因此看起来像 auth-user-pass auth.txt
。
在文件底部的键之前,添加以下三行,以使 OpenVPN 在启动和退出时更新您的名称服务器。
script-security 2
up /etc/openvpn/update-resolv-conf
down /etc/openvpn/update-resolv-conf
保存文件并退出。说到该文件,最好将其重命名为简单且易于识别的名称。不过,请保留 .conf
扩展名。
Debian 上的 OpenVPN 客户端默认设置。
您还需要编辑一个文件。它控制 OpenVPN 默认启动哪些配置。使用文本编辑器打开 /etc/default/openvpn
。在文件顶部,您会发现几行以 AUTOSTART
开头的注释行。取消注释其中一个,然后编辑它,使其包含 OpenVPN 配置文件的名称,不带 .conf
扩展名。
AUTOSTART=”ny”
完成后,保存文件并关闭它。
仔细检查所有配置,然后重新启动计算机。如果一切正常,它将启动并立即连接到您的 VPN。您可以通过 DNSLeakTest 上的扩展测试来检查一切是否正常工作。您应该只看到 VPN 的 IP 和 DNS。
结论
您的 Debian 系统现在应该配置为在启动时使用 OpenVPN 作为服务。但更重要的是,它应该使用正确的 DNS 来防止泄漏和其他 DNS 相关问题。每当您启动或关闭 OpenVPN 时,您的计算机都会在 VPN 的 DNS 服务器和您在静态 IP 设置期间配置的 DNS 服务器之间切换。