Не работает доступ в интернет из локальной сети через SQUID

Автор: Ros Дата: 04.07.2008 08:47 Здравствуйте!
Понимаю, что вопрос банальный, но очень прошу мне помочь советом. Ситуация такая: имеется локальная сеть WinXP под управлением Win2003 сервера, доступ в инет организую через комп под управлением ASPLinux 11. BIND на Linux-е поднят, в resolv.conf DNS сервер провайдера прописан. В iptables политики accept и redirect с 80 на порты SQUID. На серваке Win2003 подняты локальный DNS и DHCP, в настройках DNS указан DNS сервер провайдера, шлюзом указан комп под управлением Linux.
C локальных машин пингуются внешние адреса, более того без SQUID напрямую всё прекрасно работает, внешние сайты доступны. А вот как только пускаю пользователей через SQUID начинаются проблемы - IE долго думает и выдает, например для www.yandex.ru:
Unable to determine IP address to host www.www.yandex.ru.com.
Или .org, скажем. В логах SQUID пишет например:

1214486576.835 0 192.168.2.5 TCP_DENIED/407 1714 GET [www.ya.ru] - NONE/- text/html
1214486766.443 184116 192.168.2.5 TCP_MISS/504 1382 GET [www.ya.ru] ermina NONE/- text/html

Да, у меня SQUID использует NCSA авторизацию. Подскажите, что я сделал не так? Может в ядре поддержку чего-нибудь не включил?
Re: Не работает доступ в интернет из локальной сети через SQUID 05.07.2008 01:38saund А каким образом выполняется пускание "пользователей через SQUID"?
Что меняется на шлюзе и на клиенте?
Re: Не работает доступ в интернет из локальной сети через SQUID 07.07.2008 09:50Ros На шлюзе не меняется ничего, на клиенте указывается в свойствах обозревателя использование адреса и порта прокси-сервера.
Re: Не работает доступ в интернет из локальной сети через SQUID 09.07.2008 01:29sharp Конфиг сквид в студию. Только строки-комментарии НЕ НАДО приводить.
А с самого шлюза тот же lynx странички показывает? В iptables в цепочке OUTPUT случайно не обрезали squid?
А вообще похоже что у вас http_access не разрешен пользователям или метод CONNECT не разрешен на 80 порт.

Хотя если "Unable to determine IP address..", то могли и с DNS на шлюзе нахимичить.... в обшем хотя бы ping www.ru c шлюза идет?

З.Ы. а можно вопрос: нафик вам 2 DNS?
Re: Не работает доступ в интернет из локальной сети через SQUID 06.08.2008 09:36Ros Вы совершенно правы - 2 DNS ни к чему, да они и не работают. Работает DNS на сервере Win2003.
Пинги идут нормально и со шлюза и с клиентских машин. Более того, с клиентских машин без squid нормально окрываются страницы, как я уже говорил. Насколько я уяснил, для того, чтобы SQUID нормально у меня заработал необходимо поставить samba и winbind. Поставил, в домен загнал, однако доверительные отношения не устанавливаются. Итого:

net join -U Administrator выполнено,

команда wbinfo -p должна вернуть:
Ping to winbindd succeeded on fd 6
команда wbinfo -t должна вернуть:
checking the trust secret via RPC calls succeeded.

Пробуем авторизовать пользователя в Windows домене:
wbinfo -a [домен+]пользователь_домена%пароль

если авторизация прошла успешно, будет выдано сообщение:
plaintext password authentication succeeded
challenge/response password authentication succeeded

Всё так и есть, однако squid как не искал адреса так и не ищет. Подскажите, пожалуйста, как заставить squid работать нормально с winbind?

Привожу squid.conf:

http_port 3128

hierarchy_stoplist cgi-bin ?

acl QUERY urlpath_regex cgi-bin \?
no_cache deny QUERY


cache_mem 16 MB

cache_dir ufs /var/spool/squid 100 16 256

cache_access_log /var/log/squid/access.log

cache_log /var/log/squid/cache.log

cache_store_log /var/log/squid/store.log

pid_filename /var/run/squid.pid

dns_nameservers {ip адрес сервера DNS провайдера}

auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/passwd
auth_param basic children 5
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours
auth_param basic casesensitive off

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

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 users proxy_auth REQUIRED src 192.168.2.0/24
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 CONNECT method CONNECT

http_access allow manager localhost
http_access deny manager

http_access deny !Safe_ports

http_access deny CONNECT !SSL_ports

http_access allow users

http_access allow localhost
http_access deny all

http_reply_access allow all

icp_access allow all

cache_effective_user squid

cache_effective_group squid
Re: Не работает доступ в интернет из локальной сети через SQUID 06.08.2008 09:43BigAndy > Насколько я уяснил, для того, чтобы SQUID нормально у меня заработал необходимо поставить samba и winbind
Это с какого перепугу?
Re: Не работает доступ в интернет из локальной сети через SQUID 06.08.2008 10:46Ros Потому что имея DNS сервер на Win2003 сам squid не может определить адрес запрашиваемого клиентом адресата. Как я уже писал выше: как только пускаю пользователей через SQUID начинаются проблемы - IE долго думает и выдает, например для www.yandex.ru:
Unable to determine IP address to host www.www.yandex.ru.com.
Если я не прав - объясните, пожалуйста, как заставить squid функционировать и определять адреса сайтов, запрашиваемых клиентами.
Re: Не работает доступ в интернет из локальной сети через SQUID 06.08.2008 11:15BigAndy >как заставить squid функционировать и определять адреса сайтов,
А причем тут сквид и ДНС? В файрволе открйоте порт - и все.
Крометого ожно поднять за сквидом кеширующий ДНС. Все зависит от ашей топологии и нагрузки в сети за скидом
Re: Не работает доступ в интернет из локальной сети через SQUID 06.08.2008 11:41Ros В файрволе открыты и 3128 и 53. По топологии повторяю: имеется сервер Win2003б на котором стоят DNS и DHCP. Проблема в том, что именно squid не может разруливать запрашиваемые адреса. Я так понимаю, что он пытается обратиться к DNS серверу, указанному в настройках клиента (а это DNS Win2003 и DNS сервер провайдера) и у него не получается получить запрашиваемую информацию. В связи с этим и возник вопрос с winbind. В случае когда DNS поднят на Linux то всё работает на ура, но в этой сети у меня DNS именно на Win2003 и squid функционировать упорно не желает.
Re: Не работает доступ в интернет из локальной сети через SQUID 06.08.2008 12:33DDDstart Ros писал(а):
> Насколько я уяснил, для того,
> чтобы SQUID нормально у меня заработал необходимо поставить
> samba и winbind.

Вы это для чего? У меня тоже стоит DNS под 2003, а машинку с линухом я даже в домен не загонял, и весь домен презамечательно шарит через squid в инете
Re: Не работает доступ в интернет из локальной сети через SQUID 06.08.2008 12:36DDDstart Ros писал(а):

> Потому что имея DNS сервер на Win2003 сам squid не может
> определить адрес запрашиваемого клиентом адресата.

Странное Вы что-то говорите, вы что в инет через свой домен лезете?

На одну сетевуху Вашей squid машины должен приходить инет, а на вторую Ваша локальная сеть
Re: Не работает доступ в интернет из локальной сети через SQUID 06.08.2008 12:47Ros Именно так у меня и сделано. Проблема заключается в том, что при попытке доступа в инет через squid клиент не может определить адрес искомого узла. Текст выдаваемой ошибки я указывал дважды. Настройки я тоже выкладывал. Подскажите, пожалуйста, в чём может быть проблема? Почему не работает нормально squid?
Re: Не работает доступ в интернет из локальной сети через SQUID 06.08.2008 13:01nektofil Так. Стоп. Разбираемся подробно.

1. Проверь работает ли на линухе резолвинг вообще? Или где-то
что-то не докручено? Ну хотя-бы командой с консоли
**host www.ya.ru**

2. Если у тебя на линухе поднят BIND, то почему в **resolv.conf**
ты прописываешь DNS провайдера? Должен быть 127.0.0.1. А
провайдерские DNS-ы должны, в таком случае, упоминаться в
конфигах **named**-а.
Re: Не работает доступ в интернет из локальной сети через SQUID 06.08.2008 13:12Ros 1. host www.ya.ru как и положено ему выдаёт:

www.ya.ru is an alias for ya.ru.
ya.ru has address 213.180.204.8
www.ya.ru is an alias for ya.ru.
www.ya.ru is an alias for ya.ru.
ya.ru mail is handled by 10 mx1.yandex.ru.
ya.ru mail is handled by 10 mx2.yandex.ru.

2. Я пробовал уже по-всякому. В named.conf у меня указан DNS сервер провайдера. Самое интересное, что как с BIND так и без него (при остановленном namedd) результат один и тот же: squid ссылается на то, что не может определить адрес узла, причём добавляя к нему ещё www, com или org: т.е., например, www.www.ya.ru.com.
Re: Не работает доступ в интернет из локальной сети через SQUID 06.08.2008 13:16DDDstart Ros писал(а):

> 1. host www.ya.ru как и положено ему выдаёт:
>
> www.ya.ru is an alias for ya.ru.
> ya.ru has address 213.180.204.8
> www.ya.ru is an alias for ya.ru.
> www.ya.ru is an alias for ya.ru.
> ya.ru mail is handled by 10 mx1.yandex.ru.
> ya.ru mail is handled by 10 mx2.yandex.ru.

Это Вы вообще с чего пингуете, с сервака?
Re: Не работает доступ в интернет из локальной сети через SQUID 06.08.2008 13:18Ros Да, именно так, с сервера под ASPLinux. С клиентов под WinXP пинги проходят также замечательно.
Re: Не работает доступ в интернет из локальной сети через SQUID 06.08.2008 13:21BigAndy >1. Проверь работает ли на линухе резолвинг вообще? Или где-то
>что-то не докручено? Ну хотя-бы командой с консоли
>host www.ya.ru

Работу DNS лучше проверять ри помощи NSLOOKUP

hosts хоть в линуксе корректно прописан?
Re: Не работает доступ в интернет из локальной сети через SQUID 06.08.2008 13:44Ros Это на интернет-хосте:

nslookup www.ya.ru
Server: 88.147.129.15
Address: 88.147.129.15#53

Non-authoritative answer:
www.ya.ru canonical name = ya.ru.
Name: ya.ru
Address: 213.180.204.8

Это на рабочих станциях WinXP:

nslookup www.ya.ru
Server: localhost
Address: 127.0.0.1

Non-authoritative answer:
Name: ya.ru
Address: 213.180.204.8
Aliases: www.ya.ru

Файл: hosts Строка 1 Позиция 0 116 байт 100%
127.0.0.1 localhost.localdomain localhost
{локальный ip} {полное имя интернет-хоста} proxy
{ip сервера Win2003} {полное имя сервера Win2003} sklad
Re: Не работает доступ в интернет из локальной сети через SQUID 06.08.2008 13:45nektofil to BigAndy:

а при чем тут hosts?

to Ros:
если у тебя в **resolv.conf** прописан провайдер, то к локальной
задаче (в данном случае к сквиду) **named** не имеет никакого отношения.

ладно. проверяем пункты:
1. с линухового сервера на www.ya.ru ты можешь зайти? есть доступ?
2. если да, то попробуй то-же самое через сквид.
3. если с локального хоста через скид пустит -- тогда будем
искать дальше.
Re: Не работает доступ в интернет из локальной сети через SQUID 06.08.2008 14:15Ros Да именно так, я и говорил, что named не влияет на доступ в инет в данном случае.
1. Да могу с интернет-хоста зайти. lynx заходит прекрасно на www.ya.ru.
2. Вопрос: а каким образом я могу указать на ASPLinux тому же lynx, что идти надо через squid? X у меня, самом собой на нём нет.
Re: Не работает доступ в интернет из локальной сети через SQUID 06.08.2008 14:16BigAndy >to BigAndy:

>а при чем тут hosts?
Ступил. Конечно resolv.conf
Re: Не работает доступ в интернет из локальной сети через SQUID 06.08.2008 14:49Ros 2. Указал в lynx.cfg
http_proxy:[127.0.0.1]
Авторизовался нормально, но затем squid долго думал и в конце концов выдал ошибку по таймауту. Таким образом даже с интернет-хоста squid не может достучаться до www.ya.ru.
Что можно с этим безобразием сделать?
Re: Не работает доступ в интернет из локальной сети через SQUID 06.08.2008 15:00DDDstart Ros писал(а):

> 2. Указал в lynx.cfg
> http_proxy:[127.0.0.1]

насколько мне известно, нужно указывать не
---
http_proxy:[127.0.0.1]
---

а

---
http_proxy="[];
---
Re: Не работает доступ в интернет из локальной сети через SQUID 06.08.2008 15:05nektofil Для lynx-а, чтобы не лазить по всем конфигам, проще всего
вызывать так:

---
env http_proxy=http://127.0.0.1:3128 lynx [www.ya.ru]
---
Re: Не работает доступ в интернет из локальной сети через SQUID 06.08.2008 15:13nektofil Хорошо. Невзирая на разные методы вызова линкса,
приходим к выводу что виноват совсем не DNS.

Этап следующий: пробуем **telnet www.ya.ru 80** c
сервера. Если соединение установится, то значит
дальше рыть логи/конфиги сквида на предмет правильной
раздачи прав. Если НЕ установится -- рыть в сторону
**iptables** на предмет о5-таки правильной раздачи прав.
Re: Не работает доступ в интернет из локальной сети через SQUID 07.08.2008 09:10Ros telnet www.ya.ru 80 отработал нормально - подсоединился. Подскажите, пожалуйста, что можно проверить в squid.conf (содержимое я приводил выше)? Что может быть не так со squid-ом?
RSS-материал