dns leak test を使用して、VPNの下でリークしていることがわかりました。 NetworkManagerを介してVPNをセットアップしましたが、リークを除いて正常に動作します。
最初に、block-outside-vpn
の下で同じ形式に従わないことを除いて、/etc/NetworkManager/system-connections
を構成ファイルに追加しようとしました。 DNSリーク用のドキュメントを適切に作成する方法に関するドキュメントが見つかりませんでした。
また、Ubuntu 18.04を使用すると、resolv.confは以前のように機能しません。他のすべての答えはそれに基づいています。
簡単に言うと、Network Manager構成ファイルまたはGUIを使用して外部DNS(リーク)をブロックする方法は?
dnscrypt
を使用することをお勧めします。
最初にインストールします:
Sudo apt install dnscrypt-proxy
デフォルトでは、127.0.2.1
port 53
をリッスンします。
VPNまたはその他の必要な接続を編集し、127.0.2.1
をDNSサーバーとして設定します。CLIを使用して、次を実行できます。
nmcli connection modify [CONNECTION-NAME] ipv4.dns 127.0.2.1
また、念のため、送信DNS要求をブロックします。
Sudo ufw deny out 53
そして、ファイアウォールが有効になっていることを確認してください:
Sudo ufw enable
browserleaks.com または dnsleaktest.com をチェックすることで示されるDNSリークがある場合、
VPN接続を遮断する
すでに時間を無駄にしている.confファイルの編集を元に戻そうとします。 UbuntuにはデフォルトでVPN構成のインポートが提供されていないため、さまざまな提案を何度も試している場合は、新規インストールを行い、networkmanager-openvpn-gnomeもインストールすることをお勧めします。
Dnsmasqをインストールする
Sudo apt update
Sudo apt install dnsmasq
解決を無効にする
Sudo systemctl disable systemd-resolved.service
Sudo systemctl stop systemd-resolved.service
/ etc/resolv.conf
を削除して、新しいものを作成します。
Sudo rm /etc/resolv.conf
Sudo nano /etc/resolv.conf
空の.conf
ファイルに入力します:
nameserver 127.0.0.1` that's all!
押す Ctrl+x エディターを終了します。入る y 保存してからを押します Enter 新しいresolv.conf
ファイルを上書きします。
NetworkManager.confファイルを編集します
Sudo nano /etc/NetworkManager/NetworkManager.conf
以下を追加します。
dns=dnsmasq
行の下(矢印キーを使用してナビゲート)、[main]およびplugins = ifupdown、新しい行が追加されたこのようなキーファイル。
[main]
plugins=ifupdown, keyfile
dns=dnsmasq
押す Ctrl+x エディターを終了します。入る y 保存してからを押します Enter ファイルを上書きします。
端末から戻って、システムを再起動し、dnsleakテストサイトで結果を確認します。
匿名VPN のおかげで、Ubuntu/Network Managerでのリークに対するソリューションは十分に研究され、成功しているようです。それらは機能し、他のソリューションが私にとってうまくいかなかったとき、これらは機能しました。上記のソリューションはUbuntu 17.xおよび18.04 LTS で機能します。 16.04 LTS の他のソリューションを参照してください。
Ubuntu 18.04でDNSリークを修正するには、/etc/dhcp/dhclient.conf
というファイルを編集できます。マニュアルページによると、このファイルは「動的ホスト構成プロトコル、BOOTPプロトコルを使用して、またはこれらのプロトコルが失敗した場合、アドレスを静的に割り当てることにより、1つ以上のネットワークインターフェイスを構成する手段を提供します」
DNSリークの修正に関しては、このファイルを編集します。適切なアクセス許可で開くと、次のようなコメント行が表示されます。
#prepend domain-name-servers 127.0.0.53;
この行のコメントを外し、domain-name-serverをOpenDNSなどの別のサーバーに変更します:208.67.222.222。このOpenDNSアドレスを使用すると、この行は次のようになります。
prepend domain-name-servers 208.67.222.222;
ファイルを保存してシステムを再起動すると、Ubuntu 18.04のDNSリークが修正されます。
update-systemd-resolved
に変更を加えず、代わりにDBus APIを使用してresolv.conf
サービスを使用するsystemd-resolved
スクリプトを使用してみてください
Gitから入手してインストールします:
git clone https://github.com/aghorler/update-systemd-resolved.git
cd update-systemd-resolved
make
次にnsswitch.conf
を編集します:
Sudo nano /etc/nsswitch.conf
そして、hosts:
で始まる行を次のように変更します
hosts: files resolve dns myhostname
サービスを有効にして、自動的に実行されていることを確認します。
Sudo systemctl enable systemd-resolved.service
Sudo systemctl start systemd-resolved.service
注:上記の手順に従わずに端末を使用しても問題ない場合、DNSリークはNetworkManagerを使用している場合にのみ発生します。
Sudo openvpn --config config.ovpn
で端末からopenvpnを実行します
DNSリークの問題を解決するために、オンラインで見つけることができるほぼすべてのソリューションを試しました。 Openvpnは正常に起動しましたが、テストサイトに行ったときにリークしていることを示しました。すべての救済策を試してみる喜びがなくなった後、wifiとイーサネットの設定に入り、ISPの代わりにopenvpnのDNSサーバーを使用しました。それ以降はすべて問題ありませんでした。 IPアドレスはあちこちで見たことがあると思いますが、ここではそうでない場合は、208.67.222.222と208.67.220.220です。