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

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



18.01.2015 23:39, Artem Chuprina пишет:
> Mikhail A Antonov -> debian-russian@lists.debian.org  @ Sat, 10 Jan 2015 19:36:12 +0300:
>
>  MAA> В /etc/resolvconf/update.d/dnsmasq нашёл что resolvconf берёт все полученные
>  MAA> сервера и пишет их в файл, который потом обрабатывает dnsmasq.
>  MAA> dnsmasq в свою очередь берёт первый dns-сервер и общается с ним. А там сервер от
>  MAA> dhcp.
>
>  MAA> Как бы поменять данное поведение? Отредактировать скрипт resolvconf или есть
>  MAA> какая-нибудь хитрая опция, которая указывает что сервера от dhcp не надо
>  MAA> использовать если указаны сервера в interfaces.
>  MAA> Отредактировать скрипт не сложно, но
>  MAA> * за ним придётся следить во время обновлений
>  MAA> * другие программы могут продолжать использовать сервера, полученные от dhcp.
>  MAA> Вариант "не запрашивать dns-сервера от dhcp" не подходит т.к. в других сетях мне
>  MAA> нужно использовать именно те сервера, которые мне передал dhcp-сервер.
>
>  MAA> Пока такая сеть одна и она полностью мной контролируется - я могу вместо dhcp
>  MAA> использовать статический адрес и буду уверен что его никому не выдадут, но в
>  MAA> процессах я вижу висящий dhcp-клиент и есть у меня подозрение что когда он
>  MAA> проснётся и решит запросить адрес - ему выдадут и адрес и dns-сервера и у меня
>  MAA> всё сломается. При поднятии интерфейса убивать искать и  убивать dhcp-клиент?
>  MAA> При смене wifi-сети он нормально заново запустится?
>
>  MAA> В общем я в поиске верного решения, которое в дальнейшем потребует минимум
>  MAA> поддержки.
>
> Извини, сейчас мозга не хватает, могу неправильно понять, но.
>
> dnsmasq'у в его конфиге можно объяснить, что данный домен или домены
> надо запрашивать у данного конкретного DNS-сервера, независимо от чего
> бы то ни было.  Фрагмент с этой строчкой можно при желании динамически
> создавать и удалять, dnsmasq умеет подчитывать фрагменты конфигов из
> отдельных файлов.
Дело в том, что мне нужно не домен\домены спрашивать у конкретных NS, а вообще
все запросы отправлять к иным NS, отличным от тех, что мне выдают по dhcp.
Объясню зачем:
У меня дома всем по dhcp выдаётся NS, который находится на роутере. Этот NS
ходит на skydns и запрещает ходить к некоторым группам сайтов. На своём личном
ноутбуке я хочу использовать другие NS, которые ничего не запрещают. По
специфике работы мне приходится бывать там, куда нормальный человек даже не
подумает ходить.
При этом с этим ноутбуком я бываю в совсем разных сетях, в части которых мне
*необходимо* пользоваться NS, которые мне выдали по dhcp.
Как я вижу решение:
Для своей домашней сети настроить некий идентификатор (благо wpasupplicant это
умеет) и по нему назначать себе другие NS, вместо тех, которые выдают мне по dhcp.
Вот если использовать опцию dns-nameservers в interfaces - то resolvconf берёт и
указанные мной сервера, и те, которые выдали через dhcp.
Сейчас я настроил так:

iface home inet static
 address 172.16.2.23
 netmask 24
 gateway 172.16.2.1
 dns-nameservers 77.88.8.8 77.88.8.1
 pre-up /sbin/sysctl -w net.ipv6.conf.wlan0.disable_ipv6=0
net.ipv6.conf.wlan0.accept_ra=1 net.ipv6.conf.wlan0.autoconf=1
 up pkill --full "dhclient -v -pf /run/dhclient.wlan0.pid -lf
/var/lib/dhcp/dhclient.wlan0.leases wlan0" 2> /dev/null || true

Вроде всё работает, но иногда после выхода из s2ram приходится звать ifdown
wlan0; ifup wlan0 т.к. нет IPv4 на интерфейсе. IPv6 есть, а вот IPv4 нету.
Понаблюдаю ещё. Вероятно это умирающий dhcp-клиент убирает за собой v4 с
интерфейса. Будет надоедать - сделаю inet manual и в up позову ip addr add.

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

Attachment: signature.asc
Description: OpenPGP digital signature


Reply to: