Простые/общие вопросы по UNIX системам. Спросите здесь, если вы новичок
Модераторы: vadim64, terminus
Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
-
omnus
- рядовой
- Сообщения: 30
- Зарегистрирован: 2012-04-26 13:43:29
Непрочитанное сообщение
omnus » 2015-01-19 8:39:06
Доброго времени суток. Возникла проблема со связкой squid + kerberos. В какой-то момент времени сквид начинает загружать процессор практически на 100%. Выручает только перезапуск сквида. Также, в данной конфигурации бывает так что страницы открываются по нескольку минут. Параллельно крутится сквид с чистым конфигом (без аутентификации), в нем таких ситуаций не возникает.
Код: Выделить всё
uname -a
FreeBSD xxxxxxxxxxxxxx 9.2-RELEASE-p12 FreeBSD 9.2-RELEASE-p12 #1: Sat Oct 18 15:33:00 NOVT 2014
Код: Выделить всё
squid -v
Squid Cache: Version 3.4.10
configure options: '--with-default-user=squid' '--bindir=/usr/local/sbin' '--sbindir=/usr/local/sbin' '--datadir=/usr/local/etc/squid' '--libexecdir=/usr/local/libexec/squid' '--localstatedir=/var' '--sysconfdir=/usr/local/etc/squid' '--with-logdir=/var/log/squid' '--with-pidfile=/var/run/squid/squid.pid' '--with-swapdir=/var/squid/cache' '--enable-auth' '--enable-build-info' '--enable-loadable-modules' '--enable-removal-policies=lru heap' '--disable-epoll' '--disable-linux-netfilter' '--disable-linux-tproxy' '--disable-translation' '--disable-arch-native' '--disable-eui' '--disable-cache-digests' '--enable-delay-pools' '--disable-ecap' '--disable-esi' '--disable-follow-x-forwarded-for' '--disable-htcp' '--disable-icap-client' '--disable-icmp' '--disable-ident-lookups' '--disable-ipv6' '--enable-kqueue' '--with-large-files' '--disable-http-violations' '--without-nettle' '--disable-snmp' '--enable-ssl' '--disable-ssl-crtd' '--disable-stacktraces' '--disable-ipf-transparent' '--disable-ipfw-transparent' '--disable-pf-transparent' '--without-nat-devpf' '--disable-forw-via-db' '--enable-wccp' '--enable-wccpv2' '--enable-auth-basic=DB MSNT MSNT-multi-domain NCSA PAM POP3 RADIUS fake getpwnam LDAP SASL' '--enable-auth-digest=file' '--enable-external-acl-helpers=file_userip time_quota unix_group LDAP_group kerberos_ldap_group' '--enable-auth-negotiate=kerberos wrapper' '--enable-auth-ntlm=fake smb_lm' '--enable-storeio=ufs aufs diskd' '--enable-disk-io=AIO Blocking IpcIo Mmapped DiskThreads DiskDaemon' '--enable-log-daemon-helpers=file' '--enable-url-rewrite-helpers=fake' '--enable-storeid-rewrite-helpers=file' '--with-openssl=/usr' '--disable-optimizations' '--enable-debug-cbdata' '--prefix=/usr/local' '--mandir=/usr/local/man' '--infodir=/usr/local/info/' '--build=amd64-portbld-freebsd9.2' 'build_alias=amd64-portbld-freebsd9.2' 'CC=cc' 'CFLAGS=-pipe -I/usr/local/include -I/usr/local/include -I/usr/include -g -fstack-protector -DLDAP_DEPRECATED -fno-strict-aliasing' 'LDFLAGS= -L/usr/local/lib -L/usr/local/lib -pthread -Wl,-rpath,/usr/lib:/usr/local/lib -L/usr/lib -fstack-protector' 'LIBS=' 'CPPFLAGS=-I/usr/local/include' 'CXX=c++' 'CXXFLAGS=-pipe -I/usr/local/include -I/usr/local/include -I/usr/include -g -fstack-protector -DLDAP_DEPRECATED -fno-strict-aliasing' 'CPP=cpp'
Код: Выделить всё
cat /etc/krb5.conf
[libdefaults]
default_realm = XXXX.XXXX.XXXX
dns_lookup_kdc = no
dns_lookup_realm = no
default_keytab_name = /etc/krb5.keytab
default_tgs_enctypes = rc4-hmac
default_tkt_enctypes = rc4-hmac
permitted_enctypes = rc4-hmac
[realms]
XXXX.XXXX.XXXX = {
kdc = 192.168.xxx.xxx
kdc = 192.168.xxx.xxx
admin_server = 192.168.xxx.xxx
admin_server = 192.168.xxx.xxx
default_domain = xxxx.xxxx.xxxx
}
[domain_realm]
.xxxx.xxxx.xxxx = XXXX.XXXX.XXXX
xxxx.xxxx.xxxx = XXXX.XXXX.XXXX
[logging]
kdc = FILE:/var/log/kerberos/kdc.log
admin_server = FILE:/var/log/kerberos/kadmin.log
default = FILE:/var/log/kerberos/krb5lib.log
Код: Выделить всё
cat /usr/local/etc/squid/squid.conf
auth_param negotiate program /usr/local/libexec/squid/negotiate_kerberos_auth -d -s HTTP/x.XXXX.XXXX.XXXX@XXXX.XXXX.XXXX
auth_param negotiate children 20
auth_param negotiate keep_alive on
dns_nameservers 127.0.0.1 xxx.xxx.xxx.xxx xxx.xxx.xxx.xxx 8.8.8.8
acl localnet src 192.168.xxx.0/24
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
cache deny all
no_cache deny all
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost manager
http_access deny manager
### allow list
acl acl_rabota url_regex "/usr/local/etc/squid/allow_list/rabota"
acl acl_novosti url_regex "/usr/local/etc/squid/allow_list/novosti"
acl acl_search url_regex "/usr/local/etc/squid/allow_list/search"
acl acl_working url_regex "/usr/local/etc/squid/allow_list/working"
### deny list
acl acl_social url_regex "/usr/local/etc/squid/deny_list/social"
acl acl_anonimaizer url_regex "/usr/local/etc/squid/deny_list/anonimaizer"
acl acl_media url_regex "/usr/local/etc/squid/deny_list/media"
acl acl_porno url_regex "/usr/local/etc/squid/deny_list/porno"
acl acl_chats url_regex "/usr/local/etc/squid/deny_list/chats"
external_acl_type ldap_search ttl=300 negative_ttl=300 %LOGIN \
/usr/local/libexec/squid/ext_ldap_group_acl \
-R -b "DC=xxxx,DC=xxxx,DC=xxxx" \
-f "(&(objectclass=user)(sAMAccountName=%v)(memberof=CN=%a,OU=xxxx,DC=xxxx,DC=xxxx,DC=xxxx))" \
-D "user@xxxx.xxxx.xxxx" -W "/usr/local/etc/squid/authpw" \
-K -d -h 192.168.xxx.xxx 192.168.xxx.xxx
acl acl_all_internet external ldap_search all_internet
acl acl_rabota_only external ldap_search rabota_only
acl acl_not_internet external ldap_search not_internet
acl acl_standart_internet external ldap_search standart_internet
acl acl_working_internet external ldap_search working_internet
#---------- Rules for all_internet group ----------#
http_access allow acl_all_internet
#---------- Rules for standart_internet group ----------#
http_access deny acl_standart_internet acl_social
http_access deny acl_standart_internet acl_anonimaizer
http_access deny acl_standart_internet acl_media
http_access deny acl_standart_internet acl_chats
http_access deny acl_standart_internet acl_porno
http_access allow acl_standart_internet
#---------- RULES for working_internet group ----------#
http_access deny acl_working_internet acl_social
http_access deny acl_working_internet acl_anonimaizer
http_access deny acl_working_internet acl_media
http_access deny acl_working_internet acl_chats
http_access deny acl_working_internet acl_porno
http_access allow acl_working_internet acl_rabota
http_access allow acl_working_internet acl_novosti
http_access allow acl_working_internet acl_search
http_access allow acl_working_internet acl_working
#---------- Rules for rabota_only group ----------#
http_access allow acl_rabota_only acl_rabota
#---------- Rules for not_internet group ----------#
http_access deny acl_not_internet
http_access deny all
http_port 3128
shutdown_lifetime 10.00 seconds
#maximum_object_size 32 MB
#cache_dir ufs /usr/local/squid/cache 2048 16 256
access_log stdio:/usr/local/squid/logs/access.log squid
cache_store_log stdio:/usr/local/squid/logs/store.log
cache_log /usr/local/squid/logs/cache.log
coredump_dir /usr/local/squid
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern . 0 20% 4320
omnus
-
Хостинг HostFood.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/
-
mzroot
- проходил мимо
- Сообщения: 9
- Зарегистрирован: 2013-12-04 16:48:21
- Откуда: г. Пушкино
Непрочитанное сообщение
mzroot » 2015-01-19 13:54:22
А что написано при этом в логах squid'а?
Может, глупость спрошу, но все же. А зачем Вам kerberos, если поиск производиться непосредственно в LDAP (без winbindd'а)?
mzroot
-
omnus
- рядовой
- Сообщения: 30
- Зарегистрирован: 2012-04-26 13:43:29
Непрочитанное сообщение
omnus » 2015-01-19 14:29:33
в логах очень много строчек:
Код: Выделить всё
2015/01/19 17:04:57 kid1| CBDATA memory leak. cbdata=0x80493c858 store_client.cc:337
2015/01/19 17:04:57 kid1| CBDATA memory leak. cbdata=0x804939758 store.cc:1611
2015/01/19 17:04:57 kid1| CBDATA memory leak. cbdata=0x804ded058 store_client.cc:154
2015/01/19 17:04:57 kid1| CBDATA memory leak. cbdata=0x80493c858 store_client.cc:337
2015/01/19 17:04:57 kid1| CBDATA memory leak. cbdata=0x804ded058 store_client.cc:154
2015/01/19 17:04:57 kid1| CBDATA memory leak. cbdata=0x80493c858 store_client.cc:337
2015/01/19 17:04:57 kid1| CBDATA memory leak. cbdata=0x804e2f798 clientStream.cc:235
2015/01/19 17:04:57 kid1| CBDATA memory leak. cbdata=0x803904358 Checklist.cc:320
2015/01/19 17:04:57 kid1| CBDATA memory leak. cbdata=0x803832858 Checklist.cc:45
2015/01/19 17:04:57 kid1| CBDATA memory leak. cbdata=0x804ab3d18 Checklist.cc:160
2015/01/19 17:04:57 kid1| CBDATA memory leak. cbdata=0x803832658 Checklist.cc:45
2015/01/19 17:04:57 kid1| CBDATA memory leak. cbdata=0x804ab3d18 Checklist.cc:160
2015/01/19 17:04:57 kid1| CBDATA memory leak. cbdata=0x80493c858 store_client.cc:337
2015/01/19 17:04:57 kid1| CBDATA memory leak. cbdata=0x804bd77d8 ipcache.cc:353
2015/01/19 17:04:57 kid1| CBDATA memory leak. cbdata=0x804ded058 store_client.cc:154
2015/01/19 17:04:57 kid1| CBDATA memory leak. cbdata=0x80493c858 store_client.cc:337
2015/01/19 17:04:57 kid1| CBDATA memory leak. cbdata=0x804939758 store.cc:1611
2015/01/19 17:04:57 kid1| CBDATA memory leak. cbdata=0x804ded058 store_client.cc:154
2015/01/19 17:04:57 kid1| CBDATA memory leak. cbdata=0x80493c858 store_client.cc:337
2015/01/19 17:04:57 kid1| CBDATA memory leak. cbdata=0x804ded058 store_client.cc:154
2015/01/19 17:04:57 kid1| CBDATA memory leak. cbdata=0x80493c858 store_client.cc:337
2015/01/19 17:04:57 kid1| CBDATA memory leak. cbdata=0x804e2f798 clientStream.cc:235
2015/01/19 17:04:57 kid1| CBDATA memory leak. cbdata=0x803904358 Checklist.cc:320
2015/01/19 17:04:57 kid1| CBDATA memory leak. cbdata=0x803832858 Checklist.cc:45
2015/01/19 17:04:57 kid1| CBDATA memory leak. cbdata=0x804ab3d18 Checklist.cc:160
2015/01/19 17:04:57 kid1| CBDATA memory leak. cbdata=0x803832658 Checklist.cc:45
2015/01/19 17:04:57 kid1| CBDATA memory leak. cbdata=0x804ab3d18 Checklist.cc:160
2015/01/19 17:04:57 kid1| CBDATA memory leak. cbdata=0x80493c858 store_client.cc:337
2015/01/19 17:04:57 kid1| CBDATA memory leak. cbdata=0x804bd77d8 ipcache.cc:353
2015/01/19 17:04:57 kid1| CBDATA memory leak. cbdata=0x804ded058 store_client.cc:154
2015/01/19 17:04:57 kid1| CBDATA memory leak. cbdata=0x80493c858 store_client.cc:337
2015/01/19 17:04:57 kid1| CBDATA memory leak. cbdata=0x804939758 store.cc:1611
2015/01/19 17:04:57 kid1| CBDATA memory leak. cbdata=0x804ded058 store_client.cc:154
2015/01/19 17:04:57 kid1| CBDATA memory leak. cbdata=0x80493c858 store_client.cc:337
2015/01/19 17:04:57 kid1| CBDATA memory leak. cbdata=0x804ded058 store_client.cc:154
2015/01/19 17:04:57 kid1| CBDATA memory leak. cbdata=0x80493c858 store_client.cc:337
2015/01/19 17:04:57 kid1| CBDATA memory leak. cbdata=0x804e2f798 clientStream.cc:235
2015/01/19 17:04:57 kid1| CBDATA memory leak. cbdata=0x803904358 Checklist.cc:320
а керберос, если я правильно понял, используется для аутентификации пользователей, просто здесь у меня не указано это (удалял пока экспериментировал)
omnus
-
omnus
- рядовой
- Сообщения: 30
- Зарегистрирован: 2012-04-26 13:43:29
Непрочитанное сообщение
omnus » 2015-01-19 14:44:47
но как я понял это не влияет на загрузку и скорость страниц, так как параллельно крутится прокси без аутентификации и авторизации (с базовым конфигом), у него в логах точно такая-же ошибка, а скорость загрузки страниц и загрузка процессора не страдают.
omnus
-
skeletor
- майор
- Сообщения: 2508
- Зарегистрирован: 2007-11-16 18:22:04
- Откуда: Kiev
-
Контактная информация:
Непрочитанное сообщение
skeletor » 2015-01-19 15:02:19
Возможно squid не справляется с нагрузкой, запускайте несколько потоков (благо 3.4 умеет это делать).
"Винда съела дрова и резет здесь не фурычит."
"Все говорят, что у меня /dev/hands криво и я всё делаю через /dev/ass. А у меня этих фалов вообще нет!"
skeletor
-
mzroot
- проходил мимо
- Сообщения: 9
- Зарегистрирован: 2013-12-04 16:48:21
- Откуда: г. Пушкино
Непрочитанное сообщение
mzroot » 2015-01-19 20:39:06
omnus писал(а): Код: Выделить всё
cat /usr/local/etc/squid/squid.conf
auth_param negotiate program /usr/local/libexec/squid/negotiate_kerberos_auth -d -s HTTP/x.XXXX.XXXX.XXXX@XXXX.XXXX.XXXX
auth_param negotiate children 20
auth_param negotiate keep_alive on
...
external_acl_type ldap_search ttl=300 negative_ttl=300 %LOGIN \
/usr/local/libexec/squid/ext_ldap_group_acl \
-R -b "DC=xxxx,DC=xxxx,DC=xxxx" \
-f "(&(objectclass=user)(sAMAccountName=%v)(memberof=CN=%a,OU=xxxx,DC=xxxx,DC=xxxx,DC=xxxx))" \
-D "user@xxxx.xxxx.xxxx" -W "/usr/local/etc/squid/authpw" \
-K -d -h 192.168.xxx.xxx 192.168.xxx.xxx
Вот пример стально работающего конфига (правда, используется NTLM авторизация):
Код: Выделить всё
## NTLM auth
auth_param ntlm program /usr/local/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp
auth_param ntlm keep_alive off
auth_param ntlm children 100
auth_param basic program /usr/local/bin/ntlm_auth --helper-protocol=squid-2.5-basic
auth_param basic children 100
authenticate_cache_garbage_interval 15 minute
authenticate_ttl 5 minute
auth_param basic credentialsttl 20 minute
auth_param basic casesensitive off
auth_param basic realm Squid proxy-caching web server
external_acl_type nt_group ipv4 %LOGIN /usr/local/libexec/squid/ext_wbinfo_group_acl
mzroot
-
_skeletor
- проходил мимо
Непрочитанное сообщение
_skeletor » 2015-01-19 20:48:50
Запустит 4 отдельных экземпляра (всё равно что 4 копии сквида запустить)
_skeletor
-
omnus
- рядовой
- Сообщения: 30
- Зарегистрирован: 2012-04-26 13:43:29
Непрочитанное сообщение
omnus » 2015-01-20 5:34:55
mzroot спасибо, попробую увеличить children.
_skeletor а что нужно для использования параметра workers?
у меня с ним сквид сразу же падает.
omnus
-
skeletor
- майор
- Сообщения: 2508
- Зарегистрирован: 2007-11-16 18:22:04
- Откуда: Kiev
-
Контактная информация:
Непрочитанное сообщение
skeletor » 2015-01-20 11:30:38
выставить такие sysctl переменные.
Код: Выделить всё
net.local.dgram.recvspace: 262144
net.local.dgram.maxdgram: 16384
"Винда съела дрова и резет здесь не фурычит."
"Все говорят, что у меня /dev/hands криво и я всё делаю через /dev/ass. А у меня этих фалов вообще нет!"
skeletor
-
omnus
- рядовой
- Сообщения: 30
- Зарегистрирован: 2012-04-26 13:43:29
Непрочитанное сообщение
omnus » 2015-01-26 5:21:52
спаси за помощь, с загрузкой немного справился, но все равно в логи сыпал ошибками, так что, откатился до 3.3 и проблемы ушли.
одного только не пойму, при открытии странички, на пару секунд происходит затуп, но в дальнейшем все открывается быстро.
грешу на сам керберос, так как параллельно работает сквид без аутентификации и проверки прав, в нем все отрабатывает очень быстро.
кто-нибудь сталкивался с таким?
omnus