年始一発目のトラブル対応

明けましておめでとうございます。


〜〜 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


これのインフォメーションは?
と思って、以下のサイトにアクセスしてみる。


https://jprs.jp/tech/


なにも情報がない…… 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
(以下略)


こっちでは、きちんと出てたね。
これもログ監視の対象にすべきなのかなぁ……