コンテンツにスキップ

DoHクライアントを使用して1.1.1.1に接続する

1.1.1.1に接続するために使用できるいくつかのDoHクライアントがあります。

cloudflared

  1. cloudflaredデーモンをダウンロードしてインストールします

  2. 次のコマンドを入力して、cloudflaredデーモンがインストールされていることを確認します。

    Terminal window
    cloudflared --version
    cloudflared version 2020.11.11 (built 2020-11-25-1643 UTC)
  3. ネットワーク内のアドレスとポートでDNSプロキシを開始します。アドレスとポートを指定しない場合、localhost:53でリッスンを開始します。DNS(53)は特権ポートであるため、最初のデモでは別のポートを使用します:

    Terminal window
    cloudflared proxy-dns --port 5553
    INFO[2020-12-04T19:58:57Z] Adding DNS upstream - url: https://1.1.1.1/dns-query
    INFO[2020-12-04T19:58:57Z] Adding DNS upstream - url: https://1.0.0.1/dns-query
    INFO[2020-12-04T19:58:57Z] Starting metrics server on 127.0.0.1:44841/metrics
    INFO[2020-12-04T19:58:57Z] Starting DNS over HTTPS proxy server on: dns://localhost:5553
  4. cloudflaredが実行中であることをdigkdighost、または他のDNSクライアントを使用して確認できます。

    Terminal window
    dig +short @127.0.0.1 -p5553 cloudflare.com AAAA
    2606:4700::6810:85e5
    2606:4700::6810:84e5
  5. cloudflaredをサービスとして実行し、ユーザーログイン時に開始されるようにします。多くのLinuxディストリビューションでは、次のように行うことができます:

    Terminal window
    sudo tee /etc/systemd/system/cloudflared-proxy-dns.service >/dev/null <<EOF
    [Unit]
    Description=DNS over HTTPS (DoH) proxy client
    Wants=network-online.target nss-lookup.target
    Before=nss-lookup.target
    [Service]
    AmbientCapabilities=CAP_NET_BIND_SERVICE
    CapabilityBoundingSet=CAP_NET_BIND_SERVICE
    DynamicUser=yes
    ExecStart=/usr/local/bin/cloudflared proxy-dns
    [Install]
    WantedBy=multi-user.target
    EOF
    Terminal window
    sudo systemctl enable --now cloudflared-proxy-dns
  6. システムのDNSサーバーを127.0.0.1に変更します。Linuxでは、/etc/resolv.confを修正できます:

    Terminal window
    sudo rm -f /etc/resolv.conf
    echo nameserver 127.0.0.1 | sudo tee /etc/resolv.conf >/dev/null
  7. 最後に、次のコマンドでローカルで確認します:

    Terminal window
    dig +short @127.0.0.1 cloudflare.com AAAA
    2606:4700::6810:85e5
    2606:4700::6810:84e5

DNSCrypt-Proxy

DNSCrypt-Proxy 2.0+は、DoHを標準でサポートしています。1.1.1.1および他のサービスの両方をサポートしています。また、負荷分散やローカルフィルタリングなどの高度な機能も含まれています。

  1. DNSCrypt-Proxyをインストールします

  2. dnscrypt-proxyがインストールされており、バージョンが2.0以上であることを確認します:

    Terminal window
    dnscrypt-proxy -version
    2.0.8
  3. 公式の手順に従って設定ファイルを設定し、dnscrypt-proxy.tomlのサーバーリストにcloudflarecloudflare-ipv6を追加します:

    server_names = ['cloudflare', 'cloudflare-ipv6']
  4. localhost:53で他の何も実行されていないことを確認し、すべてが期待通りに動作することを確認します:

    Terminal window
    dnscrypt-proxy -resolve cloudflare-dns.com
    Resolving [cloudflare-dns.com]
    Domain exists: yes, 3 name servers found
    Canonical name: cloudflare-dns.com.
    IP addresses: 2400:cb00:2048:1::6810:6f19, 2400:cb00:2048:1::6810:7019, 104.16.111.25, 104.16.112.25
    TXT records: -
    Resolver IP: 172.68.140.217
  5. DNSCrypt-Proxyのインストール手順に従って、システムサービスとして登録します。