1

Тема: 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