web-dev-qa-db-ja.com

Debianが/etc/resolv.confを上書きしたり、VPNのネームサーバーを上書きしたりしないようにするにはどうすればよいですか?

バックグラウンド

私はDebianストレッチ/安定版を実行しています。私は、リポジトリからopenvpnをインストールし、VPNプロバイダーからus1041.confに構成ファイル/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 script を使用する必要があると思いますが、VPNプロバイダーから提供された構成ファイルを使用してそれを構成する方法がわかりません。

再起動後もVPNのネームサーバーを維持するにはどうすればよいですか?

3
Michael A

可能な解決策

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、ゲートウェイ、など)と一緒に定義する場合は、そこに含めます。


NetworkManager設定を編集します

たとえば、nm-connection-editorまたはnmcliを使用して、DNSサーバーを手動で指定します。


ヘルパースクリプト を使用します

たとえば、DBusを介してOpenVPNをsystemd-resolvedと統合します。

2
Andrew Siplas

/etc/resolv.confの最初の2行は

# 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
1
Ipor Sircer