- ベストアンサー
プロキシサーバのDNS名前解決タイムアウトエラー
CentOSでプロキシサーバをsquid及びDNSサーバをBIND9で運用において、プロキシのeht0の設定がDNS1のみ(セカンダリなし)で、ネットサーフィンしているときにたまにDNSの名前解決がタイムアウト(セカンダリがあればセカンダリに問い合わせる)になって、止まってしまうのですが、プロキシの挙動はプライマリしかDNSがない場合には、タイムアウト時に再度問い合わせもしくは、端末にエラーを返すことしないのでしょうか? もしくはエラーを返す場合のsquidの設定は何を指定すればよいのでしょうか。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
> という感じですが、この時DNSが「ドメインがありません」とか返してくれれば、ネットワークが復帰すると思うのですが、プロキシが止まるのです。 > なお、プロキシとBINDは1つの機体で運用しています。 ドメインが無い場合でもDNSは即座にレスポンスを返してくれると思いますので、Proxy→BIND間でつながらないか、BIND→外部DNSサーバ間でつながらないか、プロキシとBINDが動作しているサーバが変なDNSの情報をキャッシュしているか、そもそも参照先のドメインのサーバが応答しないか・・・といったような問題のように思います。 (nslookup等で存在しない適当なドメインを名前解決させても結果はすぐに表示されるので) 根本解決にはならないかも知れませんが、DNSへのタイムアウト値はsquid.confであればdns_timeout・dns_retransmit_interval(再送インターバル)辺りのオプション(バージョンによっては使えないかもしれません)で、/etc/resolv.confであればtimeoutオプションで調整はできるのではないかと思います。
その他の回答 (1)
- h271015
- ベストアンサー率71% (62/87)
現状、squid で dns_nameservers の指定はされてますか? もしされていない場合はsquidが動作しているサーバの/etc/resolv.confの内容にしたがって名前解決を行うと思いますが、 /etc/resolv.confではタイムアウトやリトライを行うためのオプションを指定できるので、これで緩和できるかも知れません。 timeout:n attempts:n 「端末にエラーを返すこと」というのはどういったイメージか分かりませんでしたので、差し支えなければ補足いただければと思います。
お礼
ありがとうございます。 補足させていただきます。
補足
補足させていただきます。 流れ図的には 1.端末→Proxy問い合わせ 2.Proxy→名前解決問い合わせ(DNS1) 3.名前解決タイムアウト(セカンダリ(DNS2)がいれば、セカンダリに問い合わせ) 4.セカンダリがないので再度DNS1に問い合わせ 5.タイムアウト ・・・・・1時間ほどDNSが名前解決しない(nslookupの回答なし)インターネットがつながらない。 という感じですが、この時DNSが「ドメインがありません」とか返してくれれば、ネットワークが復帰すると思うのですが、プロキシが止まるのです。 なお、プロキシとBINDは1つの機体で運用しています。