[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

dns-masq в связке с resolvconf и ручном задании dns-nameservers



Здравствуйте.

Имею такую конфигурацию в interfaces:
----------
auto wlan0
iface wlan0 inet manual
        wpa-driver nl80211
        wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf

iface home inet dhcp
 dns-nameservers 77.88.8.88 77.88.8.2

# 'default' is used for wireless networks without an id_str
iface default inet dhcp
----------

И вот такое в wpa_supplicant:
----------
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

network={
        ssid="antfam105"
        psk="<пароль>"
        proto=RSN
        key_mgmt=WPA-PSK
        pairwise=TKIP
        group=TKIP WEP104 WEP40
        auth_alg=OPEN
        id_str="home"
}
----------

У меня установлен dnsmasq в качестве кеширующего dns-сервера исключительно для
этой машины и пакет resolvconf.

При подключении к сети с id_str="home" - resolvconf всё равно получает
dns-сервера от dhcp и передаёт dnsmasq. Т.е. резолвинг по факту до
dns-nameservers не доходит.

Посмотрел в /etc/resolvconf/run/interface/:
./lo.dnsmasq:nameserver 127.0.0.1
./wlan0.dhclient:domain hlebn.6-ip.net
./wlan0.dhclient:nameserver 172.16.2.1
./wlan0.inet:nameserver 77.88.8.88
./wlan0.inet:nameserver 77.88.8.2

Т.е. resolvconf понимает какие сервера надо использовать.

Смотрим дальше.

В /etc/resolvconf/update.d/dnsmasq нашёл что resolvconf берёт все полученные
сервера и пишет их в файл, который потом обрабатывает dnsmasq.
dnsmasq в свою очередь берёт первый dns-сервер и общается с ним. А там сервер от
dhcp.

Как бы поменять данное поведение? Отредактировать скрипт resolvconf или есть
какая-нибудь хитрая опция, которая указывает что сервера от dhcp не надо
использовать если указаны сервера в interfaces.
Отредактировать скрипт не сложно, но
* за ним придётся следить во время обновлений
* другие программы могут продолжать использовать сервера, полученные от dhcp.
Вариант "не запрашивать dns-сервера от dhcp" не подходит т.к. в других сетях мне
нужно использовать именно те сервера, которые мне передал dhcp-сервер.

Пока такая сеть одна и она полностью мной контролируется - я могу вместо dhcp
использовать статический адрес и буду уверен что его никому не выдадут, но в
процессах я вижу висящий dhcp-клиент и есть у меня подозрение что когда он
проснётся и решит запросить адрес - ему выдадут и адрес и dns-сервера и у меня
всё сломается. При поднятии интерфейса убивать искать и  убивать dhcp-клиент?
При смене wifi-сети он нормально заново запустится?

В общем я в поиске верного решения, которое в дальнейшем потребует минимум
поддержки.
Спасибо.


-- 
Best regards,
Mikhail
-
WWW: http://www.antmix.ru/
XMPP: antmix@stopicq.ru

Attachment: signature.asc
Description: OpenPGP digital signature


Reply to: