Тема: Squid не пускает в инет
Собственно проблема в теме, не пускает в инет.
в ipfw есть правило:
#${fw} add fwd 127.0.0.1,3128 tcp from 192.168.99.0/24 to any 80-83,8080-8088 via ${ifnet}
пакеты идут (без этого правила, все идут просто через нат)
access.log и cache.log пишутся
вот, пример access.log , я пытался зайти на google:
1372137351.110 0 192.168.99.51 NONE/400 3815 GET /suggest-ff.cgi?part=httpwww.google.ru - HIER_NONE/- text/html
вот такое сообщение в браузере:
ERROR
The requested URL could not be retrieved
При получении URL / произошла следующая ошибка
Недопустимый URL
Какая-то часть запрашиваемого URL некорректна
Возможные проблемы:
Отсутствет или неверено указан протокол (должно быть http:// или похоже)
Отсутствует имя узла (hostname)
Недопустимое двойное экранирование в пути URL (URL-Path)
Недопустимый символ в имени узла (hostname), подчёркивания запрещены.
Администратор Вашего кэша: webmaster.
конфиг:
squid.conf
# Обслуживаемая сеть
acl localnet src 192.168.99.0/24 # RFC1918 possible internal network
#Ошибки на русском
error_directory /usr/local/etc/squid/errors/ru
#Время ожидания установки TCP соединения с сервером
connect_timeout 20 second
#При завершении работы ожидать закрытия клиентских подключений
shutdown_lifetime 1 seconds
#Не кэшировать файлы больше заданного размера
#По умолчанию 4Мб
maximum_object_size 320 MB
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
# Only allow cachemgr access from localhost
http_access allow localhost manager
http_access deny manager
# Deny requests to certain unsafe ports
http_access deny !Safe_ports
# Deny CONNECT to other than secure SSL ports
http_access deny CONNECT !SSL_ports
#http_access allow localnet
http_access allow localhost
#Путь к списку IP-адресов пользователей, для которых не действует фильтр сайтов и контента
acl AdminsIP src "/usr/local/etc/squid/AccessLists/AdminsIP.txt"
#Путь к списку IP-адресов пользователей
acl RukIP src "/usr/local/etc/squid/AccessLists/RukIP.txt"
acl bistrIP src "/usr/local/etc/squid/AccessLists/bistrIP.txt"
acl medlnIP src "/usr/local/etc/squid/AccessLists/medlnIP.txt"
acl kovalev src "/usr/local/etc/squid/AccessLists/kovalev.txt"
#Путь к списку запрещенных сайтов
acl RestrictedDomains dstdomain "/usr/local/etc/squid/AccessLists/zapret.txt"
#Mime-типы для аудио и видео
acl MimeAudioVideo rep_mime_type audio video
#Не ограничивать доступ администраторам
http_access allow AdminsIP
http_access allow kovalev
#Блокировать запрещенные сайты
http_access deny RestrictedDomains
http_access deny RestrictedDomains
#Разрешить доступ из локальной сети
http_access allow RukIP
http_access allow bistrIP
http_access allow medlnIP
# Запрещаем всем кому не разрешено
http_access deny all
#Фильтрация контента, на этапе получения ответа от сервера
#Не ограничивать доступ администраторам
http_reply_access allow AdminsIP
#Блокировать загрузку аудио/видео контента
http_reply_access deny MimeAudioVideo
#Разрешить весь остальной контент
http_reply_access allow all
#Ограничение скорости
delay_pools 2
delay_class 1 2
delay_class 2 2
delay_access 1 allow AdminsIP
delay_access 1 allow RukIP
delay_access 1 allow bistrIP
delay_access 1 deny all
delay_access 2 allow medlnIP
delay_access 2 allow kovalev
delay_access 2 deny all
delay_parameters 1 -1/-1 -1/-1
delay_parameters 2 50000/50000 -1/-1
# Squid normally listens to port 3128
http_port 3128
# Leave coredumps in the first cache dir
coredump_dir /var/squid/cache/squid
# Add any of your own refresh_pattern entries above these.
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
Добавлено: 26-06-2013 16:24:48
Решено.
squid должен быть установлен с опцией '--enable-ipfw-transparent' (по умолчанию disable )
ну и в конфиге
http_port 3128 transparent
Добавлено: 26-06-2013 16:27:39
Решено.
squid должен быть установлен с опцией '--enable-ipfw-transparent' (по умолчанию disable)
ну и в конфиге
# Squid normally listens to port 3128
http_port 3128 transparent