DNSCrypt はユーザーと DNS リゾルバの間の DNS トラフィックを暗号化するソフトウェアです。盗聴や改竄、中間者攻撃を防ぎます。
OpenNICとは、IANAやIANAから権限を委譲されているNIC(ドメイン名を管理する民間組織や政府機関)の代わりとなる、NICおよびDNSルートである。
DNSCryptを使うには対応したサーバーが必要で、このページ[dnscrypt.org]で対応しているサーバを閲覧できる。
OpenDNSなどが対応しているが、Ciscoにロギングされるのは嫌なので、ここでは「IPs are not logged(IPは記録しない)」と謳うOpenNICのサーバ"ns1.any.dns.opennic.glue"と"ns3.any.dns.opennic.glue
"を使用する。
OpenNICのサーバ情報はこのページ[opennicproject.org]で閲覧できる。
表の左にある旗のマークはそれぞれ
「⚑青・ログの匿名化(Anonymized logs)」
「⚑紫・ログを保存しない(No logs kept)」
「⚑黄・DNSCrypt対応(DNScrypt)」
「⚐白・許可されたユーザーのみの接続(Whitelisting)」
「⚑黒・ブロックリストのドメイン(.bitなど)をブロック(Blocklist)」
を表す。なお、Whitelistingのサーバを使用する場合、自分のIPアドレスをホワイトリストに登録する必要がある。
ホワイトリストへの登録方法はこの記事で説明している。
DNSCryptの入手
https://download.dnscrypt.org/dnscrypt-proxy/から環境にあったファイルをダウンロードして、解凍する。
Windowsの64bitなら「LATEST-win64-full.zip」か「dnscrypt-proxy-win64-full-x.x.x.zip(xはバージョン)」
DNSの設定
1.コントロールパネルから「ネットワークと共有センター」→「アダプターの設定の変更」へ移動
2.使用中のアダプタを「右クリック」→「プロパティ」を選択
3.「ネットワーク」タブの「インターネット プロトコル バージョン 4 (TCP/IPv4)」をダブルクリック
4.「全般」タブの「次のDNSサーバーのアドレスを使う」を選択し、「優先DNSサーバー・代替DNSサーバー」にそれぞれDNSのIPv4アドレスを入力後、「OK」をクリック(今回は優先に185.121.177.177、代替に169.239.202.202を設定)
5.「インターネット プロトコル バージョン 6 (TCP/IPv6)」をダブルクリックし、4.と同様にDNSのIPv6アドレスを設定し「OK」をクリック(今回は優先に2a05:dfc7:5::53、代替に2a05:dfc7:5353::53を設定)
6.「プロパティ」ウィンドウで「OK」をクリック
7.再起動するか、コマンドプロンプトで「ipconfig /flushdns」を実行するなどしてDNSキャッシュをクリアする。(「ipconfig /flushdns」する場合はブラウザも再起動したほうがいいかも)
参照:WindowsのDNSキャッシュをクリアする方法 - ぼくんちのTV 別館
8.完了
OpenNICのDNSに変更されているかを確かめるために、OpenNIC経由でしかアクセスできない「grep.geek」へアクセスする。
DNSCryptの設定
Pathを通しておくと便利なので事前に設定しておく。(今回の場合、「dnscrypt-proxy.exe」が存在するフォルダのパスを追加)
DNSCrypt対応サーバへの設定は以下の構文で可能
dnscrypt-proxy -r $IP:$PORT -N $NAME -k $KEY
今回は例として"ns1.any.dns.opennic.glue"の設定をする。
- IPは 185.121.177.177
- PORTは 5353(正確には54, 443, 1053, 1194, 5353, 8080, 27015のいずれか)
- NAMEは 2.dnscrypt-cert.dnsrec.meo.ws
- KEYは 1A6A:D0A3:2B4C:5A61:A695:D153:670D:69AB:1690:3F9E:C3F7:F64F:
13E5:35A3:18B2:28A5
なので、コマンドプロンプトで以下を実行
dnscrypt-proxy -r 185.121.177.177:5353 -N 2.dnscrypt-cert.dnsrec.meo.ws -k 1A6A:D0A3:2B4C:5A61:A695:D153:670D:69AB:1690:3F9E:C3F7:F64F:13E5:35A3:18B2:28A5
実行後に
[NOTICE] Proxying from 127.0.0.1:53 to 185.121.177.177:5353
と表示されていれば成功となる。
失敗する場合はコマンドプロンプトを管理者権限で実行したり、他のサーバで試そう。
Link
OpenNIC Project OpenNIC Project
DNSCrypt DNSCrypt - Official Project Home Page
オルタネートルート(OpenNICのような独立DNSルート) オルタネートルート - Wikipedia