Squid を 3.0.9 から 3.5.19 にあげたらアクセスできなくなったのでメモ
NetBSD サーバの pkgsrc を 2016Q2 にし、squid を更新したところ 3.0.9 が 3.5.19 になった。
以前に特別な設定はしていなかったことを確認して、デフォルトの squid.conf を /usr/pkg/etc/squid/ にコピー。
squid を起動…したところつながらない。
ブラウザにはエラーが出ている。
ホスト名 “qiita.com” の IPアドレスがわかりません。
名前解決のエラーだ。
言うまでもないが、squid 以外の接続は正常で、ローカルの DNS は問題ない。
cache.log を見ると
2016/07/26 xx:xx:xx kid1| Adding nameserver 0.0.0.0 from /etc/resolv.conf
2016/07/26 xx:xx:xx kid1| WARNING: Squid does not accept 0.0.0.0 in DNS server specifications.
2016/07/26 xx:xx:xx kid1| Will be using [::1] instead, assuming you meant that DNS is running on the same machine
/etc/resolv.conf で指定した 0.0.0.0 が [::1] にフォールバックしている。
3.0.9 のときのログを見るとここは 127.0.0.1 だった。
というか 0.0.0.0 が許可されていないことに気づいてなかった。
ローカルの named はオプション -4 で運用しているのでつながらなかったわけだ。
どうしたものかちょっと考えた結果、squid.conf で明示的に 127.0.0.1 を指定することに。
dns_nameservers 127.0.0.1
今まで深くは考えていなかったけど、resolv.conf での 0.0.0.0 の指定ってどうなんだろう?