Вопрос такого плана: В одной конторе был поднят Linux сервер, squid,iptables,sarg,http, все затачивалось под статические IP-адреса, затем пришли какие-то архаровцы и подняли на другом сервере DHCP. После чего прокся ни стого ни с сего начала отваливать пользователей и при повторном запросе не доводит до запроса на авторизацию! Делаем service squid restart все зашибись работает! Но через некоторое время опять та же самая история. DHCP, поднят на виндусячей машине и как и тем более кто его настраивал я не вкурсе! Вот я и думаю может быть эта затыка с проксей из-за того,что DHCP сервер через какое-то время меняет ip адрес машин? Может есть какие-то другие мысли по этому поводу?
Запросто. Особенно, если списки контроля доступа в сквиде построены на статических ip.Можно попробовать заменить их все общим acl - локальная сеть.
А затем авторизацию проводить по пользователям.
В сквиде есть такая возможность, в последнем (2.5 build 12) точно есть.НО по мне проще надавть по рукам архаровцам и снести напрочь DHCP сервер. Кому статические адреса мешали-то?
>Можно попробовать заменить их все общим acl - локальная сеть.
>А затем авторизацию проводить по пользователям.
>В сквиде есть такая возможность, в последнем (2.5 build 12) точно есть.
>
>
Тут вроде так все и реализовано, вот кусок squid.conf
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 563
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 563 # https, snews
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 Safe_ports port 81 # http
acl CONNECT method CONNECTacl inet_users proxy_auth REQUIRED
acl inet_allow_hosts src 192.168.1.0/255.255.255.0
acl internet dst 0.0.0.0/0.0.0.0
acl localnet dst 192.168.1.0/24http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access allow inet_users internet
http_access deny internet
http_access deny all
>>Можно попробовать заменить их все общим acl - локальная сеть.
>>А затем авторизацию проводить по пользователям.
>>В сквиде есть такая возможность, в последнем (2.5 build 12) точно есть.
>>
>>
>Тут вроде так все и реализовано, вот кусок squid.conf
>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 563
>acl Safe_ports port 80
> # http
>acl Safe_ports port 21
> # ftp
>acl Safe_ports port 443 563 # https, snews
>
>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 Safe_ports port 81
> # http
>acl CONNECT method CONNECT
>
>acl inet_users proxy_auth REQUIRED
>acl inet_allow_hosts src 192.168.1.0/255.255.255.0
>acl internet dst 0.0.0.0/0.0.0.0
>acl localnet dst 192.168.1.0/24
>
>http_access allow manager localhost
>http_access deny manager
>http_access deny !Safe_ports
>
>
>http_access allow inet_users internet
>http_access deny internet
>http_access deny allМожет быть имеет смысл явно разрешить доступ с локальной сети???
acl inet_allow_hosts src 192.168.1.0/255.255.255.0
http_access allow inet_allow_hosts internet
http_access deny internet
http_access deny all
Да все у него в конфиге правильно указано.Можно правда несколько его оптимизировать, полностью убрав acl internet как абсолютно бесполезную.
>
>Да все у него в конфиге правильно указано.
Кстати, исходя из имен ACL правильнее всего было бы правило разрешения доступа написать в таком виде:acl inet_users proxy_auth REQUIRED
acl inet_allow_hosts src 192.168.1.0/255.255.255.0http_access allow inet_allow_hosts inet_users
тоесть разрешать пользователям только с тех хостов, с которых в принципе возможен выход в инет. В той версии конфига, что вы привели - правило inet_allow_hosts вообще не используется.
>>
>>Да все у него в конфиге правильно указано.
>
>
>Кстати, исходя из имен ACL правильнее всего было бы правило разрешения доступа
>написать в таком виде:
>
>acl inet_users proxy_auth REQUIRED
>acl inet_allow_hosts src 192.168.1.0/255.255.255.0
>
>http_access allow inet_allow_hosts inet_users
>
>
>тоесть разрешать пользователям только с тех хостов, с которых в принципе возможен
> выход в инет.Полностью с вами согласен!
>В той версии конфига, что вы
>привели - правило inet_allow_hosts вообще не используется.
Меня это то же насторожило, в конфиге правило http_access allow inet_allow_hosts internet было закоментировано...
Вот я только одного понять не могу, в чем разница между правилами
http_access allow inet_allow_hosts internet и
http_access allow inet_users internet ???
>Вот я только одного понять не могу, в чем разница между правилами
>
>http_access allow inet_allow_hosts internet и
>http_access allow inet_users internet ???
Первое правило - дает интернет всем доверенным хостам,
второе запускает механизм авторизации по логину-паролю.В общем случае достаточно
http_access allow inet_allow_hosts
или
http_access allow inet_users
поскольку в конце есть завершающее запрещающее правило
http_access deny all
>
>
>>Вот я только одного понять не могу, в чем разница между правилами
>>
>>http_access allow inet_allow_hosts internet и
>>http_access allow inet_users internet ???
>
>
>Первое правило - дает интернет всем доверенным хостам,
>второе запускает механизм авторизации по логину-паролю.
>
>В общем случае достаточно
>
>http_access allow inet_allow_hosts
>или
>http_access allow inet_users
>
>
>поскольку в конце есть завершающее запрещающее правило
>http_access deny allСпасибо большое за пояснения!
т.е как я понял, если использовать только http_access allow inet_allow_hosts, то все доверенные хосты будут ходить в инет без авторизации?
Ну и дополнительная мысль на тему:забыть про dhcp, если клиентские машины настроены вручную. Для надежности и уверенности можешь потушить там "DHCP client" службу :) .
искать ошибки в журнале прокси сервера...