Results 1 to 15 of 181

Thread: squid для WL-500gP

Threaded View

Previous Post Previous Post   Next Post Next Post
  1. Exclamation squid для WL-500gP

    Долго шарил по форуму и обнаружил, что все ссылки по squid, что мне попадались, содержат два утверждения:
    1. "нафига здесь такая штука, это же не сервак"
    2. "ну ты поищи ... (подставить ссылку по вкусу), там точно все есть"

    Я ярый фанат squid. Я не использую его, как кэширующий прокси (для этого у меня стоит BFilter), а чаще всего я использую его для получения дополнительного IP для скачивания пор..., нужных статей
    Имея большой опыт подъема свида под FreeBSD я решил забацать его и тут, благо в списке пакетов он есть.

    Итак, первое:
    PHP Code:
    ipkg install squid 
    ставим сам squid

    Далее, заходим в /opt/etc/squid
    и находим там squid.conf

    Привожу здесь минимально необходимый рабочий конфиг
    PHP Code:
    auth_param basic program /opt/libexec/ncsa_auth /opt/share/passwords/users
    auth_param basic children 1
    auth_param basic realm Authorized users only
    Squid PROXY
    auth_param basic credentialsttl 2 hours

    acl MY proxy_auth REQUIRED
    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
    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

    http_access allow MY
    http_access deny 
    !Safe_ports
    http_access deny CONNECT 
    !SSL_ports

    http_port 3128

    hierarchy_stoplist cgi
    -bin ?

    cache_dir ufs /opt/var/squid/cache 20 16 256

    cache_swap_low 97
    cache_swap_high 100

    access_log 
    /opt/var/squid/logs/access.log squid
    pid_filename 
    /opt/var/squid/logs/squid.pid

    acl QUERY urlpath_regex cgi
    -bin \?
    cache deny QUERY

    refresh_pattern 
    ^ftp:        1440    20%    10080
    refresh_pattern 
    ^gopher:    1440    0%    1440
    refresh_pattern 
    .        0    20%    4320

    acl apache rep_header Server 
    ^Apache
    broken_vary_encoding allow apache

    header_access From deny all
    header_access Referer deny all
    header_access User
    -Agent deny all
    header_access Cache
    -Control deny all
    header_access Via deny all
    header_access X
    -Forwarded-For deny all

    cache_effective_user nobody
    cache_effective_group nobody

    visible_hostname home
    .elist.ws

    icon_directory 
    /opt/share/squid/icons
    error_directory 
    /opt/share/squid/errors/Russian-1251

    cachemgr_passwd 456789 all

    coredump_dir 
    /opt/var/squid/cache 
    и к нему небольшие коментарии:

    auth_param basic program /opt/libexec/ncsa_auth /opt/share/passwords/users - как Вы понимаете, второй путь может быть любым, но там должен лежать файлик (users) с паролями в формате htaccess. Права на него нужно ставить так, чтобы непревелигированный пользователь (nobody) смог его прочитать.

    auth_param basic realm Authorized users only. Squid PROXY - текст, который выводится в шапке запрос пароля. Может быть любым на Ваше усмотрение.

    cache_dir ufs /opt/var/squid/cache 20 16 256 - очень важная строка, разберем поподробнее:
    /opt/var/squid/cache - путь к кэшу. Может вести куда угодно, НО не на fat или ntfs партиции.
    20 - размер кэша в Мб. Выбирается на Ваш вкус и возможности.

    access_log /opt/var/squid/logs/access.log squid - место, куда пишется лог-файл доступа к ресурсам. Собственно его можно анализировать - кто и куда лазил за пор... статьями. ВНИМАНИЕ! Не забывайте его ротировать, дабы размер его не принял катастрофические величины.

    visible_hostname home.elist.ws - поменяйте на свой хост или IP.

    cachemgr_passwd 123 all - пароль на доступ кэшменеджера к управлению кэшем и свидом. Поствьте свой, но я вообще не рекомендую пользоваться кэшменеджером - глючный и небезопасный.

    Первый запуск производить squid -z для формирования дерева директорий в кэше.
    Для автоматического запуска squid при старте не забудте добавить в post-mount строчку
    PHP Code:
    /opt/etc/init.d/S80squid start 
    а для того, чтобы squid принимал запросы извне не забудьте добавить в post-firewall строчки
    PHP Code:
    iptables -A INPUT -'tcp' --dport 3128 -j ACCEPT
    iptables 
    -t nat -A PREROUTING -i vlan1 -'tcp' --dport 3128 -j DNAT --to-destination $4:3128 
    В итоге все сводится к классическому Linuxовому правилу "Конфиг всему голова"

    З.Ы. Для настройки squid в качестве кэширующего прокси для локальной сети следует разобраться в комбинации
    PHP Code:
    acl home src 192.168.0.0/255.255.0.0
    http_access allow home 
    192.168.0.0/255.255.0.0 - диапазон Вашей "внутренней" сети.

    Т.е. первое правило определяет сеть для безаппеляционного доступа, а второе этот доступ разрешает. Таким образом пользователям "внутренней" сети не придется вводить пароль для доступа к кэшу/

    Не оъясняю маленькую засаду с порядком правил - хочу посмотеть, воспользовался ли кто моей инструкцией
    Last edited by Сhemist; 19-02-2008 at 19:33.
    Последние работы на elist.ws & motozone.ru!

    Если фортуна повернулась к тебе задом... не теряйся!

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •