DNS over https + dnsmasqする
トレンドなのでやった
特にこれといった目的はないです
なにをした
私の環境はarchなのでpacaurでdnsmasqと、
AURからGitHub - m13253/dns-over-https: Client and server software to query DNS over HTTPSを引っぱってくる
pacaur -S dns-over-https dnsmasq
素の状態で両方systemd経由で起動すると、bind「Address already in use」
と大激怒してくるのでこんな感じで適当に設定する
/etc/dnsmasq.conf
# stops dnsmasq from reading resolv.conf no-resolv # add your secureoperator server as the upstream dns server server=127.0.0.1#5353
ポート番号は何でもよいと思うけれど、#5353をコメントだと思って消すとひどい目にあう(1敗)
/etc/dns-over-https/doh-client.conf
listen = "127.0.0.1:5353" #以下をCloudFlareを使う用に変更した
ここのポート番号はdnsmasqと同じものを使う
おわりに
wiresharkで確認すると、まず普通にDNSでdns.cloudflare.comを名前解決しに行きそこで手に入れたアドレスに対してDNS over HTTPSを叩いているのが見える
最初ip.addr == 1.1.1.1してフィルタを書けてもそれっぽい通信が無くてめっちゃ焦りました(1敗)
使用感は別に変わらないのでdoh-client.confでverbose = trueにしてsystemd経由で眺めたりdigを叩いて確認するときれいでよかった
20180417追記:
AURのパッケージにもアップデートが来た(元々ブログを書いた時にはout of date flagが付いていた)
その結果upstream_googleに"https:/1.1.1.1/dns-query"の様にアドレスを直に書けば初動のdns.cloudflare.comへ名前解決もしなくてよくなったみたい(今までも出来たものなの?)
でもここに"https://[2606:4700:4700::1111]/dns-query"とipv6を書くと403が返ってくる
私が何か間違っているのか対応していないのかわからん…(ジャガー)
20180418追記:
なんか適当なことを言っていたと気が付いたのを直した