ubuntu17 一部サイトが表示されない時の対策

ubuntu17 にアップグレードした。www.mozilla.org, www.soumu.go.jp といった一部のサイトが表示されなくなった。その対策

systemd-resolved → unbound

  1. sudo apt-get install unbound
  2. sudo systemctl disable systemd-resolved
  3. sudo systemctl stop systemd-resolved
  4. sudo nano /etc/NetworkManager/NetworkManager.conf
    • dns=unbound を[main]欄に追加。保存して nano 終了。
  5. sudo systemctl enable unbound-resolvconf
  6. sudo systemctl enable unbound
  7. 再起動

さて、とりまコマンド類を羅列。わかる人はこれでイケるでしょうが、書いてる本人のために以下解説。

ターミナルから sudo (管理者権限で実行)。apt-get で unbound をインストール。systemctl で systemd-resolved を無効にしてからストップ。nano でネットワークマネージャの設定ファイルをターミナル上で追記。[ifupdown] 欄ではないので注意。念の為、systemctl で unbound-resolvconf を有効化。unbound 本体も有効化。最後に PC を再起動。

systemdresolved とは

systemdresolved とは、ネットワークの名前解決をローカルアプリに提供するシステムサービス。ただし、

17.04ではDNSレゾルバがsystemdresolvedに切り替わっているため,一部の環境,特にISP起因で名前解決にクセのある環境では不具合が発見される可能性があります。(gihyo.jp

とあるように、ISP との相性によっては使えない代物らしく色々やった結果(下記参照)、こいつが原因だったため unbound を代替使用。

unbound とは

unbound とは、BIND 代替のDNS キャッシュサーバ。DNSSEC対応; DNSキャッシュ汚染に対する耐性が強い。

その為か、動作がsystemd-resolved に比べ重い。非キャッシュサイトだと、読み込むのに60秒ほどかかることも。とはいえ、サイトが見れないより良い。

ちなみに ubuntu 17.04 で DNSSEC は、デフォルトで無効が仕様(ubuntu systemd package; Comment 6 for bug 1682499 英語サイト)。

上記解決策以外にやったこととか経緯とか

  • firefox のキャッシュ削除やDNSプリフェッチ、IPv6の設定変更
  • 他のブラウザでチェック
  • ping, nslookup, dig
  • 同一ハードの win10 でチェック

メインブラウザがfirefox で www.mozilla.org へ入ろうとしたところ「サーバーが見つかりませんでした。」のエラーメッセージ。グーグルは使えたのでブラウザの問題だと考え、エラーメッセージを検索。グーグルの検索結果にあるキャッシュを参照し、履歴やクッキーのキャッシュを削除。変化ないのでDNSプリフェッチ、IPv6の設定をそれぞれ、両方、と無効化するも変化なし。

gnome.Epiphany でチェック。ブラウザを変更しても閲覧できないので firefox の問題ではないと結論。

マルウェアを疑うも ubuntu 自体、未使用SSDに入れたばかりで心当たりもない。そこで、ターミナルから ping を飛ばしてみるが通らない。グーグルやヤフーは見れるのでネットが切れてるわけでもない。nslookup をしてみると答えが帰ってこない。dig も然り。ここに至り DNS 辺りを疑うも出てくるのは、サーバー関連の情報ばかり。デスクトップなんだよね。。

一旦、同一PCにデュアルブートしてる win10 + edge でモジラを開いてみると、www.mozilla.jp にリダイレクトされる。「えっ、リダイレクトの設定ミス?だったらサバの問題じゃん。」なんて思うも ubuntu にもどって org の方のモジラを開くと閲覧できる!!

??

治ったと思ったのも束の間、子ページへのリンクをクリックすると再び「サーバーが見つかりませんでした。」の表示。

今、見つけてたやん!

とツッコみつつ、ubuntu DNS あたりのキーワードを再び漁る。アサル。

ようやく上記引用の技評社のページを見つけ「DNSリゾルバ」「systemd-resolved」辺りを更に掘り、www.hecticgeek.com (英語サイト)へたどり着く。追記されたページ後半部分を参考にしたのが上記解決策。

お疲れさまでした。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です