AndroidでDNSを変更する方法
デフォルトでは、AndroidスマートフォンはキャリアやWi-FiネットワークのDNSサーバーを使用します。これらのサーバーは機能しますが、必ずしも最速でもプライバシーに配慮しているとも限りません。一部のキャリアはDNS応答に広告リダイレクトを挿入し、別のキャリアは通知なしにドメインをブロックし、ほとんどのキャリアはDNSクエリを暗号化しません。つまり、ネットワーク上のどんな仲介者でもあなたがどのサイトを訪問しているか確認できてしまいます。
AndroidでのDNS変更は簡単ですが、方法はAndroidのバージョンによって異なります。Android 9(Pie)以降、GoogleはDNS over TLS(DoT)を使用する「プライベートDNS」というネイティブオプションを統合しました。古いバージョンでは、ネットワークごとに設定する必要があります。
Android 9以降でDNSを変更する(プライベートDNS)
推奨される方法です。すべての接続(Wi-Fiとモバイルデータ)にワンステップで適用され、DNSクエリを暗号化します。古い方法ではこれができません。
スマートフォンの設定を開き、ネットワークとインターネット(Samsungの場合:設定 > 接続 > その他の接続設定)に進みます。プライベートDNSのオプションを探します。
3つのオプションがあります:
- 自動(デフォルト):Androidは現在のネットワークのDNSを使用し、サーバーが対応していれば日和見的暗号化を行います
- オフ:DNS暗号化なし、クエリは平文で送信
- プライベートDNSプロバイダのホスト名:DNS over TLS対応サーバーのアドレスを手動入力
3番目のオプションを選択し、使用したいDNSプロバイダのアドレスを入力します:
| プロバイダ | プライベートDNSアドレス(DoT) |
|---|---|
| Google Public DNS | dns.google |
| Cloudflare | one.one.one.one |
| Cloudflare(マルウェアブロック) | security.cloudflare-dns.com |
| Cloudflare(マルウェア+アダルトブロック) | family.cloudflare-dns.com |
| Quad9 | dns.quad9.net |
| AdGuard DNS(広告ブロック) | dns.adguard-dns.com |
| NextDNS | あなたのid.dns.nextdns.io |
確認すれば完了です。Wi-Fiでもモバイルデータでも、すべてのDNSクエリが選択したサーバーを経由します。追加のアプリは不要です。
変更が有効になったか確認するには、ブラウザを開いてDNSテストサイトにアクセスしてください。キャリアではなく、設定したプロバイダ(Google、Cloudflare、Quad9)が表示されるはずです。
Android 8以前でDNSを変更する
古いバージョンのAndroidにはグローバルなプライベートDNSオプションがありません。DNSはネットワークごとに変更する必要があり、Wi-Fiのみです。モバイルデータ接続はサードパーティアプリをインストールしない限り、常にキャリアのDNSを使用します。
Wi-FiネットワークのDNSを変更するには:
- 設定 > Wi-Fiに移動
- 接続中のWi-Fiネットワークを長押し
- ネットワークを変更を選択
- 詳細オプションをチェック
- IP設定を「DHCP」から静的に変更
- DNS 1とDNS 2フィールドに希望するDNSサーバーのIPアドレスを入力
| プロバイダ | DNS 1(IPv4) | DNS 2(IPv4) |
|---|---|---|
| Google Public DNS | 8.8.8.8 | 8.8.4.4 |
| Cloudflare | 1.1.1.1 | 1.0.0.1 |
| Quad9 | 9.9.9.9 | 149.112.112.112 |
| OpenDNS | 208.67.222.222 | 208.67.220.220 |
| AdGuard DNS | 94.140.14.14 | 94.140.15.15 |
この方法の欠点は、変更したWi-Fiネットワークにのみ適用されることです。別のネットワークに接続すると、手順を繰り返す必要があります。また、静的IPに切り替えるとIPアドレス、ゲートウェイ、サブネットマスクを手動で入力する必要があります。何を入力すればいいかわからない場合は、静的に切り替える前にDHCPモードで表示されている値をメモしておきましょう。
アプリを使ってDNSを変更する
古いバージョンのAndroidを使っている場合や、ネイティブのプライベートDNSより柔軟なソリューションが欲しい場合、いくつかのアプリがルート不要でDNS変更を可能にします:
- 1.1.1.1(WARP) Cloudflare製:無料、ローカルVPNを使ってCloudflare DNSを自動設定(データは外部サーバーを通りません。DNSをリダイレクトするためのトンネルに過ぎません)
- NextDNS:月30万クエリまで無料、広告、トラッカー、マルウェアのブロック設定用ダッシュボード付き
- Blokada:オープンソース、カスタムDNS付きローカルVPNで広告とトラッカーをブロック
これらのアプリはスマートフォン上にローカルVPNを作成します。データがサードパーティサーバーを経由してデバイスから出ることはありません(実際のVPNとは異なり)。DNSクエリをインターセプトして選択したサーバーにリダイレクトするだけのメカニズムです。
どのDNSを選ぶか
速度:Cloudflare(1.1.1.1)とGoogle Public DNS(8.8.8.8)がグローバルベンチマークで一貫して最速です。Cloudflareはほとんどの地域でわずかにレイテンシーが優れています。
プライバシー:Cloudflareはデータを販売せず、24時間以内にログを消去すると契約で約束しています。Quad9はスイスに拠点を置く非営利組織で、スイスのデータ保護法に従います。Google Public DNSは高速ですが、Googleは広告企業のままです。
コンテンツブロック:AdGuard DNSとNextDNSは、ブラウザに広告ブロッカーをインストールせずに、DNSレベルで広告、トラッカー、悪意のあるドメインをブロックできます。NextDNSはブロックリストの細かいカスタマイズも可能です。
ファミリープロテクション:Cloudflareはfamily.cloudflare-dns.comでマルウェアとアダルトコンテンツをブロック。OpenDNS Family Shield(208.67.222.123)も同様の機能を提供します。
変更の確認
DNSを変更した後、新しい設定が有効か確認しましょう。ブラウザを開いてdnsleaktest.comにアクセスし、DNSリークテストを実行します。結果にキャリアではなくCloudflare、Google、Quad9のサーバーが表示されれば、正常に動作しています。
キャリアの古いDNSサーバーがまだ表示される場合は、スマートフォンを再起動してみてください。AndroidではDNSキャッシュは通常再起動時にクリアされます。Wi-Fiで問題が続く場合は、ルーターが独自のDNSを強制していないか確認してください。
AndroidでのDNS変更は、日常のインターネット体験を改善するために行える最もシンプルで効果的な設定のひとつです。Android 9以降ではプライベートDNS機能がグローバルかつ暗号化された変更をワンステップで実現します。古いバージョンでは1.1.1.1やNextDNSなどのアプリが同じ仕事を手間なく行います。