Помогите новичку справиться с Squid3

Проблемы установки, настройки и работы Правильной Операционной Системы

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
qwl
рядовой
Сообщения: 49
Зарегистрирован: 2008-12-30 14:55:24

Помогите новичку справиться с Squid3

Непрочитанное сообщение qwl » 2009-01-03 10:28:50

Всем доброго времени суток.
Всех с наступившем.

Имеется FreeBSD7.
Железо: два сетевухи, "внутренняя" и "внешняя".
Задача: установить шлюз с прозрачным проксей, для ведения и контроля.
С начала делалось все по handbook.
Установил ОС, оптимизировал ядро.
Первое: настроил nat. Заработало как шлюз.
Далее: выбирая из портов установил
squid-3.0.r1.20071001_1 HTTP Caching Proxy (development version)
sarg-2.2.3.1_4 Squid log analyzer and HTML report generator
apache-2.2.6_2 Version 2.2 of Apache web server with prefork MPM.
(sarg и apache работают хорошо)

Теперь к чему пришли:
rc.conf (по мимо разных других настроек):

Код: Выделить всё

firewall_enable="YES"
firewall_script="/etc/rc.ipfwl"
firewall_nat_enable="YES"       
firewall_nat_interface="rl0"    
firewall_nat_flags=""           
rc.ipfwl (минимум для перенаправления на squid):

Код: Выделить всё

#!/bin/sh 

FwCMD="/sbin/ipfw -q" 

LanOut="rl0" 
NetIn="192.168.0.0/16" 

${FwCMD} -f flush 

${FwCMD} add fwd 127.0.0.1,3128 tcp from ${NetIn} to any 80 
${FwCMD} add divert 8668 ip from any to any via ${LanOut}
вот # ipfw show
  • 00100 1724 90238 fwd 127.0.0.1,3128 tcp from 192.168.0.0/16 to any dst-port 80
    00200 3425 177839 divert 8668 ip from any to any via rl0
    65535 13250 823464 allow ip from any to any
Счетчик растет, получается работает.
Что произошло нового при этом:
1. при моих всех конфигурациях на ping (из внутренней сети) отвечало только внутренний интерфейс. При твоем варианте ответ идет со всех интерфейсах, но не дальше.
2. единственное что я нашел при загрузки системы это сообщение от apache: "httpd: Could not reliably determine the server's fully qualified doman name, using 127.0.0.1 for servername."

И вот что на squid-е:
# sockstat | grep squid
  • squid squid 632 7 udp4 *:55281 *:*
    squid squid 632 14 tcp4 195.178.226.55:80 192.168.0.2:4542
    squid squid 632 15 tcp4 *:3128 *:*
    squid squid 632 16 tcp4 81.84.211.135:80 192.168.0.2:4530
    squid squid 632 17 tcp4 81.198.232.193:80 192.168.0.2:4543
    squid squid 632 18 tcp4 84.193.58.143:80 192.168.0.2:4532
    squid squid 632 19 tcp4 80.0.35.244:80 192.168.0.2:4544
    squid squid 632 20 tcp4 83.84.244.130:80 192.168.0.3:4156
    squid squid 632 21 tcp4 91.64.244.52:80 192.168.0.3:4157
    squid squid 632 22 tcp4 89.252.13.192:80 192.168.0.3:4159
    squid squid 632 23 tcp4 89.232.230.216:80 192.168.0.3:4160
    squid squid 630 5 dgram -> /var/run/log
Для меня пока так и не ясно, получается перенаправление на squid работает, squid это виде, но не пускает (не как), так или нет?

при немного другом rc.ipfwl:

Код: Выделить всё

#!/bin/sh 

FwCMD="/sbin/ipfw -q" 

LanOut="rl0" (внеха) 
NetOut="123.123.123.0/19" 
IpOut="123.123.123.123" 

LanIn="rl1"(LAN) 
NetIn="192.168.0.0/16" 
ipIn="192.168.0.1" 
ip_lan="192.168.0" 

${FwCMD} -f flush 
${FwCMD} -f pipe flush 
${FwCMD} -f queue flush 

${FwCMD} add allow all from any to any via lo0 

${FwCMD} add fwd 127.0.0.1,3128 tcp from ${NetIn} to any 80 via ${LanOut} 
${FwCMD} add divert natd ip from ${NetIn} to any out via ${LanOut} 
${FwCMD} add divert natd ip from any to ${IpOut} in via ${LanIn}
вывод ipfw show:
  • 00100 0 0 allow ip from any to any via lo0
    00200 22 1246 fwd 127.0.0.1,3128 tcp from 192.168.0.0/16 to any dst-port 80 via rl0
    00300 74 3654 divert 8668 ip from 192.168.0.0/16 to any out via rl0
    00400 12 720 divert 8668 ip from any to 123.123.123.123 in via rl1
    65535 578 75263 allow ip from any to any
