Имеется комп на базе Windows с двумя ip адресами на одной сетевой карте. Или с двумя сетевыми картами.
С первого ip доступ в интернет не ограничен ничем, со второго ip через маршрутизатор открыт белый список ip адресов.
Требуется пускать весь трафик через второй ip (ограниченный), а список конкретных сайтов через первый ip.
Образец настройки брал из темы http://www.opennet.me/openforum/vsluhforumID12/5175.html.visible_hostname 192.168.111.11
http_port 3128
acl localnet src 192.168.111.0/255.255.255.0
acl localhost src 127.0.0.1/255.255.255.255
acl Safe_ports port 80 110 25
acl CONNECT method CONNECT
acl sites dstdomain "c:/squid/etc/acl/white_domain.list"
acl all src 0.0.0.0/0.0.0.0
cache_peer 192.168.111.25 parent 3128 0 no-query default
http_access allow localnet
http_access allow localhost
http_access allow !Safe_ports
http_access deny CONNECT
always_direct allow sites
never_direct deny sites
never_direct allow all !sites
http_access deny all
access_log c:/squid/var/logs/access.log squid
Работают только те сайты, что есть в списке white_domain.list, по остальным ошибка редиректа. Что надо подправить? Умеет ли squid работать на двух интерфейсах одновременно?
> cache_peer 192.168.111.25 parent 3128 0 no-query defaultна этом айпи 192.168.111.25 есть прокся? Судя по вашему посту это маршрутизатор.
Если у вас комп с с двумя сетевыми картами, одна в инет, вторая в локаль и вам нужно часть трафика выпускать со сквида через другой рутер, то вам нужно использовать не редирект на другой прокси, а тэг tcp_outgoing address.
tcp_outgoing_address ipaddr [[!]aclname] ...
примерно вот так:
acl all src 0.0.0.0/0.0.0.0
acl sites dstdomain "c:/squid/etc/acl/white_domain.list"
tcp_outgoing_address 192.168.111.25 sites all
tcp_outgoing_address 222.222.222.222 all !sites
http_access allow all
# список сайтов выпускаем через ip 192.168.111.25
# весь остальной трафик выпускаем через 222.222.222.222
# оба этих ip должны быть на интефейсах машины со сквидом.
Спасибо, ваш вариант работает. Но есть один момент: насколько я понял, подключение к прокси разрешено всем. Как сделать, чтобы подключаться можно было только с localhost и локальной сети?
> Спасибо, ваш вариант работает. Но есть один момент: насколько я понял, подключение
> к прокси разрешено всем. Как сделать, чтобы подключаться можно было только
> с localhost и локальной сети?Про localhost ( ака 127.0.0.1) это вы чет загнули, он и так доступен только на этой машине cо сквидом, или я не понял вашего вопроса. А локальные сети - пишите какие вам нужно, тэг all оставьте как есть, он используется по дефолту и иногда нужен и вам в правилах, особенно запретительных, и создайте свои аксели на ваши сети , например:
acl lan1 src 192.168.0.0/24
acl lan2 src 10.25.2.0/23
acl lan3 src 172.16.0.0/255.255.0.0
и используйте их в тех правилах или добавьте выше тех правил сначала разрешение, а потом запрет на ваши сети, типа:
http_access allow lan1
http_access allow lan2
http_access deny allПорядок правил в сквиде очень важен.