さくらのクラウドでdebian10を作ったのですが、サーバによってDNSが引けなくて困っていた。
現象としては、コントロールパネルからは「推奨ネームサーバ」というのがあり、そのネームサーバーとIPアドレスの上6セグメントが一致しているとダメだった。
こんな感じ。
原因究明
原因を探ってみたけど、iptalbesでも向こう側のネームサーバーのダウンでもなく(他の153.120.xxx.xxxのIPアドレスのサーバーからはDNSが使える)困ってしまった。
$ telnet 133.242.0.3 53 Trying 133.242.0.3... telnet: Unable to connect to remote host: No route to host
という感じ。
解決
結論から申し上げますと、 etc/network/interfaces の dns-nameservers 133.242.0.3 133.242.0.4 を削除したところ、通った。
DNSは、/etc/resolv.confを参照しているのでこの記述は不要だったのかもだけど、まさか悪さをしているとは思えなかった…。
このあたり、 や、 を読むと分かるのかなーと思いきや、そんな気力も沸かなくて…
これに気付いたのは、クラウドでサーバーを作成時の自動ネットワーク設定にしたところ、etc/network/interfaces にdns-nameservers の設定行が無くて気が付いたのだった。ずーっとこのファイルのnetmaskの設定あたりなのかなーって思ってた。この1行があると、他の133.242..のサーバーへのsshも通してくれなくて、ローカルスイッチ導入しちゃったよ…。まぁ、これはこれで良かったのだけど。