さまざまなポートにわたって 1 つの IPv4 で複数の着信接続を受け入れ、各ポート接続を一意の IPv6 アドレスに接続する Squid プロキシを設定しようとしています。
各ポート接続に名前を付け、接続名に基づいて ACL を指定し、それぞれに対して発信 IPv6 を定義しようとしました。以下のスクリプトは、異なるポートで接続を受け入れ、IPv6 経由でルーティングするという点で機能しますが、ユーザーごとに異なる IPv6 が定義されているにもかかわらず、すべての発信接続で同じ IPv6 (user5) が使用されます。奇妙なのは、squid.conf から user5 IPv6 をコメント アウトしても、発信接続には引き続き使用されることです。
ここで何が間違っているのか誰かわかりますか? (Centos 6 64 ビットで Squid 3.1.1 を使用)
## declare an acl that is true for all ipv6 destinations
acl to_ipv6 dst ipv6
##tell Squid to listen on sequential ports and to designate a name for each inbound connection.
http_port 241.xxx.xxx.101:3128 name=3128
http_port 241.xxx.xxx.101:3129 name=3129
http_port 241.xxx.xxx.101:3130 name=3130
http_port 241.xxx.xxx.101:3131 name=3131
http_port 241.xxx.xxx.101:3132 name=3132
## designate acl based on inbound connection name
acl user1 myportname 3128
acl user2 myportname 3129
acl user3 myportname 3130
acl user4 myportname 3131
acl user5 myportname 3132
## define outgoing IPv6 per user
tcp_outgoing_address [2001:::::::ipv61] user1
tcp_outgoing_address [2001:::::::ipv62] user2
tcp_outgoing_address [2001:::::::ipv63] user3
tcp_outgoing_address [2001:::::::ipv64] user4
##tcp_outgoing_address [2001:::::ipv65] user5
##this last IPv6 always gets used for all outbound connections, even if commented out
答え1
Squid 3.1 では、to_ipv6
各 tcp_outgoing_address 行の後にディレクティブが必要です。3.2 にアップグレードすると、この問題は発生しなくなります。
参照:http://www.squid-cache.org/Doc/config/tcp_outgoing_address/