squid тоже видит ip-ки, не пускает, но пускает если в настройках браузера прописать параметры прокси.

Помогите, уже полностью запутался.
Последний раз редактировалось qwl 2009-01-03 12:26:30, всего редактировалось 1 раз.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35297
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Помогите новичку справиться с Squid3

Непрочитанное сообщение Alex Keda » 2009-01-03 12:16:29

офомите сообщение нормально
Убей их всех! Бог потом рассортирует...

qwl
рядовой
Сообщения: 49
Зарегистрирован: 2008-12-30 14:55:24

Re: Помогите новичку справиться с Squid3

Непрочитанное сообщение qwl » 2009-01-03 12:28:05

Извеняйте, еще не привык делать сразу.

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35297
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Помогите новичку справиться с Squid3

Непрочитанное сообщение Alex Keda » 2009-01-03 13:02:30

чё-то в этом году телепатируется плохо...
сквид - прозначный иил нет?
в его логах что?
Убей их всех! Бог потом рассортирует...

qwl
рядовой
Сообщения: 49
Зарегистрирован: 2008-12-30 14:55:24

Re: Помогите новичку справиться с Squid3

Непрочитанное сообщение qwl » 2009-01-03 15:14:42

Squid пытаюсь сделать прозрачным, как прокся (когда прописываешь в настройках браузера) он уже работает, а вот что б был прозрачным не могу его заставить работать.

Вот что у меня в squid-е:
squid.conf:

Код: Выделить всё

http_port 3128 transparent                       
                                                 
maximum_object_size 16384 KB                     
                                                 
maximum_object_size_in_memory 8 KB               
                                                 
cache_mem  128 MB                                
cache_dir ufs /usr/local/squid/cache 2048 64 256 
coredump_dir /usr/local/squid/cache              
                                                 
access_log /usr/local/squid/logs/access.log squid
cache_access_log /usr/local/squid/logs/access.log
cache_log /usr/local/squid/logs/cache.log        
cache_store_log /usr/local/squid/logs/store.log  
                                                 
pid_filename /usr/local/squid/logs/squid.pid     
logfile_rotate 10                                
                                                 
acl all src 0.0.0.0/0.0.0.0                      
acl manager proto cache_object                   
acl localhost src 127.0.0.1/255.255.255.255      
acl to_localhost dst 127.0.0.0/8                 
acl SSL_ports port 443 563                          
acl Safe_ports port 80          # http              
acl Safe_ports port 21          # ftp               
acl Safe_ports port 443 563     # https             
acl Safe_ports port 70          # gopher            
acl Safe_ports port 210         # wais              
acl Safe_ports port 1025-65535  # unregistered ports
acl Safe_ports port 280         # http-mgmt         
acl Safe_ports port 488         # gss-http          
acl Safe_ports port 591         # filemaker         
acl Safe_ports port 777         # multiling http    
acl CONNECT method CONNECT                          
http_access allow all                               
                                                    
cache_mgr amir@mail.ru                        
cache_effective_user squid                          
cache_effective_group squid                         
visible_hostname cov.net.tone.ru           
cachemgr_passwd PassWord all                        
вот это в логах (это последнее загрузка с squid.conf который приведен выше, все данные написаны в первом сообщение то же справедливы с этим squid.conf):
cache.log:

Код: Выделить всё

2009/01/03 10:46:59| Starting Squid Cache version 3.0.RC1+PatchSets-20071001 for
 i386-portbld-freebsd7.0...                                                     
2009/01/03 10:46:59| Process ID 632                                             
2009/01/03 10:46:59| With 7232 file descriptors available                       
2009/01/03 10:46:59| DNS Socket created at 0.0.0.0, port 55281, FD 7            
2009/01/03 10:46:59| Adding nameserver 213.183.97.2 from /etc/resolv.conf       
2009/01/03 10:46:59| Adding nameserver 213.183.96.2 from /etc/resolv.conf       
2009/01/03 10:47:00| Unlinkd pipe opened on FD 13                               
2009/01/03 10:47:00| Swap maxSize 2097152 KB, estimated 161319 objects          
2009/01/03 10:47:00| Target number of buckets: 8065                             
2009/01/03 10:47:00| Using 8192 Store buckets                                   
2009/01/03 10:47:00| Max Mem  size: 131072 KB                                   
2009/01/03 10:47:00| Max Swap size: 2097152 KB                                  
2009/01/03 10:47:00| Version 1 of swap file with LFS support detected...        
2009/01/03 10:47:00| Rebuilding storage in /usr/local/squid/cache (DIRTY)       
2009/01/03 10:47:00| Using Least Load store dir selection                       
2009/01/03 10:47:00| Set Current Directory to /usr/local/squid/cache            
2009/01/03 10:47:01| Loaded Icons.                                              
2009/01/03 10:47:01| Accepting transparently proxied HTTP connections at 0.0.0.0
, port 3128, FD 15.                                                             
2009/01/03 10:47:01| HTCP Disabled.                                             
2009/01/03 10:47:01| Ready to serve requests.                                   
2009/01/03 10:47:01| Store rebuilding is   12% complete                         
2009/01/03 10:47:02| Done reading /usr/local/squid/cache swaplog (34609 entries)
2009/01/03 10:47:02| Finished rebuilding storage from disk.                     
2009/01/03 10:47:02|     34436 Entries scanned                                  
2009/01/03 10:47:02|         0 Invalid entries.                                 
2009/01/03 10:47:02|         0 With invalid flags.                              
2009/01/03 10:47:02|     34263 Objects loaded.                                  
2009/01/03 10:47:02|         0 Objects expired.                                 
2009/01/03 10:47:02|       173 Objects cancelled.                               
2009/01/03 10:47:02|         0 Duplicate URLs purged.                           
2009/01/03 10:47:02|         0 Swapfile clashes avoided.                        
2009/01/03 10:47:02|   Took 1.6 seconds (2.2e+04 objects/sec).                  
2009/01/03 10:47:02| Beginning Validation Procedure                             
2009/01/03 10:47:02|   Completed Validation Procedure                           
2009/01/03 10:47:02|   Validated 68549 Entries                                  
2009/01/03 10:47:02|   store_swap_size = 732974                                 
2009/01/03 10:47:02| storeLateRelease: released 0 objects                       
2009/01/03 10:47:43| clientParseRequestMethod: Unsupported method in request '??
.?8-0??.Kr.??B                                                                  
I.C??]??.'                                                                      
2009/01/03 10:47:43| clientProcessRequest: Invalid Request                      
2009/01/03 10:50:40| clientParseRequestMethod: Unsupported method in request '..
?..«.-.?x.      ?4?&M??.??.| }?:-..x.<?q&?                                      
??T?&4X?.lt'                                                                    
2009/01/03 10:50:40| clientProcessRequest: Invalid Request                      
2009/01/03 10:54:55| clientParseRequestMethod: Unsupported method in request '0?
??I.{»?..=?V.????Iz?3??l.r.W.H...???.Q?j....;.Z*                                
\v±..l '                                                                        
2009/01/03 10:54:55| clientProcessRequest: Invalid Request                      
2009/01/03 10:55:00| clientParseRequestMethod: Unsupported method in request '?n
?y?9??#H?r?hil`L?.?."l,w ?'                                                     
2009/01/03 11:24:07| clientProcessRequest: Invalid Request                      
2009/01/03 11:25:18| Preparing for shutdown after 42 requests                   
2009/01/03 11:25:18| Waiting 30 seconds for active connections to finish        
2009/01/03 11:25:18| FD 15 Closing HTTP connection                              
я не ошибся, вывел то что нужно?

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35297
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Помогите новичку справиться с Squid3

Непрочитанное сообщение Alex Keda » 2009-01-03 16:31:25

а на клиентах проксю убрал?
Убей их всех! Бог потом рассортирует...

qwl
рядовой
Сообщения: 49
Зарегистрирован: 2008-12-30 14:55:24

Re: Помогите новичку справиться с Squid3

Непрочитанное сообщение qwl » 2009-01-03 18:12:45

Я поставил сразу пару машин, на одной есть на другой нет и в процессе еще менял, то включу то выключу.

qwl
рядовой
Сообщения: 49
Зарегистрирован: 2008-12-30 14:55:24

Re: Помогите новичку справиться с Squid3

Непрочитанное сообщение qwl » 2009-01-03 18:21:51

вот это наверное последнее что еще можно показать
при установке squid есть “make config”, вот squid установлен с такими параметрами:

Код: Выделить всё

 ?[ ] SQUID_LDAP_AUTH      Install LDAP authentication helpers    ?
 ?[ ] SQUID_SASL_AUTH      Install SASL authentication helpers    ?
 ?[X] SQUID_DELAY_POOLS    Enable delay pools                     ?
 ?[X] SQUID_SNMP           Enable SNMP support                    ?
 ?[X] SQUID_CARP           Enable CARP support                    ?
 ?[ ] SQUID_SSL            Enable SSL support for reverse proxies ?
 ?[ ] SQUID_PINGER         Install the icmp helper                ?
 ?[ ] SQUID_DNS_HELPER     Use the old 'dnsserver' helper         ?
 ?[ ] SQUID_HTCP           Enable HTCP support                    ?
 ?[ ] SQUID_VIA_DB         Enable forward/via database            ?
 ?[ ] SQUID_CACHE_DIGESTS  Enable cache digests                   ?
 ?[X] SQUID_WCCP           Enable Web Cache Coordination Prot. v1 ?
 ?[ ] SQUID_WCCPV2         Enable Web Cache Coordination Prot. v2 ?
 ?[ ] SQUID_STRICT_HTTP    Be strictly HTTP compliant             ?
 ?[X] SQUID_IDENT          Enable ident (RFC 931) lookups         ?
 ?[ ] SQUID_REFERER_LOG    Enable Referer-header logging          ?
 ?[ ] SQUID_USERAGENT_LOG  Enable User-Agent-header logging       ?
 ?[X] SQUID_ARP_ACL        Enable ACLs based on ethernet address  ?
 ?[X] SQUID_IPFW           Enable transparent proxying with IPFW  ?
 ?[ ] SQUID_PF             Enable transparent proxying with PF    ?
 ?[ ] SQUID_IPFILTER       Enable transp. proxying with IPFilter  ?
 ?[ ] SQUID_ICAP           Enable ICAP client functionality       ?
 ?[ ] SQUID_ESI            Enable ESI support (experimental)      ?
 ?[ ] SQUID_AUFS           Enable the aufs storage scheme         ?
 ?[ ] SQUID_COSS           Enable the COSS storage scheme         ?
 ?[X] SQUID_KQUEUE         Use kqueue(2) (experimental)           ?
 ?[ ] SQUID_LARGEFILE      Support log and cache files >2GB       ?
 ?[ ] SQUID_STACKTRACES    Create backtraces on fatal errors      ?
 ?[ ] SQUID_DEBUG          Enable debugging options               ?

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35297
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Помогите новичку справиться с Squid3

Непрочитанное сообщение Alex Keda » 2009-01-03 18:57:37

сдаётся, что-то вы не так делаете....
Убей их всех! Бог потом рассортирует...

qwl
рядовой
Сообщения: 49
Зарегистрирован: 2008-12-30 14:55:24

Re: Помогите новичку справиться с Squid3

Непрочитанное сообщение qwl » 2009-01-03 19:29:12

Что можете посоветовать и как найти это "не так"?

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35297
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Помогите новичку справиться с Squid3

Непрочитанное сообщение Alex Keda » 2009-01-03 19:30:17

фиг его знает....
могу для 2.6 прозрачный конфиг выкатить.
третьего у меня нету нигде
Убей их всех! Бог потом рассортирует...

qwl
рядовой
Сообщения: 49
Зарегистрирован: 2008-12-30 14:55:24

Re: Помогите новичку справиться с Squid3

Непрочитанное сообщение qwl » 2009-01-03 19:43:36

Пока еще побьюсь :)
На днях переустановлю ОС и все заново повторю, если за это время не что не прояснится тогда буду думать об откате на предыдущие версии.

qwl
рядовой
Сообщения: 49
Зарегистрирован: 2008-12-30 14:55:24

Re: Помогите новичку справиться с Squid3

Непрочитанное сообщение qwl » 2009-01-11 18:02:42

Вот что я еще обнаружил, не знаю говорит это о чем или нет.
При этих настройках, когда вроде как все должно работать, внешний интерфейс из внутренней сети виден (т.е. и пингуется и виден в логах), а вот с внешней стороны абсолютно не отвечает не на что, как будто его нет.

Аватара пользователя
InventoR
ст. лейтенант
Сообщения: 1344
Зарегистрирован: 2006-12-10 19:43:25
Контактная информация:

Re: Помогите новичку справиться с Squid3

Непрочитанное сообщение InventoR » 2009-01-11 18:42:32

у меня третий свид в москве дома крутиться, проблем в обще не каких, в прозрачном режиме.

Код: Выделить всё

http_port 3128 transparent
сам свид

Код: Выделить всё

18:41 root [squid]#pkg_info | grep squid
lightsquid-1.7.1_1  A light and fast web based squid proxy traffic analyser
squid-3.0.10        HTTP Caching Proxy
18:41 root [squid]#
собственно сам процесс настройки не чем не отличается от процесса настройки второй его версии.

Код: Выделить всё

