Я пытаюсь настроить прокси-сервер 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
В Squid 3.1 вам понадобится to_ipv6
директива после каждой строки tcp_outgoing_address. Если вы обновитесь до 3.2, вы не столкнетесь с этой проблемой.
Ссылка: http://www.squid-cache.org/Doc/config/tcp_outgoing_address/