WPAD (Web Proxy Auto-Discovery) — автоматическая настройка прокси на клиентах. Вместо ручной настройки на каждом компьютере — один файл wpad.dat:
# /var/www/html/wpad.dat (раздаётся через HTTP)
function FindProxyForURL(url, host) {
// Внутренние ресурсы — напрямую
if (isInNet(host, "10.0.0.0", "255.0.0.0") ||
isInNet(host, "192.168.0.0", "255.255.0.0") ||
host == "localhost") {
return "DIRECT";
}
// Всё остальное — через прокси
return "PROXY proxy.corp.local:3128; DIRECT";
}
# DNS-запись для WPAD (автообнаружение)
# В DNS-сервере AD:
wpad.corp.local. IN A 10.10.1.20
# DHCP-опция 252 (WPAD URL):
# option 252 = "http://wpad.corp.local/wpad.dat"
Delay pools — ограничение полосы пропускания для определённых типов трафика:
# squid.conf — delay pools
# Pool 1: ограничение скачивания больших файлов до 1 Мбит/с на пользователя
delay_pools 2
# Pool 1: класс 3 (ограничение по сети + по пользователю)
delay_class 1 3
# Общий лимит: 50 Мбит/с, на подсеть: 10 Мбит/с, на пользователя: 1 Мбит/с
delay_parameters 1 6250000/6250000 1250000/1250000 125000/250000
delay_access 1 allow large_downloads network_all
delay_access 1 deny all
# Pool 2: видео-стриминг (если не заблокировано) — 512 Кбит/с на пользователя
delay_class 2 2
delay_parameters 2 3125000/3125000 64000/128000
acl streaming_sites url_regex -i \.(youtube|rutube|vimeo)\.com
delay_access 2 allow streaming_sites network_all
delay_access 2 deny all
Transparent proxy — перехват трафика без настройки на клиентах. Настраивается через iptables на шлюзе:
# На шлюзе (или Squid-сервере, если он является шлюзом):
# Перенаправление HTTP (порт 80) на Squid
iptables -t nat -A PREROUTING -i eth1 -s 10.10.0.0/16 \
-p tcp --dport 80 -j REDIRECT --to-port 3129
# Перенаправление HTTPS (порт 443) на Squid SSL Bump порт
iptables -t nat -A PREROUTING -i eth1 -s 10.10.0.0/16 \
-p tcp --dport 443 -j REDIRECT --to-port 3130
# squid.conf — дополнительные порты для transparent mode
http_port 3129 intercept
https_port 3130 intercept ssl-bump \
cert=/usr/local/squid/etc/ssl/squid-ca.pem \
generate-host-certificates=on \
dynamic_cert_mem_cache_size=16MB
Мы выбрали WPAD вместо transparent proxy, потому что transparent mode не поддерживает аутентификацию (нельзя определить имя пользователя).
Оставить комментарий