Приветствую.
Решил освоить squid, прочитал некотрое количество мануалов, вроде бы все понятно и достаточно разжовано, но как всегда это бывает в linux, без вопросов к гуру обойтись не получается.
Проблема возникла в следующем, сделал я несколько правил -группы -ограничение трафика и тд, конфиг ниже, все работает до поры до времени, потом трафик обрубает и никакие пляски с бубном не помогают, squid перегружал, вплоть до ifdown -i... и ребутов всей машины целиком.
Простой пример, запускаю браузер (естественно на другой машине) хочу увидеть gmail.com, squid машинка замирает, через пару минут (на клиенте) вижу ответ в браузере, мол нет такого адреса, типа DNS имени неприсвоено такого.
--вот что кажет tcpdump в этот момент
>tcpdump -i eth207:48:11.129589 arp reply LS-Router is-at 00:18:39:c9:93:1e (oui Unknown)
07:48:12.004691 IP 10.10.10.7.1058 > LS-Router.domain: 54850+ A? www.gmail.com. (31)
07:48:13.516863 IP LS-Router.domain > 10.10.10.7.1058: 54850 6/7/5 CNAME[|domain]
07:48:18.513015 arp who-has 10.10.10.7 tell LS-Router
07:48:18.513069 arp reply 10.10.10.7 is-at 00:c0:26:2d:ad:08 (oui Unknown)
07:50:02.395043 IP 10.10.10.7.netbios-dgm > 10.10.10.255.netbios-dgm: NBT UDP PACKET(138)Вкратце опишу, что за squid сервер у меня, старенький cel 700, 128 рам, 2 интерфейса eth0 и eth2, eth1 от чего-то не захотел присваиваться второй сетевухе, да и черт бы с ним, те что установлены (eth0 и eth2) работают без проблем. Значится eth0 смотрит во внутреннюю сетку 192.168.1.0, а eth2 )10.10.10.7) смотрит на роутер от провайдера- "LS-Router" с ip 10.10.10.1.
Вот кусок конфига который отвечает за правила раздачи трафика и группы. Тестовый клиент в группе it.
-----------------------
#My rls!
#Allow and Deny groups to access inet
acl localnet src 192.168.1.0/255.255.255.0
acl it src 192.168.1.234
acl buh src 192.168.1.106 192.168.1.199 192.168.1.10http_access allow it
http_access allow buh
http_access deny all#Deny domains
acl fuck_sitewarez dstdomain .nnm.ru .kpnemo.ru
acl fuck_odnokl dstdomain .odnoklassniki.ru
http_access deny it fuck_sitewarez
http_access deny all fuck_odnokl#Deny sites by masks
acl SitesRegexSex dstdom_regex sex
acl SitesRegexAz dstdom_regex \.az$
http_access deny all SitesRegexSex
http_access deny all SitesRegexAz#Deny downloads with sex and avi in filenames
acl NoAviFromSex url_regex -i sex.*\.avi$
http_access deny all NoAviFromSex#Deny downloads with specific formats
acl media urlpath_regex -i \.mp3$ \.avi$ \.wma$
http_access deny all media#Deny some ports, e.g. Mirc
acl Mirc port 6667-6669 7770-7776
http_access allow it Mirc
http_access deny all Mirc#Deny some protocols, e.g FTP
acl ftpproto proto ftp
http_access allow it ftpproto
http_access deny all ftpproto#Delay_pools
delay_pools 5#speed limit for downloading media content
delay_class 1 1
delay_parameters 1 3000/3000
delay_access 1 allow media
delay_access 1 deny all#speed limit for some individual user
#delay_class 2 1
#delay_parameters 2 4000/4000
#delay_access 2 allow someUser
#delay_access 2 deny all#speed limit for group buh
delay_class 3 2
delay_parameters 3 20000/20000 10000/10000
delay_access 3 allow buh
delay_access 3 deny all#speed limit for group it
delay_class 4 2
delay_parameters 4 50000/50000 40000/40000
delay_access 4 allow it
delay_access 4 deny all#speed limit for all others
delay_class 5 2
delay_parameters 5 15000/15000 10000/10000
delay_access 5 deny media
#delay_access 5 deny someUser
delay_access 5 deny buh
delay_access 5 deny it
delay_access 5 allow localnet
delay_access 5 deny all
------------------------------------------------Продолжение истории- Через некоторое время gmail загрузился очень даже шустро, а спустя минут 15 squid снова отказался давать трафик. Что я намудрил с правилами? или может быть у меня DNS как то особенно надо настроить?
Конфиг сетевушек:
----------------------------
"/etc/network/interfaces"
auto lo
iface lo inet loopback# The primary network interface
allow-hotplug eth0
iface eth0 inet static
address 192.168.1.128
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.250
# dns-* options are implemented by the resolvconf package, if installed
dns-nameservers 192.168.1.250
dns-search amba#added eth2
auto eth2
allow-hotplug eth2
iface eth2 inet static
address 10.10.10.7
netmask 255.255.255.0
network 10.10.10.0
broadcast 10.10.10.255
gateway 10.10.10.1
dns-nameservers 10.10.10.1
---------------
amba -мой домен внутренней сетки.
---------------"/etc/resolv.conf"
search amba
nameserver 10.10.10.1
nameserver 192.168.1.250
nameserver 192.168.1.1
nameserver 212.44.64.6
Я думаю стоит заглянуть в логи к squid'у в момент когда страница все-таки не открылась.
Скорее всего проблемы с DNS, и squid должен сообщит о данном факте
Нет, squid ничего не пишет на момент отказа, на всякий случай , если всёж интересно, кину хвосты.----------------------------
/var/log/squid/access.log:1224658937.640 60 192.168.1.234 TCP_MISS/304 301 GET styles/subsilver2/imageset/ru/icon_post_edit.gif - DIRECT/83.219.128.139 -
1224658937.642 50 192.168.1.234 TCP_MISS/304 301 GET styles/subsilver2/imageset/ru/icon_contact_pm.gif - DIRECT/83.219.128.139 -
1224658937.650 47 192.168.1.234 TCP_MISS/304 301 GET styles/subsilver2/imageset/ru/icon_post_quote.gif - DIRECT/83.219.128.139 -
1224658937.686 43 192.168.1.234 TCP_MISS/304 301 GET images/spacer.gif - DIRECT/83.219.128.139 -
1224658937.712 66 192.168.1.234 TCP_MISS/304 301 GET styles/subsilver2/theme/images/cellpic3.gif - DIRECT/83.219.128.139 -
1224658937.721 70 192.168.1.234 TCP_MISS/304 301 GET styles/subsilver2/imageset/ru/icon_user_offline.gif - DIRECT/83.219.128.139 -
1224658937.777 90 192.168.1.234 TCP_MISS/304 301 GET styles/subsilver2/theme/images/cellpic1.gif - DIRECT/83.219.128.139 -
1224658937.790 77 192.168.1.234 TCP_MISS/304 301 GET styles/subsilver2/imageset/ru/icon_post_delete.gif - DIRECT/83.219.128.139 -
1224659400.283 179699 192.168.1.234 TCP_MISS/504 1400 GET http://emirate.ru/cgi-bin/search.cgi? - DIRECT/194.87.13.136 text/html
1224659402.903 178235 192.168.1.234 TCP_MISS/000 0 GET viewtopic.php? - DIRECT/www.tis-dialog.ru -
1224659404.903 163122 192.168.1.234 TCP_MISS/000 0 GET viewtopic.php? - DIRECT/www.tis-dialog.ru -------------------------------------
/var/log/squid/cache.log:
2008/10/22 09:55:15| Rebuilding storage in /var/spool/squid (CLEAN)
2008/10/22 09:55:15| Using Least Load store dir selection
2008/10/22 09:55:15| Set Current Directory to /var/spool/squid
2008/10/22 09:55:15| Loaded Icons.
2008/10/22 09:55:15| Accepting proxy HTTP connections at 0.0.0.0, port 3128, FD 13.
2008/10/22 09:55:15| Accepting ICP messages at 0.0.0.0, port 3130, FD 14.
2008/10/22 09:55:15| HTCP Disabled.
2008/10/22 09:55:15| WCCP Disabled.
2008/10/22 09:55:15| Ready to serve requests.
2008/10/22 09:55:15| Done reading /var/spool/squid swaplog (2063 entries)
2008/10/22 09:55:15| Finished rebuilding storage from disk.
2008/10/22 09:55:15| 2063 Entries scanned
2008/10/22 09:55:15| 0 Invalid entries.
2008/10/22 09:55:15| 0 With invalid flags.
2008/10/22 09:55:15| 2063 Objects loaded.
2008/10/22 09:55:15| 0 Objects expired.
2008/10/22 09:55:15| 0 Objects cancelled.
2008/10/22 09:55:15| 0 Duplicate URLs purged.
2008/10/22 09:55:15| 0 Swapfile clashes avoided.
2008/10/22 09:55:15| Took 0.4 seconds (5729.4 objects/sec).
2008/10/22 09:55:15| Beginning Validation Procedure
2008/10/22 09:55:15| Completed Validation Procedure
2008/10/22 09:55:15| Validated 2063 Entries
2008/10/22 09:55:15| store_swap_size = 91924k
2008/10/22 09:55:16| storeLateRelease: released 0 objects
ps последний отказ был в 10.04 а в логах последняя запись была чуть раньше.
Спасибо всем за участие )))) проблему решил, привел в порядок очередность опроса DNS серверов, т.е. в interfaces оставил только DNSы роутера и провайдера, в resolv.conf так же закоментировал все строки с адресами внутренних серверов, оставил только провайдерские + роутер.