OpenVPNを使用して一部の仮想マシンにVPNを設定しています。 VMの1つがdnsmasqを実行して、ネットワーク内部の基本的なDNSを提供しています。私のクライアントはUbuntuを実行していますが、Ubuntuは多かれ少なかれsystemd解決を強制します。 DNSが構成されていると主張していますが、実際にはVPN内のホスト名でnslookupまたはDigを実行できないことがわかりました。名前ではなくIPでpingできます。
設定ファイルについて詳しく見ていきましょう。
OpenVPNサーバー設定:
mode server
local 192.168.50.101
port 1194
proto udp
dev tun
ca /etc/openvpn/server/ssl/ca.pem
cert /etc/openvpn/server/ssl/cert.pem
key /etc/openvpn/server/ssl/key.pem
dh /etc/openvpn/server/ssl/dh2048.pem
topology subnet
server 10.99.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
Push "route 10.10.0.0 255.255.255.0"
Push "dhcp-option DNS 10.99.0.1"
keepalive 10 120
cipher AES-128-CBC # AES
comp-lzo
Push "comp-lzo yes"
user openvpn
group openvpn
persist-key
persist-tun
status openvpn-status.log
log-append openvpn.log
verb 6
mute 20
クライアント設定:
client
dev tun
proto udp
remote 192.168.50.101 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca REDACTED
cert REDACTED
key REDACTED
remote-cert-tls server
cipher AES-128-CBC
comp-lzo
verb 3
mute 20
ping-restart 30
script-security 2
setenv PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
up /etc/openvpn/update-systemd-resolved
down /etc/openvpn/update-systemd-resolved
down-pre
https://github.com/jonathanio/update-systemd-resolved をインストールしました。これは推奨されるようです。実際、systemd-resolvedログ(Switching to DNS server 10.99.0.1 for interface tun0.
)および--status
出力:
Link 26 (tun0)
Current Scopes: DNS
LLMNR setting: yes
MulticastDNS setting: no
DNSSEC setting: no
DNSSEC supported: no
DNS Servers: 10.99.0.1
/etc/resolve.conf
は、systemd-resolvedを使用するためのデフォルトである127.0.0.53を指します。
NetworkManagerの組み込みOpenVPN接続を使用してみましたが、DNSの問題も修正されておらず、ルートも正しく設定されていません(そのため、pingやIPによる接続もできません)。
人々がおそらく尋ねるであろう他のいくつかの事柄:
/etc/resolv.conf
VPNのDNSサーバー(10.99.0.1)を指すようにすると、DNS解決が正常に機能します。ただし、resolv.confはsystemd-resolvedまたはNetworkManagerによってresolvconfを介して管理されており、Ubuntu Apple Cart。最初に、コンソールから接続をテストします。
Sudo openvpn --verb 1 --config /path_to_conf/config.ovpn
このエラーが発生した場合:
/etc/resolvconf/update.d/libc:警告:/etc/resolv.confは/run/resolvconf/resolv.confへのシンボリックリンクではありません
次に修正/ etc/resolvconf/update.d/libc
前
DYNAMICRSLVCNFFILE="/run/resolvconf/resolv.conf"
後
#DYNAMICRSLVCNFFILE="/run/resolvconf/resolv.conf"
DYNAMICRSLVCNFFILE="/run/systemd/resolve/resolv.conf"
次に、openvpnサーバー設定にオプションを追加します。
Push "dhcp-option DOMAIN YOUR_DOMAIN_NAME"