избегайте DNSMASQ вносить изменения в resolv.conf

не удалось найти обходной путь для dnsmasq, чтобы не вносить изменения в файл /etc/resolv.conf.

редактирование файла init.d / dnsmasq не является полной опцией, поскольку не во всех версиях ubuntu dnsmasq запускается через init.d

надеюсь, что вы можете помочь!

0
задан 9 April 2015 в 20:57

3 ответа

Проблема состоит в том, потому что Администратор сети использует динамично Ваш /etc/resolv.conf с dnsmasq

Решение для Вас для изменения пути, как разрешить имена. Попробуйте следующее

В /etc/NetworkManager/NetworkManager.conf прокомментируйте dns=dnsmasq

sudo nano /etc/NetworkManager/NetworkManager.conf

 [main]
plugins=ifupdown,keyfile,ofono
#dns=dnsmasq

no-auto-default=00:22:64:4E:6F:70,

[ifupdown]
managed=fals

и перезапустите сервис NM

sudo restart network-manager

С этим /etc/resolv.conf больше не иждивенец на resolvconf пакет и обновляется на основе записей DNS каждого соединения в Администраторе сети

Также можно включить сервер имен /etc/resolv.conf. Не при установке DNS в NM, для каждого подключения, это будет использоваться

sudo nano /etc/resolv.conf

nameserver 8.8.4.4
nameserver 8.8.8.8

Отредактируйте тот

Остановите сервис resolvconf

sudo service resolvconf stop

отключите его

update-rc.d resolvconf disable

отключить resolvconf перезаписывать resolv.conf

создать /etc/init/resolvconf.override с одной строкой manual

echo 'manual' | sudo tee /etc/init/resolvconf.override

удалите символьную ссылку /etc/resolv.conf

rm /etc/resolv.conf

создать resolv.conf со статической записью DNS

echo "namserver x.x.x.x." > /etc/resolv.conf
0
ответ дан 9 April 2015 в 20:57

Это может или не может решить Вашу проблему, но у меня была подобная проблема, где dnsmasq (хорошо, на самом деле комбинация dnsmasq и resolvconf) переписывал мой/etc/resolv.conf файл и игнорировал опции серверов имен DNS, которые я установил в/etc/network/interfaces.

то, Чем оказалась проблема, было то, что resolvconf назовет dnsmasq для обновления записей сервера имен в resolv.conf, и затем кажется, что это вышло бы после этого.

я заставил это сохранять записи серверов имен DNS от/etc/network/interfaces путем перемещения моего интерфейса (p+([0-9])p+([0-9])?(_+([0-9]))* в моем случае) к перед "lo.dnsmasq" записью в/etc/resolvconf/interface-order. Так же теперь вместо того, чтобы получить "сервер имен 127.0.0.1" как первое, в последний раз, и только запись сервера имен в/etc/resolv.conf, я добираюсь

nameserver <ipaddr.frometc.network.interfaces> nameserver <another.frometc.network.interfaces> nameserver 127.0.0.1 search <domains from /etc/network/interfaces>

Поэтому теперь, кажется, что resolvconf выполняет, проверяет интерфейсный порядок, и добавляет записи от соответствия/etc/network/interfaces записям выше "lo.dnsmasq", затем называет процесс dnsmasq для добавления тех, которые в файл, но это так или иначе работает не совсем правильное, и это игнорирует любые интерфейсы после этого.

, Когда я пытался понять это, я искал, напрасно, о том, почему dnsmasq игнорировал/etc/network/interfaces. (Я был уверен, что dnsmasq был включен, потому что это произошло вскоре после того, как я установил dnsmasq), я не уверен, решает ли это Вашу проблему, но мне это казалось немного более чистым, чем просто удаление resolvconf.

0
ответ дан 9 April 2015 в 20:57

Вы можете попробовать сделать chattr неизменяемым.

chattr +i /path/to/filename

Чтобы удалить неизменяемый, чтобы снова разрешить изменения, измените флаг в файле.

chattr -i /path/to/filename
0
ответ дан 21 May 2020 в 02:55

Другие вопросы по тегам:

Похожие вопросы: