# Основная идея: используем директиву tcp_outgoing_address # Пример для двух адресов: # Говорим squid слушать нужные порты # http_port 20000 # http_port 20001 # Создаём ACL правила # acl p20000 myport 20000 # acl p20001 myport 20001 # С помощью созданных ACL правил выбираем нужный исходящий IP # tcp_outgoing_address 78.109.20.226 p20000 # tcp_outgoing_address 78.109.20.227 p20001 # Важное замечание: директива tcp_outgoing_address должна быть указана после того # как был разрешён доступ с помощью http_access правил. # Проще всего указать вышеописанные правила в конце конфига. # Для генерации конфига можно воспользоваться скриптом #!/usr/bin/env python start_port = 2000 start_ip = (192, 16, 12, 0) ip_count = 2 chunks = ([], [], []) for x in xrange(ip_count): port = start_port + x ip = list(start_ip) ip[3] += x chunks[0].append('http_port %d' % port) chunks[1].append('acl p%d myport %d' % (port, port)) chunks[2].append('tcp_outgoing_address %s p%d' % ('.'.join(map(str, ip)), port)) for group in chunks: for line in group: print line print