URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID12
Нить номер: 2969
[ Назад ]

Исходное сообщение
"Squid -- пропал access.log"

Отправлено Александр , 01-Мрт-05 08:37 
Здравствуйте!

Столкнулся со следующей проблемой. Есть локалка с выходом в интернет.
На шлюзе (FreeBSD 5.3) сконфигурированы 2 интерфейса: rl0 (192.168.1.0/24)
и внешний sk0 (IP провайдера). Настроил NAT, HTTP трафик с rl0 принудительно заворачивается на squid:

-- ipnat.rules --
map sk0 192.168.1.11/32 -> X.Y.Z.P/32 proxy port ftp ftp/tcp
map sk0 192.168.1.12/32 -> X.Y.Z.P/32 proxy port ftp ftp/tcp
map sk0 192.168.1.13/32 -> X.Y.Z.P/32 proxy port ftp ftp/tcp

map sk0 192.168.1.11/32 -> 0/32 portmap tcp/udp 40000:65000
map sk0 192.168.1.11/32 -> 0/32

map sk0 192.168.1.12/32 -> 0/32 portmap tcp/udp 40000:65000
map sk0 192.168.1.12/32 -> 0/32

map sk0 192.168.1.13/32 -> 0/32 portmap tcp/udp 40000:65000
map sk0 192.168.1.13/32 -> 0/32

rdr rl0 192.168.1.1/32 port 80 -> 127.0.0.1 port 3128
-----

сам squid настроен по местному руководству:

-- squid.conf --
http_port 3128
hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin \?
no_cache deny QUERY
cache_access_log /usr/local/squid/logs/access.log

auth_param basic children 5
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours
auth_param basic casesensitive off
refresh_pattern ^ftp:         &n... 1440    20%     10080
refresh_pattern ^gopher:        1440    0%      1440
refresh_pattern .               0       20%     4320
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, snews
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
acl Porno       url_regex '/usr/local/squid/por'
acl NoBanners   url_regex '/usr/local/squid/noba'
http_access deny Porno
http_access allow NoBanners
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
acl our_networks src 192.168.1.0/24
http_access allow our_networks
http_access deny all
http_reply_access allow all
icp_access allow all
cache_effective_user squid
httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on
error_directory /usr/local/etc/squid/errors/Russian-1251
coredump_dir /usr/local/squid/cache
cache_effective_group squid
----

В общем всё работает, выход есть, статистика по IP считается (-лась), стоп-лист отрабатывает, но с недавних пор перестал обновляться
access.log! Неделю назад обновление прекратилось. Вполне
возможно, я где-то сменил настройку, но сейчас уже и сам не помню
где :( Обнаружил совершенно случайнов в конце месяца, когда sarg
перестал давать статистику. (Конфиги привожу на текущий момент).

Первоначально было предположение о переполнении лога (>5МБ), но
ротация (squid -k rotate) не помогла. access.log пуст. Остановка и
перезапуск squid также не помогают (pid-файл не остаётся, так что
удалять нечего). Еще одна странность: при прописывании localhost:3128
браузеру в качестве прокси-сервера _на шлюзе_ в access.log появляются
записи о соединении! При этом бОльшая часть сайтов почему-то блокируется
(www.redhat.com в стоп-листе нет :) ).

Просьба, как у всех новичков, сильно не пинайте!

Александр


Содержание

Сообщения в этом обсуждении
"Squid -- пропал access.log"
Отправлено VDS , 01-Мрт-05 12:55 
Права на Аксес.лог?
У меня такие грабли были, когда троян на комп попал. Лог не обновлялся, а сквид работал.

"Squid -- пропал access.log"
Отправлено ipmanyak , 01-Мрт-05 13:27 
xчто пишет в cache.log ?

