プライベートDNSアドレスを確認するために、プライベートネットワークにOpenVPNサーバーとDNSサーバーを設定しました。
OpenVPNサーバーのクライアントDNS構成にプライベートDNSアドレスを設定しました。 Android、Ubuntu、Raspbianを実行している3つのクライアントがあります。
AndroidとUbuntuクライアントはプライベートサーバーを使用しているようです。少なくとも個人名を確認できます。ただし、これはRaspbianクライアントでは機能しません。プライベートアドレスを確認できず、nslookup
VPNのリモート側ではなくクライアントLANのDNSサーバーから応答が返されます。
対話型モードでnslookupを実行してサーバーを明示的に設定すると、クエリが解析され、DNSクエリがブロックされずにVPNを通過できることがわかります。問題は、クライアントが無効なDNSサーバーを照会しているようです。
Raspbian クライアントの構成は次のとおりです。
client
remote 'vpn.example.org'
ca 'ca.pem'
cert 'cert.pem'
key 'key.pem'
cipher AES-128-CBC
dev tun
proto udp
verify-x509-name 'vpn.example.org'
tls-auth 'hmackey.pem' 1
auth SHA256
nobind
auth-nocache
script-security 2
persist-key
persist-tun
他の2つのクライアントはGUIツールを使用して構成されているため、安定した構成ファイルを提供できません。
クライアントがVPNでDNSサーバーを使用するには、クライアント側で何も設定する必要がありますか?
答え1
~によるとこの答えはサーバーエラーに関するものです。、一部のバージョンのLinuxでは、VPNが起動または終了したときにリゾルバ構成を更新するために、クライアント構成に2行を追加する必要があります。
up /etc/openvpn/update-resolv-conf
down /etc/openvpn/update-resolv-conf
また、VPNの再帰クエリを許可するように内部DNSサーバーを構成する必要があります。デフォルトでは、一部のサーバー(例:BIND9)は、DNSサーバー自体のサブネットからのクエリのみを許可します。
これら 2 つの変更により、個人名を解決できるようになりました。