ОС :FreeBSD 7.1-RELEASE-p5 on i386
Сеть с двумя интерфейсами:
em0 - внешний
rl0 - 10.10.0.0/24
Столкнулся вчера с проблемой при настройке прозрачного прокси. Squid 3.0 Цель: при малой скорости инета держать кеш... заодно отрезать социальные сети... вообщем чистый http.
В начале обрадовался когда всё работает, кеш наполняеться, логи пишуться, уже привязал lightsquid.... и столкнулся с проблемой:
Если работать без сквида то скорость Download и Upload соответствуют тарифу провайдера.... а при включении сквида Download не меняется, а вот Upload очень близок к 0.
Если точно сказать то 0,07 Мбит.
вот часть фаера там где сквид:
Код: Выделить всё
/etc/ipfw.rules
#!/bin/sh
FwCMD="/sbin/ipfw" # собственно где лежит бинарник ipfw
LanOut="em0" # внешний интерфейс
LanIn="rl0" # внутренний интерфейс
IpOut="xxx.xxx.xxx.xxx" # внешний IP адрес машины
${FwCMD} -f flush
${FwCMD} add check-state
${FwCMD} add allow ip from any to any via lo0
${FwCMD} add deny ip from any to 127.0.0.0/8
${FwCMD} add deny ip from 127.0.0.0/8 to any
${FwCMD} -f table 0 flush
${FwCMD} add deny ip from "table(0)" to me
#${FwCMD} add deny ip from any to 10.0.0.0/8 in via ${LanOut}
${FwCMD} add deny ip from any to 172.16.0.0/12 in via ${LanOut}
${FwCMD} add deny ip from any to 192.168.0.0/16 in via ${LanOut}
${FwCMD} add deny ip from any to 0.0.0.0/8 in via ${LanOut}
# рубим автоконфигуреную частную сеть
${FwCMD} add deny ip from any to 169.254.0.0/16 in via ${LanOut}
# рубаем мультикастовые рассылки
${FwCMD} add deny ip from any to 240.0.0.0/4 in via ${LanOut}
# рубим фрагментированные icmp
${FwCMD} add deny icmp from any to any frag
# рубим широковещательные icmp на внешнем интерфейсе
${FwCMD} add deny log icmp from any to 255.255.255.255 in via ${LanOut}
${FwCMD} add deny log icmp from any to 255.255.255.255 out via ${LanOut}
# squid
${FwCMD} add 49 fwd 127.0.0.1,3128 tcp from 10.10.0.0/24 to any 80 via ${LanOut}
# пропускаем траффик через трансляцию сетевых адресов (NAT)
${FwCMD} add 50 divert natd ip4 from any to any via ${LanOut}
за образец был взят http://www.lissyara.su/articles/freebsd/tuning/ipfw/ Спасибо Вам за это
Теперь сам конфиг Squid:
Код: Выделить всё
# NETWORK OPTIONS
http_port 127.0.0.1:3128 transparent
visible_hostname xxxxxxxxxxx
cache_mgr xxxxxxxxxxxx
cache_effective_user squid
hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin \?
no_cache deny QUERY
cache_mem 128 MB
cache_swap_low 90
cache_swap_high 95
maximum_object_size 8192 KB
minimum_object_size 0 KB
maximum_object_size_in_memory 256 KB
ipcache_size 2048
ipcache_low 90
ipcache_high 95
fqdncache_size 4096
cache_replacement_policy lru
memory_replacement_policy lru
cache_dir ufs /usr/local/squid/cache 5000 16 256
logformat squid %ts.%03tu %6tr %>a %Ss/%03Hs %<st %rm %ru %un %Sh/%<A %mt
access_log /usr/local/squid/logs/access.log squid
cache_log /usr/local/squid/logs/cache.log
cache_store_log /usr/local/squid/logs/store.log
refresh_pattern -i \.gif$ 10080 90% 43200
refresh_pattern -i \.(jpg|jpeg|png|bmp)$ 10080 90% 43200
refresh_pattern -i \.swf$ 10080 90% 43200
refresh_pattern . 1440 50% 22160
acl lan src 10.10.0.0/24
http_access allow lan
http_access deny all
coredump_dir /usr/local/etc/squid/cache