背景
我正在运行 Debianstretch/stable;我从存储库安装了 openvpn,并将配置文件us1041.conf
(作为示例)从我的 VPN 提供商下载到/etc/openvpn/us1041.conf
.我希望 openvpn 在启动时运行,因此按照 VPN 提供商的说明,我/etc/openvpn/auth.txt
使用我的凭据创建,添加auth-user-pass auth.txt
到配置文件,然后添加AUTOSTART="us1041"
到/etc/default/openvpn
.
如果我手动将名称服务器添加到/etc/resolv.conf
:
nameserver 78.46.223.24
nameserver 162.242.211.137
VPN 有效。伟大的!但是,一旦我重新启动,/etc/resolv.conf
就会被 ISP 的名称服务器覆盖,并且不会解析任何连接。
另外,我没有使用网络管理器或任何 GUI 应用程序来配置网络。我没有安装图形界面,网络配置“开箱即用”。这是/etc/network/interfaces
:
source /etc/network/interfaces.d/*
auto lo
iface lo inet loopback
allow-hotplug enp0s31f6
iface enp0s31f6 inet dhcp
问题
我想我需要使用/etc/openvpn/update-resolv-conf
脚本,但我不确定如何使用来自我的 VPN 提供商的配置文件进行配置。
如何让 VPN 的名称服务器在重新启动后保持不变?
答案1
可能的解决方案
覆盖 DNS 服务器来自 ISP 的 DHCP 服务器:
/etc/dhcp/dhclient.conf:
supersede domain-name-servers 78.46.223.24, 162.242.211.137
编辑/etc/network/interfaces
(或者您正在使用 NetworkManager 吗?)
包括dns-nameservers 78.46.223.24 162.242.211.137
您的互联网接口的定义(IP、网关、ETC。)如果你在那里定义它们。
编辑您的NetworkManager
配置
例如,使用nm-connection-editor
或手动指定 DNS 服务器。nmcli
用一个帮助脚本
systemd-resolved
例如,通过 DBus将 OpenVPN 集成。
答案2
前两行/etc/resolv.conf
是
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
我想你没读过...
您有 2 个选择: - 将这些行放入您的 openvpn.conf (首选方式)
dhcp-option DNS 78.46.223.24
dhcp-option DNS 162.242.211.137
up /etc/openvpn/update-resolv-conf
down /etc/openvpn/update-resolv-conf
或这些/etc/resolvconf/resolv.conf.d/head
(当 VPN 关闭时可能会导致问题)
nameserver 78.46.223.24
nameserver 162.242.211.137