четверг, 14 мая 2009 г.

Squid 2.6 и pppd

Столкнулся недавно с некоторой проблемой - заставить Squid 2.6 "подхватывать" DNS сервера провайдера. Суть проблемы в том что Squid стартует как сервис при загрузке системы, а соединение с провайдером инициируется вручную. Это означает что Squid стартует раньше чем становятся известны адреса DNS серверов.

Проявляется проблема так. Squid пишет в логи следующие сообщения:


2009/05/13 14:53:44| Warning: Could not find any nameservers. Trying to use localhost

2009/05/13 14:53:44| Please check your /etc/resolv.conf file

2009/05/13 14:53:44| or use the 'dns_nameservers' option in squid.conf.



В браузере открыть какой либо сайт соответственно тоже не получается.

Прописывать статически адреса DNS серверов провайдера мне показалось не очень надежным решением.

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

Что ж, пришлось подумать самому :) К счастью, решение оказалось очень простым.

Под root'ом, в каталоге /etc/ppp/ip-up.d создаем файл с любым названием, отражающим его предназначение (я назвал его squid ), и следующим содержанием:


#!/bin/sh

squid -k reconfigure


Ставим файлику признак исполняемого файла командой


chmod +x squid


Вот собственно и всё. Работает как часы. Разумеется, дело происходит в Linux'е.

Комментариев нет:

Отправить комментарий