Я пытаюсь настроить прокси-сервер Squid, который будет принимать несколько входящих подключений по одному IPv4 через ряд портов, а для каждого порта — подключаться по уникальному адресу IPv6.
Я назвал каждое портовое соединение и назначил ACL на основе имени соединения, а затем попытался определить исходящий IPv6 для каждого. Скрипт ниже работает, в том смысле, что он принимает соединения на разных портах и направляет их через IPv6, однако все исходящие соединения используют один и тот же IPv6 (user5), хотя для каждого пользователя определены разные ipv6 - странность в том, что даже если я закомментирую этот user5 IPv6 из squid.conf, он все равно будет использоваться для исходящих соединений.
Кто-нибудь может понять, в чем тут проблема? (использую Squid 3.1.1 на Centos 6 64bit)
## 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/