システムログファイルに「Namederrornetworkunreachable」が表示され、そのようなエントリが非常に多いことに驚いていますか?なぜnamedはそれらのドメイン名を解決できないのですか?そしてまず第一に、なぜサーバーは理由もなくそれらのドメインを解決しなければならないのですか?これはセキュリティ攻撃ですか?さて、これらの質問は、システムログに「Namederrornetworkunreachable」メッセージが絶えず追加されているのを見て頭に浮かびました。
このチュートリアルでは、このエラーを修正する方法を説明します。その前に、/var/log/messages
で見たものを見てください。
named[1113]: error (network unreachable) resolving 'ns1.apnic.net/A/IN': 2001:dc3::35#53 named[1113]: error (network unreachable) resolving 'ns2.lacnic.net/A/IN': 2001:dc3::35#53 named[1113]: error (network unreachable) resolving 'ns3.apnic.net/A/IN': 2001:dc3::35#53 named[1113]: error (network unreachable) resolving 'ns1.apnic.net/AAAA/IN': 2001:dc3::35#53 named[1113]: error (network unreachable) resolving 'a1.verisigndns.com/A/IN': 2001:500:2f::f#53
名前付きエラーネットワークに到達できない問題を修正する方法
エラーメッセージをよく見ると、named
IPv6アドレスを解決しようとしていました。ただし、システムにIPv6ネットワークが構成されていないため、このエラーが発生しました。
nameがIPv6アドレスでリッスンするように設定されているかどうかをすばやく確認しました。
# vim /etc/named.conf
options { listen-on port 53 { 127.0.0.1; }; //listen-on-v6 port 53 { ::1; }; directory "/var/named"; dump-file "/var/named/data/cache_dump.db"; statistics-file "/var/named/data/named_stats.txt"; memstatistics-file "/var/named/data/named_mem_stats.txt"; allow-query { localhost; };
上記のスナップショットでは、listen-on-v6 port 53 {::1; } bind/namedがIPv6アドレスをリッスンしていないことを意味するコメントアウトされています。最後に、以下のオプションで構成が欠落していることを理解しました。
OPTIONS="-4"
このエラーを修正するには、named
を開くだけです。 /etc/sysconfig/
の下にあるファイル 上記のオプションを追加しました。
# vim /etc/sysconfig/named
以下の行をコピーして貼り付けます。
OPTIONS="-4"
ファイルを保存して、名前付きサービスを再起動します。
# systemctl restart named
指定されたサービスが実行されていることを確認します。
# systemctl status named
それでおしまい!システムログに戻ります(/var/log/messages
)そして、それらのエラーがまだキャプチャされているかどうかを確認します。
これはセキュリティ攻撃ですか? ほとんどの場合、これは正常であり、上記のオプションを設定するとエラーが停止します。ただし、システムで実行されているサービスによって異なります。
注:一部のLinuxフレーバーでは、named/bindの構成ファイルが異なる場所にある場合があります。