Никак не получается заставить работать Squid в прозрачном режиме. Ситуация следующая. Имеется сервак под Linux-м. Установлено 2 сетевухи. Одна смотрит в локалку, другая смотрит в Интранет сеть, в которой имеется прокси-сервер squid (через него как раз и есть доступ к Интернету). Никаких DNS серверов не установлено ни у меня, ни в удаленной сети. Настраиваю Squid, как написано во многих статьях. В результате, если вводить IP-адрес сайта (а не его имя), то запрос обрабатывается успешно, т.е. прокси срабатывает. А если набрать, например squid.opennet.ru - вылетает ошибка "Страница не найдена". Причем ошибку дает сам браузер. Получается, что запрос на прокси так и не поступает. Кто-нибудь сталкивался с этой проблемой?? Заранее спасибо.
конфиг мыльни. посмотрем чем можем помочь
>конфиг мыльни. посмотрем чем можем помочь
подымай кешируюший DNS и не мучийся
>Никак не получается заставить работать Squid в прозрачном режиме. Ситуация следующая. Имеется
>сервак под Linux-м. Установлено 2 сетевухи. Одна смотрит в локалку, другая
>смотрит в Интранет сеть, в которой имеется прокси-сервер squid (через него
>как раз и есть доступ к Интернету). Никаких DNS серверов не
>установлено ни у меня, ни в удаленной сети. Настраиваю Squid, как
>написано во многих статьях. В результате, если вводить IP-адрес сайта (а
>не его имя), то запрос обрабатывается успешно, т.е. прокси срабатывает. А
>если набрать, например squid.opennet.ru - вылетает ошибка "Страница не найдена". Причем
>ошибку дает сам браузер. Получается, что запрос на прокси так и
>не поступает. Кто-нибудь сталкивался с этой проблемой?? Заранее спасибо.
в resolve.conf незаюудь прописать 127.0.0.1
Настройки такие же, как и приводятся везде. В конфиге squid:
httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header onВ iptables:
-t nat -A PREROUTING -s 192.168.0.1 -d ! 192.168.0.150 -p tcp --dport 80 -j REDIRECT --to-port 3128
Сервак у меня 150-й. Один из рабочих компов 1-й. Сайты с первого в этом случае открываются только по IP-адресам. И еще, мне не понятно, как кэширующий DNS будет определять адреса сайтов? Ведь доступ к Интернету у меня есть только через parent прокси!
>понятно, как кэширующий DNS будет определять адреса сайтов? Ведь доступ к
>Интернету у меня есть только через parent прокси!
подымай кэширующий DNS, он будет спрашивать у тех DNS серверов которые укажеш в конфиге. А на локальных машинах укажи DNS адрес - адрес, где поднял кэширующий DNS.
В squid.conf укажи DNS сервера провайдера
>В squid.conf укажи DNS сервера провайдера
От провайдера у меня есть только доступ к прокси-серверу и все. Squid, непрозрачный.
>>В squid.conf укажи DNS сервера провайдера
>От провайдера у меня есть только доступ к прокси-серверу и все. Squid,
>непрозрачный.
Попробуй его прописать как DNS сервер. Или пропиши любой DNS какой знаеш, лишбы адрес внешний был.
Попробовал - ничего не вышло. Кэширующий DNS говорит, что не может получить сведения с другого сервера. Вот такая загвоздка...
И еще. Получается, что мой сервер не может сопоставить IP-адрес имени сайта. А быть может возможно, чтобы iptables конкретное имя сайта перенаправляли на порт прокси, а не его (сайта) IP?
А при каких настройка у тебя инет работал , и работал ли вообще
>А при каких настройка у тебя инет работал , и работал ли
>вообще
Работает, если в браузере указать адрес прокси. Если не указывать, то открывает сайты только по IP-адресам (в случае прозрачного прокси).
>Попробовал - ничего не вышло. Кэширующий DNS говорит, что не может получить
>сведения с другого сервера. Вот такая загвоздка...
а на 53 порт в интернет iptables пропускает?>И еще. Получается, что мой сервер не может сопоставить IP-адрес имени сайта.
Твой и не сопоставляет, он должен спрашивать вышестоящих.
>>Попробовал - ничего не вышло. Кэширующий DNS говорит, что не может получить
>>сведения с другого сервера. Вот такая загвоздка...
>а на 53 порт в интернет iptables пропускает?
>
>>И еще. Получается, что мой сервер не может сопоставить IP-адрес имени сайта.
>Твой и не сопоставляет, он должен спрашивать вышестоящих.
У меня доступ в интернет ТОЛЬКО через прокси-сервер провайдера с авторизацией.
кто прописан как dns у клиентов(т.е. машин которые конектятся к проксе)?
А с 150-го адреса интернет, как работает? Тоже только по IP или нормально?
>А с 150-го адреса интернет, как работает? Тоже только по IP или
>нормально?
Если конкретно указать IP-адрес прокси-сервера в браузере, то работает все отлично. А в случае работы прозрачного прокси, сайты открываются только по IP-адресам.
>кто прописан как dns у клиентов(т.е. машин которые конектятся к проксе)?
>
>
DNS-м у локальных компьютеров указан мой сервер 192.168.0.150
>>кто прописан как dns у клиентов(т.е. машин которые конектятся к проксе)?
>>
>>
>DNS-м у локальных компьютеров указан мой сервер 192.168.0.150Надеюсь Вы понимаете, что в таком случае у Вас на 192.168.0.150 должен быть установлен DNS-cервер, который будет обслуживать запросы Ваших клиентов.
Но так как у Вас доступ к интернету только через родительский прокси, забудте о прозрачном проксировании, ведь Ваши клиентские машины не знают о существовании прокси, поэтому пытаются отрезолвить имена сами, обращаясь к 192.168.0.150.
Надеюсь я понятно обьяснил.
Я это всё понимаю. Но, как говориться, нет безвыходных ситуаций. Наверняка, каким-то образом все это можно заставить работать - только вот каким мне пока не известно.
В случае прозрачного проксирования, на вашем сервер должен быть ДНС. Если его ну никак нельзя связать с вышестоящим, то возможен такой вариант (никогда так делать не приходилось, но может и работать): на 150-ом поставить ДНС, которой любое имя резолвил бы в некий ай-пи-шник. А дальше стандартная схема: клиент идет через роутер, запрос редиректиться на ваш прокси, та опрашивает родительский.
>В случае прозрачного проксирования, на вашем сервер должен быть ДНС. Если его
>ну никак нельзя связать с вышестоящим, то возможен такой вариант (никогда
>так делать не приходилось, но может и работать): на 150-ом поставить
>ДНС, которой любое имя резолвил бы в некий ай-пи-шник. А дальше
>стандартная схема: клиент идет через роутер, запрос редиректиться на ваш прокси,
>та опрашивает родительский.
А не получится ли так, что по любому адресу будет открываться один и тот же сайт, чей IP указан в DNS?
>>В случае прозрачного проксирования, на вашем сервер должен быть ДНС. Если его
>>ну никак нельзя связать с вышестоящим, то возможен такой вариант (никогда
>>так делать не приходилось, но может и работать): на 150-ом поставить
>>ДНС, которой любое имя резолвил бы в некий ай-пи-шник. А дальше
>>стандартная схема: клиент идет через роутер, запрос редиректиться на ваш прокси,
>>та опрашивает родительский.
>А не получится ли так, что по любому адресу будет открываться один
>и тот же сайт, чей IP указан в DNS?
услжняете все...
нужно то всего, пробежаться по всем клиентам и прописть ваш прокси...
прокси должен быть настроен на использование родителя ... и все.