ポートの範囲全体で1つのIPv4で複数の受信接続を受け入れ、各ポート接続が一意のIPv6アドレスで接続するようにするSquidプロキシをセットアップしようとしています。
各ポート接続に名前を付け、接続名に基づいてACLを指定してから、それぞれに発信IPv6を定義しようとしました。以下のスクリプトは、異なるポートでの接続を受け入れ、IPv6経由でルーティングするという点で機能しますが、ユーザーごとに異なるIPv6が定義されている場合でも、すべての送信接続は同じIPv6(ユーザー5)を使用します。 -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
Squid 3.1では、各tcp_outgoing_address行の後にto_ipv6
ディレクティブが必要です。 3.2にアップグレードすると、この問題は発生しません。
リファレンス: http://www.squid-cache.org/Doc/config/tcp_outgoing_address/