Здравствуйте!Столкнулся со следующей проблемой. Есть локалка с выходом в интернет.
На шлюзе (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/tcpmap sk0 192.168.1.11/32 -> 0/32 portmap tcp/udp 40000:65000
map sk0 192.168.1.11/32 -> 0/32map sk0 192.168.1.12/32 -> 0/32 portmap tcp/udp 40000:65000
map sk0 192.168.1.12/32 -> 0/32map sk0 192.168.1.13/32 -> 0/32 portmap tcp/udp 40000:65000
map sk0 192.168.1.13/32 -> 0/32rdr 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.logauth_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 в стоп-листе нет :) ).Просьба, как у всех новичков, сильно не пинайте!
Александр
Права на Аксес.лог?
У меня такие грабли были, когда троян на комп попал. Лог не обновлялся, а сквид работал.
xчто пишет в cache.log ?
>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
----Похоже что-то всё-таки с настройками. Только вот куда смотреть?
скорее всего некорректно настроено прозрачное проксирование в само
скорее всего некорректно настроено прозрачное проксирование в самой фре,
некорректно заворачиваешь трафик по 80 порту (и др) на порт сквида
>скорее всего некорректно настроено прозрачное проксирование в самой фре,
>некорректно заворачиваешь трафик по 80 порту (и др) на порт сквида
>Упс... Верно... Ходят мимо сквида!
А как тогда трафик правильно развернуть?
>А как тогда трафик правильно развернуть?
во Фрее не гуру, но инфа кое какая есть, с помощью правил 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 in3) в 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 - адрес ПРОКСИ-сервера)
Спасибо!Проблема разрешилась. Просто нужно быть повнимательнее при правке
конфигов :)
>Спасибо!
>
>Проблема разрешилась. Просто нужно быть повнимательнее при правке
>конфигов :)
а как именно разрешилась? у меня вот тоже перестал писаться. причём прокси не прозрачный