年始一発目のトラブル対応
明けましておめでとうございます。
〜〜 2018.1.4 追記 以下、嘘になっちゃった内容があります〜〜
よく考えたら、bind の root ヒントファイルって、インストール時のそのままなんだよね。
インストール時のファイルが古いってだけだったので、root とかは全然間違ってなかった。
新年早々、失敗失敗……
〜〜 2018.1.4 追記ここまで 〜〜〜
以下、嘘の情報がありますが自身の失敗を反省するため残しておきます。
昨年末は、いつの間にか自宅ローカルネットワークの NTP サーバが停止していたので、年末年始は実家からリモートで自宅ネットワークのログ監視システムを構築してました。
いや、いまも手探りで構築中なわけですが。
OpenVPN って、偉大。
それはともかく、他にエラーが無いかなって思って、ログを grep した結果。
daemon.log:Dec 31 10:17:13 hsrm01 named[22213]: error (insecurity proof failed) resolving './NS/IN': 128.63.2.53#53
ん?
プライベートネットワークなのに、128.63.2.53 で何かのエラー?
エラーの内容を確認しようとググると、こんな情報が。
https://askubuntu.com/questions/464163/ubuntu-dns-server-working-but-getting-errors-in-syslog
http://blog.livedoor.jp/haruchaco/archives/1610376.html
内容は、DNSSEC が関係するらしいということ。
DNSSEC できちんと認証できなくなっているから、このエラーがでる。
なので、DNESSEC をオフにすればエラーは出なくなるよ。
……と。
いや、その解決方法は、いまどきダメだろう!?
確かに BIND のコンフィグ(named.conf)で、DNSSEC をオフにはしていない。
正確には、DNSSEC に関する設定を明示的に記述していないので、デフォルトでオンになっている。
でも、意図有ってオンのままにしている。
つまり、自分にとってオフにするという選択肢はとれない。
仕方ないので、検証の出来なかった IP アドレスについて確認してみる。
# dig -x 128.63.2.53 +short h.root-servers.net. # # dig h.root-servers.net. +short 198.97.190.53 # # dig -x 198.97.190.53 +short h.root-servers.net. #
……?
あれ…… h.root-servers.net. って、root DNS じゃん。
もしかしてこれって 12/31 に root DNS の IP アドレス変更が行われたのか?
# dig @e.root-servers.net . ns ; <<>> DiG 9.9.5-9+deb8u14-Raspbian <<>> @e.root-servers.net . ns ; (2 servers found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 37394 ;; flags: qr aa rd; QUERY: 1, ANSWER: 13, AUTHORITY: 0, ADDITIONAL: 27 ;; WARNING: recursion requested but not available ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: ;. IN NS ;; ANSWER SECTION: . 518400 IN NS a.root-servers.net. . 518400 IN NS b.root-servers.net. . 518400 IN NS c.root-servers.net. . 518400 IN NS d.root-servers.net. . 518400 IN NS e.root-servers.net. . 518400 IN NS f.root-servers.net. . 518400 IN NS g.root-servers.net. . 518400 IN NS h.root-servers.net. . 518400 IN NS i.root-servers.net. . 518400 IN NS j.root-servers.net. . 518400 IN NS k.root-servers.net. . 518400 IN NS l.root-servers.net. . 518400 IN NS m.root-servers.net. ;; ADDITIONAL SECTION: a.root-servers.net. 518400 IN A 198.41.0.4 b.root-servers.net. 518400 IN A 199.9.14.201 c.root-servers.net. 518400 IN A 192.33.4.12 d.root-servers.net. 518400 IN A 199.7.91.13 e.root-servers.net. 518400 IN A 192.203.230.10 f.root-servers.net. 518400 IN A 192.5.5.241 g.root-servers.net. 518400 IN A 192.112.36.4 h.root-servers.net. 518400 IN A 198.97.190.53 i.root-servers.net. 518400 IN A 192.36.148.17 j.root-servers.net. 518400 IN A 192.58.128.30 k.root-servers.net. 518400 IN A 193.0.14.129 l.root-servers.net. 518400 IN A 199.7.83.42 m.root-servers.net. 518400 IN A 202.12.27.33 a.root-servers.net. 518400 IN AAAA 2001:503:ba3e::2:30 b.root-servers.net. 518400 IN AAAA 2001:500:200::b c.root-servers.net. 518400 IN AAAA 2001:500:2::c d.root-servers.net. 518400 IN AAAA 2001:500:2d::d e.root-servers.net. 518400 IN AAAA 2001:500:a8::e f.root-servers.net. 518400 IN AAAA 2001:500:2f::f g.root-servers.net. 518400 IN AAAA 2001:500:12::d0d h.root-servers.net. 518400 IN AAAA 2001:500:1::53 i.root-servers.net. 518400 IN AAAA 2001:7fe::53 j.root-servers.net. 518400 IN AAAA 2001:503:c27::2:30 k.root-servers.net. 518400 IN AAAA 2001:7fd::1 l.root-servers.net. 518400 IN AAAA 2001:500:9f::42 m.root-servers.net. 518400 IN AAAA 2001:dc3::35 ;; Query time: 9 msec ;; SERVER: 192.203.230.10#53(192.203.230.10) ;; WHEN: Mon Jan 01 23:41:34 JST 2018 ;; MSG SIZE rcvd: 811
うん、今の root DNS とは IP アドレスが違うね。
前は root DNS だったと確認できるかな?
https://www.nic.ad.jp/ja/newsletter/No45/0800.html
うん、前は h.root-servers.net. のひとつだったみたいだ。
ってことは、あれだ。
えーと、KSK ロールオーバーを行おうって調整している時期に、何してんの?
https://www.nic.ad.jp/ja/topics/2017/20171219-01.html
これのインフォメーションは?
と思って、以下のサイトにアクセスしてみる。
なにも情報がない…… orz
ないことはないけど、2015年に変更があったというものでは役に立たない。
「2015-12-02 h.root-servers.net(H-Root)のIPアドレス変更に伴う設定変更について」
とりあえず、BIND の root hint ファイルを更新しておくか。
そしたら様子見。
きっと古い IP アドレスだから DNSSEC 検証に対応してなかったんだろうし。
なんか、いやらしさを感じるよ。
そうそう、root DNS が変更されたなら、ログにもその形跡は残ってるはずと思って追加調査してみた。
# cd /var/log # grep h.root *.log daemon.log:Jan 1 23:37:32 hsrm01 named[22213]: checkhints: h.root-servers.net/A (198.97.190.53) missing from hints daemon.log:Jan 1 23:37:32 hsrm01 named[22213]: checkhints: h.root-servers.net/A (128.63.2.53) extra record in hints (以下略)
こっちでは、きちんと出てたね。
これもログ監視の対象にすべきなのかなぁ……