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