"Squid -- пропал access.log"
Отправлено Александр , 01-Мрт-05 14:58 
>xчто пишет в cache.log ?
Да вроде ничего особенного, вот с момента запуска:
-- cache.log --
2005/03/01 07:56:02| Starting Squid Cache version 2.5.STABLE9 for amd64-portbld-freebsd5.3...
2005/03/01 07:56:02| Process ID 617
2005/03/01 07:56:02| With 3584 file descriptors available
2005/03/01 07:56:02| DNS Socket created at 0.0.0.0, port 58448, FD 5
2005/03/01 07:56:02| Adding nameserver 192.168.1.1 from /etc/resolv.conf
2005/03/01 07:56:02| Adding nameserver X.Y.Z.P from /etc/resolv.conf
2005/03/01 07:56:02| User-Agent logging is disabled.
2005/03/01 07:56:02| Unlinkd pipe opened on FD 10
2005/03/01 07:56:02| Swap maxSize 102400 KB, estimated 7876 objects
2005/03/01 07:56:02| Target number of buckets: 393
2005/03/01 07:56:02| Using 8192 Store buckets
2005/03/01 07:56:02| Max Mem  size: 8192 KB
2005/03/01 07:56:02| Max Swap size: 102400 KB
2005/03/01 07:56:02| Local cache digest enabled; rebuild/rewrite every 3600/3600 sec
2005/03/01 07:56:02| Rebuilding storage in /usr/local/squid/cache (CLEAN)
2005/03/01 07:56:02| Using Least Load store dir selection
2005/03/01 07:56:02| Set Current Directory to /usr/local/squid/cache
2005/03/01 07:56:02| Loaded Icons.
2005/03/01 07:56:05| Accepting HTTP connections at 0.0.0.0, port 3128, FD 12.
2005/03/01 07:56:05| Accepting ICP messages at 0.0.0.0, port 3130, FD 13.
2005/03/01 07:56:05| Accepting SNMP messages on port 3401, FD 14.
2005/03/01 07:56:05| WCCP Disabled.
2005/03/01 07:56:05| Pinger socket opened on FD 16
2005/03/01 07:56:05| NETDB state reloaded; 312 entries, 66 msec
2005/03/01 07:56:05| Ready to serve requests.
2005/03/01 07:56:05| Store rebuilding is 36.4% complete
2005/03/01 07:56:05| Done reading /usr/local/squid/cache swaplog (11257 entries)
2005/03/01 07:56:05| Finished rebuilding storage from disk.
2005/03/01 07:56:05|     11257 Entries scanned
2005/03/01 07:56:05|         0 Invalid entries.
2005/03/01 07:56:05|         0 With invalid flags.
2005/03/01 07:56:05|     11257 Objects loaded.
2005/03/01 07:56:05|         0 Objects expired.
2005/03/01 07:56:05|         0 Objects cancelled.
2005/03/01 07:56:05|         0 Duplicate 2005/03/01 07:56:05|   Took 3.3 seconds (3440.7 objects/sec).
2005/03/01 07:56:05| Beginning Validation Procedure
2005/03/01 07:56:05|   Completed Validation Procedure
2005/03/01 07:56:05|   Validated 11257 Entries
2005/03/01 07:56:05|   store_swap_size = 92152k
2005/03/01 07:56:07| storeLateRelease: released 0 objects
2005/03/01 08:51:57| NETDB state saved; 312 entries, 775 msec
2005/03/01 09:46:06| NETDB state saved; 312 entries, 214 msec
2005/03/01 10:50:17| NETDB state saved; 312 entries, 857 msec
2005/03/01 11:51:35| NETDB state saved; 312 entries, 270 msec
2005/03/01 12:37:40| NETDB state saved; 312 entries, 58 msec
2005/03/01 13:41:22| NETDB state saved; 312 entries, 904 msec
2005/03/01 14:54:22| NETDB state saved; 312 entries, 589 msec
2005/03/01 15:44:05| NETDB state saved; 312 entries, 326 msec
2005/03/01 16:44:15| NETDB state saved; 312 entries, 221 msec
URLs purged.
2005/03/01 07:56:05|         0 Swapfile clashes avoided.
----

Права стандартные:

ll -B /usr/local/squid/logs/
total 13812
-rw-r--r--  1 squid  squid     1100  1 мар 10:25 access.log

Процесс squid работает от имени squid.

