SquidでIPv6のUDPのポートを閉じる

あまり考えずにSquid(squid3)を利用していると、IPv6のUDPポートが利用されているのが気になる。

# netstat -pantu
	:
udp        0      0 0.0.0.0:51592           0.0.0.0:*                           2549/(squid)
udp6       0      0 :::44216                :::*                                2549/(squid)
	:

UDPは内部のDNS機能(DNSのクエリーを高速化)やほかのキャッシュサーバーとの通信に利用されるものである。DNS機能で使ってしまっているのでIPv4のほうはiptablesなどで適切に処理して残すとして、IPv6のポートを無効化するには、/etc/squid3/squid.confに以下の記述を追加する。

udp_incoming_address 0.0.0.0

これを加え再起動すれば通常はOKだ。

# /etc/init.d/squid3 restart

SquidのUDP関連のデフォルト設定は、udp_incoming_addressは全開放、udp_outgoing_addressは無効になっていて、udp_incoming_addressにIPv4アドレスのみを明示的に記述することでIPv6のアドレスの待機を無効化している。