Как подружить pppd и resolv.conf
Живу в общежитии с локальной сетью примерно на 2-3 тысячи машин. В сети так же имеется локальный DNS сервер и некоторое количество локальных ресурсов, для которых на этом DNS сервере существуют соответствующие записи. Подразумевается, что этот DNS сервер может ресолвить как внешние адреса, так и локальные. Выходом во «внешний мир» для меня служит VPN соединение провайдера, доступного в этой локальной сети. Проблема заключается в том, что после поднятия ppp интерфейса pppd перетирает глобальный /etc/resolv.conf своим, который содержит только две записи, полученные от провайдера и знать не знающие о наших локальных ресурсах.
Так как мне надоело каждый раз после поднятия ppp интерфейса вручную править /etc/resolv.conf, решил разобраться как заставить pppd не заменять этот файл своим.
Решение проблемы нашел только одно. Это убрать из файла настроек pppd (у меня это /etc/ppp/options) строку usepeerdns. Эта строка заставляет pppd запросить у провайдера адреса двух DNS серверов и передать их в скрипт /etc/ppp/ip-up в качестве переменных DNS1 и DNS2. Так же эта опция передает в этот же скрипт параметр USEPEERDNS со значением 1. После этого скрипт /etc/ppp/ip-up.d/0000usepeerdns перезаписывает файл /etc/resolv.conf своим, содержащим полученные адреса DNS серверов.
гг, а прописать в
/etc/network/interfaces
строчки типа
nameserver x.y.z.a
- лень?
Любое приложение первым делом идет за списком днс в resolv.conf. pppd и dhcpd же по дефолту изменяют этот файл, добавляя/изменяя список на свой. Так что смысл писать днс в interfaces нет, если resolv.conf содержит записи.
а у меня на 9.10 amd64 не срабатывает DNS при статике(((