Главная > Linux > Как подружить pppd и resolv.conf

Как подружить 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 серверов.

VN:F [1.9.17_1161]
Rating: 8.0/10 (4 votes cast)
Как подружить pppd и resolv.conf, 8.0 out of 10 based on 4 ratings
Be Sociable, Share!
Categories: Linux Tags: , , ,
  1. ZimniY
    10 Сентябрь 2009 в 15:31 | #1
    Использует Firefox 3.5.3 Firefox 3.5.3 на Windows XP Windows XP

    гг, а прописать в
    /etc/network/interfaces

    строчки типа
    nameserver x.y.z.a

    - лень?

    VA:F [1.9.17_1161]
    Rating: 0.0/5 (0 votes cast)
    • 10 Сентябрь 2009 в 17:41 | #2
      Использует Arora 0.9.0 Arora 0.9.0 на GNU/Linux GNU/Linux

      Любое приложение первым делом идет за списком днс в resolv.conf. pppd и dhcpd же по дефолту изменяют этот файл, добавляя/изменяя список на свой. Так что смысл писать днс в interfaces нет, если resolv.conf содержит записи.

      VN:F [1.9.17_1161]
      Rating: 0.0/5 (0 votes cast)
  2. ZimniY
    2 Октябрь 2009 в 02:00 | #3
    Использует Firefox 3.5.3 Firefox 3.5.3 на Ubuntu 9.10 x64 Ubuntu 9.10 x64

    а у меня на 9.10 amd64 не срабатывает DNS при статике(((

    VA:F [1.9.17_1161]
    Rating: 0.0/5 (0 votes cast)
  3. Ivan1986
    23 Январь 2011 в 07:20 | #4
    Использует Opera 11.01 Opera 11.01 на GNU/Linux GNU/Linux

    Хм, а у меня сейчас обратная проблема
    resolvconf не прописывает ничего в файл
    usepeerdns как раз установлен, а после подключения в resolv.conf пусто

    VA:F [1.9.17_1161]
    Rating: 0.0/5 (0 votes cast)
    • 23 Январь 2011 в 13:59 | #5
      Использует Chromium 10.0.645.0 Chromium 10.0.645.0 на Ubuntu 11.04 Ubuntu 11.04

      Так а может pppd ничего и не передает в качестве DNS.

      VN:F [1.9.17_1161]
      Rating: 0.0/5 (0 votes cast)
  4. Ivan1986
    23 Январь 2011 в 15:32 | #6
    Использует Opera 11.01 Opera 11.01 на GNU/Linux GNU/Linux

    Как раз передает — смотрел логи в режиме дебага — все есть выдаются правильные DNS и они пишутся в /etc/ppp/resolv.conf
    а вот в /etc/resolv.conf пусто

    VA:F [1.9.17_1161]
    Rating: 0.0/5 (0 votes cast)
  5. 23 Январь 2011 в 15:39 | #7
    Использует Google Chrome 10.0.642.2 Google Chrome 10.0.642.2 на Windows XP Windows XP

    А может туда таки пишется? Только потом некий левый прцесс перезаписывает.

    VN:F [1.9.17_1161]
    Rating: 0.0/5 (0 votes cast)
  1. Пока что нет уведомлений.