00300  12162110   605510702 fwd 192.168.11.10,3128 tcp from 192.168.11.0/24 to any dst-port 80,8080 via bridge0 in
Боже посмотрел на Ваш конфиг и тихо ужаснулся, возмите стандартный, добавте в acl вашу подсеть, в http_access разрешите работу Вашей подсети.
Это минимум и все будет работать, да на против порта не забудте указать transparent
когда заработает на стандартном конфиге тогда уже начинайте выеживания по поводу урезания лишнего из конфига.
ну вот и сказочке конец, кто слушал, тот молодец.

qwl
рядовой
Сообщения: 49
Зарегистрирован: 2008-12-30 14:55:24

Re: Помогите новичку справиться с Squid3

Непрочитанное сообщение qwl » 2009-01-11 19:31:51

InventoR
Спасибо, буду пробовать завтра.

qwl
рядовой
Сообщения: 49
Зарегистрирован: 2008-12-30 14:55:24

Re: Помогите новичку справиться с Squid3

Непрочитанное сообщение qwl » 2009-01-13 9:10:32

Всем спасибо, кто помогал.

Все победил :Yahoo!:

Подвожу итог:
Проблема была в прозрачности.
FreeBSD7+ipfw+Squid3

FreeBSD – все по мануалу
в ядро:

Код: Выделить всё

# Enable IP Firewall                        
options         IPFIREWALL                  
options         IPFIREWALL_VERBOSE          
options         IPFIREWALL_VERBOSE_LIMIT=100
options         IPFIREWALL_DEFAULT_TO_ACCEPT
options         IPFIREWALL_FORWARD          
options         IPFIREWALL_NAT              
options         IPDIVERT                    
options         TCPDEBUG                    
options         LIBALIAS                    
options         DUMMYNET                    
в rc.conf (без nat, с nat-ом не пропускал squid в мир):

Код: Выделить всё

firewall_enable="YES"                
firewall_script="/etc/rc.ipfwl"
в rc.ipfwl:

Код: Выделить всё

#!/bin/sh -                                                                  
                                                                             
fwcmd="/sbin/ipfw -q"                                                        
natcmd="/sbin/natd"                                                          
oif="rl0" # внешний                                                                   
oip="123.123.123.123" # внешний                                                         
                                                                             
iif="rl1" # внутрений                                                                   
inet="192.168.0.0/24" # внутрений                                                       
                                                                             
${natcmd} -n ${oif} -p 8668                                                                                                  
                                                                             
${fwcmd} -q flush                                                            
${fwcmd} add check-state                                                     
                                                                             
${fwcmd} add pass all from me to me                                          
                                                                             
${fwcmd} add fwd 127.0.0.1,3128 tcp from ${inet} to any http,https via ${iif}
                                                                             
${fwcmd} add divert 8668 all from ${inet} to any via ${oif}                  
${fwcmd} add divert 8668 all from any to me via ${oif}                       
в squid.conf:

Код: Выделить всё

http_port 3128 transparent                       
                                                 
maximum_object_size 16384 KB                     
                                                 
maximum_object_size_in_memory 8 KB               
                                                 
cache_mem  128 MB                                
cache_dir ufs /usr/local/squid/cache 40000 16 256
coredump_dir /usr/local/squid/cache              
                                                 
access_log /usr/local/squid/logs/access.log squid
cache_access_log /usr/local/squid/logs/access.log
cache_log /usr/local/squid/logs/cache.log        
cache_store_log /usr/local/squid/logs/store.log  
                                                 
pid_filename /usr/local/squid/logs/squid.pid     
logfile_rotate 10                                
                                                 
acl all src 0.0.0.0/0.0.0.0                      
acl SSL_ports port 443                           
acl Safe_ports port 80          # http           
acl Safe_ports port 21          # ftp            
acl Safe_ports port 443         # https             
acl Safe_ports port 70          # gopher            
acl Safe_ports port 210         # wais              
acl Safe_ports port 1025-65535  # unregistered ports
acl Safe_ports port 280         # http-mgmt         
acl Safe_ports port 488         # gss-http          
acl Safe_ports port 591         # filemaker         
acl Safe_ports port 777         # multiling http    
acl CONNECT method CONNECT                          
http_access allow all                               
                                                    
cache_mgr hostmaster@yourdomain.com          
cache_effective_user squid                          
cache_effective_group squid                         
visible_hostname  127.0.0.1                     
cachemgr_passwd PassWord all                        
Это минимум, что мне понадобилось для моей задачи прозрачности.
Далее я до настраивал до нужного :smile: