Page 1 of 13 12311 ... LastLast
Results 1 to 15 of 181

Thread: squid для WL-500gP

  1. #1

    squid с поддержкой delay_pools (compiled)

    Вот еще встретил проблемму -
    читал тут - http://www.bog.pp.ru/work/squid.html#delaypool
    Прижать любителей MP3:
    acl multimedia urlpath_regex -i \.mp3$ \.mpeg$ \.avi$ \.mov$
    delay_pools 1
    delay_class 1 1
    delay_access 1 allow multimedia
    delay_access 1 deny all
    delay_parameters 1 16000/64000

    и не работает, пишет что ошибка в строках, начиная с delay....
    итого выдает при запуске сквида 5 строк с ошибками.
    Я так полагаю, что наш сквид собран без поддержки резания канала?
    что делать?

    Устанавливал из репозитария Олега.

    Если он действительно не поддерживает урезание скорости, то может, кто-нить соберет в новый репозитарий версию с этой резалкой?

  2. #2
    Join Date
    Dec 2003
    Location
    Russian Federation
    Posts
    8,356
    Репозиторий не мой. Просто его так назвали. Я так думаю, ответа Вы не получите, ибо squid тут наверное вообще никто не использует.

    Резюме - смотрите как собирается пакет и читайте его исходники.

  3. #3
    Join Date
    Mar 2007
    Location
    Russia, Ryazan
    Posts
    696
    К oleo нужно обращаться. чтобы скомпилировал с поддержкой delay_pools. "Просто" squid ведь как-то компилирует.
    Я попробовал в лоб нативно - не получилось. А времени разбираться нет.

  4. 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!

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

  5. #5
    о тогда вопрос к ярому сквидоводу, давно завязал со сквидом поэтому не могу вспомнить чего не хватает, у меня над сквидом еще пара проксей но CONNECT для HTTPS не запрещен, а засада вот такая если svn ломится через моего сквидато получает облом (код ошибки напишу позже, лог на работе) если говорю svn-у использовать вышестоящую проксю то все ок. Т.е., что то накосячил с HTTPS, HTTP работает без проблем.
    Ну и естественнно без опции never_direct оно вообще не работает ибо сверху прокси.

    Вопрос: чего еще поковырять? чтобы https заработал нормально?
    точно помну в прошлый раз я это дело победил, но тогда было шибко нужно, а сейчас вроде как не очень, но заранее благодарен за совет.
    vim имеет два режима - бибикать и все портить (с) не мое

  6. Возможно вся проблема в том, что по умолчанию в конфиге squid стоят такие строчки
    PHP Code:
    acl SSL_ports port 443

    acl Safe_ports port 443        
    # https

    http_access deny !Safe_ports 
    http_access deny CONNECT 
    !SSL_ports 
    Т.е. коннект по этому порту закрыт дважды (!). Я не проверял это, но как вариант - попробуй.
    Последние работы на elist.ws & motozone.ru!

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

  7. #7
    Спасибо автору! Сделал как написано, всё вроде работает. В "засаду" пока не попал или может не понял что попал

    Кстати, а что это за кэшманагер? Для чего он нужен и как его вырубить, раз уж он глючный?

  8. #8
    Join Date
    Mar 2007
    Location
    Russia, Ryazan
    Posts
    696
    Сhemist, хорошая статья, побольше бы таких.
    Если бы еще к ней добавить примеры вариантов ограничения доступа к прокси, авторизации и шейпинга - было бы вообще замечательно.
    Last edited by Reyter; 14-03-2008 at 06:57.

  9. Quote Originally Posted by les View Post
    Кстати, а что это за кэшманагер? Для чего он нужен и как его вырубить, раз уж он глючный?
    Его включать не нужно Это cgi-скрипт, открывающий доступ к кэшу и статистике обращений и т.д.
    Последние работы на elist.ws & motozone.ru!

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

  10. Quote Originally Posted by Reyter View Post
    вариантов ограничения доступа к прокси, авторизации
    В данном случае описан вариант ограничения доступа и авторизации (согласитесь, в данном случае это одно и тоже) для "домашнего" использования. Зачем забивать головы настройкой автоматической авторизации пользователей из корпоративной сети по записям в локальном домене, если для этого существуют другие сайты и другие статьи. Поиск по слову squid рулит!
    Последние работы на elist.ws & motozone.ru!

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

  11. #11
    Quote Originally Posted by Сhemist View Post
    но там должен лежать файлик (users) с паролями в формате htaccess. Права на него нужно ставить так, чтобы непревелигированный пользователь (nobody) смог его прочитать
    Можно тут поподробней?
    Что должен содержать файл и какие права ему дать?

  12. vaspupkin, извини конечно, но я не могу ответить на твой вопрос А послать почитать ФАК по Unix-системам как-то рука не поднимается.
    Последние работы на elist.ws & motozone.ru!

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

  13. #13
    Quote Originally Posted by Сhemist View Post
    vaspupkin, извини конечно, но я не могу ответить на твой вопрос А послать почитать ФАК по Unix-системам как-то рука не поднимается.
    А что так, религия не позволяет дать ближнему чуть больше? Я и ФАК не отказывался почитать, знать бы о чем читать. Ну не было у меня нужды изучить подробно UNIX.

  14. Как раз религия говорит - помоги ближнему своему, направь его к свету, но дай пару раз стукнуться лбом, чтобы знал элементарные вещи и учился пользоваться поиском.
    Читать тут. Ключевые слова: htaccess и установка прав доступа.
    Последние работы на elist.ws & motozone.ru!

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

  15. #15
    Сдаюсь...
    А всего-то хотел перенаправить лог на USB HDD в /tmp/harddisk/squid/logs

    Файл /opt/share/passwords/user
    Code:
    nobody:x:99:99:nobody:/:/tmp/harddisk/var/squid/nologin
    Права на файл
    Code:
    [admin@WL500GP root]$ ls -la /opt/share/passwords/users
    -rw-r--r--    1 admin    root           56 Mar 19 11:58 /opt/share/passwords/users
    Настройка /opt/etc/squid/squid.conf
    Code:
    auth_param basic program /opt/libexec/ncsa_auth /opt/share/passwords/users
    Права на /tmp/harddisk/var/squid
    Code:
    [admin@WL500GP root]$ ls -la /tmp/harddisk/var/squid
    drwxr-xr-x    4 admin    root         4096 Mar 19 10:11 .
    drwxr-xr-x    3 admin    root         4096 Mar 19 09:36 ..
    drwxr-xr-x    2 admin    root         4096 Mar 19 10:11 cache
    drwxr-xr-x    2 admin    root         4096 Mar 19 09:36 logs
    Сквид сбрасывается после старта. Лог пишется не на диск, а в /opt/var/squid/logs с ошибкой
    Code:
    FATAL: Cannot open '/tmp/harddisk/var/squid/logs/access.log' for writing.
            The parent directory must be writeable by the
            user 'nobody', which is the cache_effective_user
            set in squid.conf.
    Что не так делаю?

Page 1 of 13 12311 ... LastLast

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
  •