Последние два дня мы потратили, пытаясь заставить squid 2.7 работать с ubuntu 9.10. Компьютер под управлением ubuntu имеет два сетевых интерфейса: eth0 и eth1 с dhcp, работающим на eth1. Оба интерфейса имеют статические IP-адреса, eth0 подключен к Интернету, а eth1 подключен к нашей локальной сети.
Мы безуспешно следовали буквально десяткам различных руководств. Учебник здесь был последним, который мы сделали, что действительно дало нам какие-то результаты: http://www.basicconfig.com/linuxnetwork/setup_ubuntu_squid_proxy_server_beginner_guide.
Когда мы пытаемся получить доступ к сайту, например, серьезномуwheels.com, из локальной сети, мы получаем следующее сообщение на клиентском компьютере:
ОШИБКА
запрашиваемый адрес недоступен
Ошибка недопустимого запроса при попытке обработать запрос:
GET / HTTP / 1.1
Хост: www.seriouswheels.com
Подключение: keep-alive
Пользовательский агент: Mozilla / 5.0 (X11; U; Linux x86_64; en-US) AppleWebKit / 532.9 (KHTML, например Gecko) Chrome / 5.0.307.11 Safari / 532.9
Cache-Control: max-age = 0
Принять: application / xml, application / xhtml + xml, text / html; q = 0.9, text / plain; q = 0.8, image / png,/; q = 0,5 Accept-Encoding: gzip, deflate, sdch Cookie: __utmz = 88947353.1269218405.1.1.utmccn = (прямой) | utmcsr = (прямой) | utmcmd = (нет); __qca = P0-1052556952-1269218405250; __utma = 88947353.1027590811.1269218405.1269218405.1269218405.1; __qseg = Q_D Accept-Language: en-US, en; q = 0.8 Accept-Charset: ISO-8859-1, utf-8; q = 0,7, *; q = 0,3
Вот некоторые возможные проблемы:
Метод запроса отсутствует или неизвестен.
Отсутствует URL.
Отсутствует идентификатор HTTP (HTTP / 1.0).
Запрос слишком велик.
Content-Length отсутствует для запросов POST или PUT.
Недопустимый символ в имени хоста; подчеркивания не допускаются.
Ваш администратор кеша - веб-мастер.
Ниже приведены все файлы конфигурации: /etc/squid/squid.conf, /etc/network/if-up.d/00-firewall, / etc / network / interfaces, /var/log/squid/access.log. Что-то где-то не так, но мы не можем понять где.
Наша конечная цель для всего этого - наложить контент на каждую страницу, которую клиент запрашивает в локальной сети. Нам сказали, что это можно сделать с помощью squid, но на данном этапе игры мы просто пытаемся правильно настроить squid в качестве нашего прокси.
Заранее спасибо.
acl all src all
прото cache_object диспетчера acl
acl localhost SRC 127.0.0.1/32
acl to_localhost dst 127.0.0.0/8
acl localnet SRC 192.168.0.0/24
acl SSL_ports порт 443 # https
acl SSL_ports порт 563 # snews
acl SSL_ports порт 873 # rsync
acl Safe_ports порт 80 # http
acl Safe_ports порт 21 # ftp
acl Safe_ports порт 443 # https
acl Safe_ports порт 70 # gopher
acl Safe_ports порт 210 # wais
acl Safe_ports port 1025-65535 # незарегистрированные порты
acl Safe_ports порт 280 # http-mgmt
acl Safe_ports порт 488 # gss-http
acl Safe_ports порт 591 # файловый менеджер
acl Safe_ports порт 777 # многоязычный http
acl Safe_ports порт 631 # чашки
acl Safe_ports порт 873 # rsync
acl Safe_ports порт 901 # SWAT
acl-метод очистки PURGE
acl CONNECT метод CONNECT
http_access разрешить диспетчер localhost
http_access deny manager
http_access разрешить очистку localhost
http_access запретить чистку
http_access deny! Safe_ports
http_access deny CONNECT! SSL_ports
http_access разрешить localhost
http_access разрешить локальную сеть
http_access запретить все
icp_access разрешить локальную сеть
icp_access запретить все
http_port 3128
иерархия_стоплист cgi-bin?
cache_dir ufs / var / spool / squid / cache1 1000 16 256
access_log /var/log/squid/access.log squid
шаблон_обновления ^ ftp: 1440 20% 10080
обновить_паттерн ^ gopher: 1440 0% 1440
шаблон_обновления -i (/ cgi-bin / | \?) 0 0% 0
refresh_pattern (Выпуск | Пакет (.gz) *) $ 0 20% 2880
refresh_pattern. 0 20% 4320
acl shoutcast rep_header X-HTTP09-First-Line ^ ICY. [0-9]
upgrade_http0.9 deny shoutcast
acl apache rep_header Сервер ^ Apache
broken_vary_encoding разрешить apache
extension_methods ОТЧЕТ ОБ ОБЪЕДИНЕНИИ MKACTIVITY CHECKOUT
cache_mgr веб-мастер
cache_effective_user прокси
cache_effective_group прокси
файл_хостов / etc / hosts
каталог_коредумпа / var / spool / squid
access.log
1269243042.740 0 192.168.1.11 TCP_DENIED / 400 2576 GET NONE: // - NONE / - text / html
iptables -F iptables -t nat -F iptables -t mangle -F iptables -X
эхо 1 | тройник / proc / sys / net / ipv4 / ip_forward
iptables -t nat -A РАЗМЕЩЕНИЕ -j МАСКАД
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 3128
авто лоу
iface lo inet loopback
авто eth0
iface eth0 inet статический
адрес 142.104.109.179
маска сети 255.255.224.0
шлюз 142.104.127.254
авто eth1
iface eth1 inet static
адрес 192.168.1.100
маска сети 255.255.255.0
Вы должны сообщить Squid, что он настроен как прозрачная система.
Вместо того
http_port 3128
Тебе нужно
# enable the transparent option for interception caching
http_port 3128 transparent