|
4 Squid и браузерыБольшинств доступных web браузеров поддерживают прокси и легко конфигурируются для поддержки Squid в качестве прокси. Некоторые из них поддерживают расширенные возможности такие как список доменов или URL шаблоны которые не следует кешировать, или JavaScript для автоматической настройки.4.1 Ручная настройка NetscapeВыберите Network Preferences из меню Options. На закладке Proxies, щелкните на Manual Proxy Configuration а затем на кнопке View. Для каждого протокола который поддерживает Ваш Squid (по умолчанию, HTTP, FTP, и gopher) введите имя или IP адрес Squid и номер порта (по умолчанию 3128) в колонке Port. Для тех протоколов, которые Ваш Squid не поддерживает оставьте поля пустыми.Здесь вид экрана ручной настройки прокси Netscape Navigator. 4.2 Автоматическая настройка NetscapeНастройка прокси Netscape Navigator может быть атоматизирована при помощи JavaScript (для версий Navigator 2.0 или выше). Выберите Network Preferences из меню Options. На закладке Proxies, щелкните на Automatic Proxy Configuration и впишите URL Вашего файла JavaScript конфигурации прокси.Здесь вид экрана автоматической настройки прокси Netscape Navigator. Вы также можете обратиться к документации Netscape по системе конфигурации прокси Navigator при помощи JavaScript по адресу http://home.netscape.com/eng/mozilla/2.0/relnotes/demo/proxy-live.html Здесь пример автоконфигурации на JavaScript от Oskar Pearson: //We (www.is.co.za) run a central cache for our customers that they //access through a firewall - thus if they want to connect to their intranet //system (or anything in their domain at all) they have to connect //directly - hence all the "fiddling" to see if they are trying to connect //to their local domain. //Replace each occurrence of company.com with your domain name //and if you have some kind of intranet system, make sure //that you put it's name in place of "internal" below. //We also assume that your cache is called "cache.company.com", and //that it runs on port 8080. Change it down at the bottom. //(C) Oskar Pearson and the Internet Solution (http://www.is.co.za) function FindProxyForURL(url, host) { //If they have only specified a hostname, go directly. if (isPlainHostName(host)) return "DIRECT"; //These connect directly if the machine they are trying to //connect to starts with "intranet" - ie http://intranet //Connect directly if it is intranet.* //If you have another machine that you want them to //access directly, replace "internal*" with that //machine's name if (shExpMatch( host, "intranet*")|| shExpMatch(host, "internal*")) return "DIRECT"; //Connect directly to our domains (NB for Important News) if (dnsDomainIs( host,"company.com")|| //If you have another domain that you wish to connect to //directly, put it in here dnsDomainIs(host,"sistercompany.com")) return "DIRECT"; //So the error message "no such host" will appear through the //normal Netscape box - less support queries :) if (!isResolvable(host)) return "DIRECT"; //We only cache http, ftp and gopher if (url.substring(0, 5) == "http:" || url.substring(0, 4) == "ftp:"|| url.substring(0, 7) == "gopher:") //Change the ":8080" to the port that your cache //runs on, and "cache.company.com" to the machine that //you run the cache on return "PROXY cache.company.com:8080; DIRECT"; //We don't cache WAIS if (url.substring(0, 5) == "wais:") return "DIRECT"; else return "DIRECT"; } 4.3 Настройка Lynx и MosaicДля Mosaic и Lynx, надо задать переменные окружения перед запуском. Например (для csh или tcsh):% setenv http_proxy http://mycache.example.com:3128/
Для Lynx настройки прокси можно сделать в файле lynx.cfg. При такой настройке все пользователи Lynx смогут пользоваться прокси без дополнительного задания окружения для каждого пользователя. Например: http_proxy:http://mycache.example.com:3128/ ftp_proxy:http://mycache.example.com:3128/ gopher_proxy:http://mycache.example.com:3128/ 4.4 Настройка Microsoft Internet ExplorerВыберите Options из меню View. Щелкните на закладке Connection. Выберите Connect through Proxy Server и нажмите кнопку Proxy Settings. Для каждого протокола который поддерживает Ваш Squid (по умолчанию, HTTP, FTP, и gopher) введите имя или IP адрес Squid и номер порта (по умолчанию 3128) в колонке Port. Те протоколы, которые Ваш Squid не поддерживает оставьте зти поля пустыми.Здесь вид экрана настройки прокси Internet Explorer. Microsoft также собирается поддерживать как у Netscape автоматическую настройку прокси через JavaScript. Сейчас, только MSIE версии 3.0a для Windows 3.1 и Windows NT 3.51 поддерживает эту возможность (например, в версии 3.01 build 1225 для Windows 95 и NT 4.0, ее нет). Если Ваша версия MSIE поддерживает такую возможность, выберите Options из меню View. Щелкните на закладке Advanced и в левом нижнем углу щелкните на кнопке Automatic Configuration. Впишите URL Вашего файла JavaScript. Потом перезапустите MSIE. MSIE будет пересчитывать файл JavaScript каждый раз при запуске. 4.5 Настройка Netmanage Internet Chameleon WebSurferNetmanage WebSurfer поддерживает ручную настройку прокси и список исключений хостов или доменов не подлежащих кешированию (информация по версии WebSurfer 5.0). Выберите Preferences из меню Settings. Щелкните на закладке Proxies. Выберите опцию Use Proxy для HTTP, FTP, и gopher. Затем для каждого протокола введите имя или IP адрес Squid и номер порта (по умолчанию, 3128) в поле Port. Остальные поля оставьте пустыми.Вид экрана прилагается. В этом же окне есть кнопка вызывающая окно исключений, где можно задать хосты или домены, котрые не надо кешировать. Здесь вид экрана. 4.6 Как сделать, чтобы пользователи браузеров пользовались кешем без их настройки?Можно сделать прозрачное кеширование на Linux, Solaris, и BSD версиях. Смысл в том, что операционная система перенаправляет некоторые IP пакеты приложению. Этот документ на данный момент содержит инструкции по настройке прозрачного кеширования на Linux и Solaris.4.6.1 Прозрачный прокси для Solaris, SunOS, и BSD системИщите здесь http://cheops.anu.edu.au/~avalon/ip-filter.html4.6.2 Прозрачный прокси для Linux[Contributed by Rodney van den Oever <Rodney.van.den.Oever@tip.nl>]Warning: this technique has several significant shortcomings!
# # Code maturity level options # CONFIG_EXPERIMENTAL=y # # Networking options # CONFIG_FIREWALL=y # CONFIG_NET_ALIAS is not set CONFIG_INET=y CONFIG_IP_FORWARD=y # CONFIG_IP_MULTICAST is not set CONFIG_IP_FIREWALL=y # CONFIG_IP_FIREWALL_VERBOSE is not set CONFIG_IP_MASQUERADE=y CONFIG_IP_TRANSPARENT_PROXY=y CONFIG_IP_ALWAYS_DEFRAG=y # CONFIG_IP_ACCT is not set CONFIG_IP_ROUTER=yЗдесь http://www.xos.nl/linux/ipfwadm/ возьмите исходники ipfwadm и установите его. Ipfwadm понадобится для задания правил перенаправления. Я добавил эти правила в скрипт запускаемый из /etc/rc.d/rc.inet1 (Slackware) который устанавливает интерфейс в момент загрузки. Перенаправление должно быть завершено до задания любых входных правил. Чтобы убедиться, что это работает я отключил forwarding (masquerading). /etc/rc.d/rc.firewall: #!/bin/sh # rc.firewall Linux kernel firewalling rules FW=/sbin/ipfwadm # Flush rules, for testing purposes for i in I O F # A # If we enabled accouting too do ${FW} -$i -f done # Default policies: ${FW} -I -p rej # Incoming policy: reject (quick error) ${FW} -O -p acc # Output policy: accept ${FW} -F -p den # Forwarding policy: deny # Input Rules: # Loopback-interface (local access, eg, to local nameserver): ${FW} -I -a acc -S localhost/32 -D localhost/32 # Local Ethernet-interface: # Redirect to Squid proxy server: ${FW} -I -a acc -P tcp -D default/0 80 -r 80 # Accept packets from local network: ${FW} -I -a acc -P all -S localnet/8 -D default/0 -W eth0 # Only required for other types of traffic (FTP, Telnet): # Forward localnet with masquerading (udp and tcp, no icmp!): ${FW} -F -a m -P tcp -S localnet/8 -D default/0 ${FW} -F -a m -P udp -S localnet/8 -D default/0Весь траффик локальной сети с любым адресом назначения перенаправляется на локальный 80 порт. Правила можно посмотреть и они будут выглядеть как-то так: IP firewall input rules, default policy: reject type prot source destination ports acc all 127.0.0.1 127.0.0.1 n/a acc/r tcp 10.0.0.0/8 0.0.0.0/0 * -> 80 => 80 acc all 10.0.0.0/8 0.0.0.0/0 n/a acc tcp 0.0.0.0/0 0.0.0.0/0 * -> *Здесь важные установки в squid.conf: http_port 80 icp_port 3130 httpd_accel virtual 80 httpd_accel_with_proxy onВнимание, virtual это магическое слово здесь! Я протестировал на Windows 95 как с Microsoft Internet Explorer 3.01 так и Netscape Communicator и это работает с обоими с отключенными установками прокси. Один раз squid кажется зациклился когда я указал браузеру на локальный 80 порт. Но этого можно избежать добавив строку: ${FW} -I -a rej -P tcp -S localnet/8 -D dec/32 80 IP firewall input rules, default policy: reject type prot source destination ports acc all 127.0.0.1 127.0.0.1 n/a rej tcp 10.0.0.0/8 10.0.0.1 * -> 80 acc/r tcp 10.0.0.0/8 0.0.0.0/0 * -> 80 => 80 acc all 10.0.0.0/8 0.0.0.0/0 n/a acc tcp 0.0.0.0/0 0.0.0.0/0 * -> *Замечание о преобразовании имен: Вместо того, чтобы просто передать URL прокси, браузер сам преобразовывает их. Удостоверьтесь, что на рабочих станциях прописаны локальные DNS сервера. Если на брандмауэре или прокси сервере работает DNS сервер (что является хорошей идеей IMHO) пусть рабочие станции используют его. Страница 1 2 3 4 5 6 7 8 9 <<< Предыдущая Следущая >>> |
Украинская Баннерная Сеть
|