Но ведь пишет же он в лог, если прописать на самой машине в качестве прокси:
cat /usr/local/squid/logs/access.log
1109595125.784      4 127.0.0.1 TCP_DENIED/403 1412 GET http://www.securitylab.ru/forum/forum_posts.asp? - NONE/-
text/html
1109595127.479    196 127.0.0.1 TCP_DENIED/403 1412 GET http://www.securitylab.ru/forum/forum_posts.asp? - NONE/-
text/html
1109595128.824    727 127.0.0.1 TCP_DENIED/403 1412 GET http://www.securitylab.ru/forum/forum_posts.asp? - NONE/-
text/html
1109595159.382    996 127.0.0.1 TCP_DENIED/403 1360 GET http://www.redhat.com/ - NONE/- text/html
1109595160.947    485 127.0.0.1 TCP_DENIED/403 1360 GET http://www.redhat.com/ - NONE/- text/html
1109654599.157    941 127.0.0.1 TCP_MISS/302 440 GET http://www.google.com/ - DIRECT/66.102.11.99 text/html
1109654599.730    573 127.0.0.1 TCP_MISS/200 2685 GET http://www.google.ru/ - DIRECT/66.102.11.104 text/html
1109654716.272    241 127.0.0.1 TCP_DENIED/403 1360 GET http://www.redhat.com/ - NONE/- text/html
1109654727.315    277 127.0.0.1 TCP_MISS/302 440 GET http://www.google.com/ - DIRECT/66.102.11.104 text/html
1109654727.538    223 127.0.0.1 TCP_MISS/200 2685 GET http://www.google.ru/ - DIRECT/66.102.11.99 text/html
----

Похоже что-то всё-таки с настройками. Только вот куда смотреть?


"Squid -- пропал access.log"
Отправлено ipmanyak , 01-Мрт-05 16:28 
скорее всего некорректно настроено прозрачное проксирование в само

"Squid -- пропал access.log"
Отправлено ipmanyak , 01-Мрт-05 16:33 
скорее всего некорректно настроено прозрачное проксирование в самой фре,
некорректно заворачиваешь трафик по 80 порту (и др)  на порт сквида



"Squid -- пропал access.log"
Отправлено Александр , 01-Мрт-05 16:56 
>скорее всего некорректно настроено прозрачное проксирование в самой фре,
>некорректно заворачиваешь трафик по 80 порту (и др)  на порт сквида
>

Упс... Верно... Ходят мимо сквида!
А как тогда трафик правильно развернуть?


"Squid -- пропал access.log"
Отправлено ipmanyak , 02-Мрт-05 06:32 
>А как тогда трафик правильно развернуть?
во Фрее не гуру, но инфа кое какая есть, с помощью правил ipfw это делается так
1) в ядре:
options         IPFIREWALL_FORWARD      #enable transparent proxy support
2) в ipfw:
ipfw add fwd $proxy_ip,3128 tcp from $network_ip to any 80 via $internal_dev in
в твоем случае $internal_dev не an0
если $proxy_ip внутрений ip,то добавь алиас и apache повесь на него или
наоборот, i.e.
ifconfig $internal_dev inet $proxy_ip/$netmask
ifconfig $internal_dev inet $apache_ip/32 alias
если хочешь на apache без proxy , чтобы ip userov(фамилия такой) в логах
откладывались, то до форвардинга пропиши allow на $apache_ip, i.e.
ipfw add allow tcp from $network_ip to $apache_ip 80 via $internal_dev in
ipfw add fwd $proxy_ip,3128 tcp from $network_ip to any 80 via $internal_dev in

3) в squid.conf:
httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on

или так

Для FreeBSD:
01000 fwd 127.0.0.1,3128 tcp from 10.128.0.0/16 to any 80,8080,8101
При этом принудительное проксирование будет работать, если ПРОКСИ-сервер стоит в качестве маршрутизатора. Если же нет, то следует на маршрутизаторе "развернуть" Веб-трафик на ПРОКСИ-сервер. Например, так:
ipfw add 10 fwd 195.131.31.3 tcp from 10.128.0.0/16 to any 80,8080 out xmit lnc0
(195.131.31.3 - адрес ПРОКСИ-сервера)


"Squid -- пропал access.log"
Отправлено Александр , 02-Мрт-05 07:49 
Спасибо!

Проблема разрешилась. Просто нужно быть повнимательнее при правке
конфигов :)


"Squid -- пропал access.log"
Отправлено quest , 08-Дек-06 09:14 
>Спасибо!
>
>Проблема разрешилась. Просто нужно быть повнимательнее при правке
>конфигов :)
а как именно разрешилась? у меня вот тоже перестал писаться. причём прокси не прозрачный