Как настроить DNS resolver в Fedora с помощью сетевого менеджера?


16

Я хочу попробовать Google публичный DNS. Для этого мне нужно изменить адрес сервера имен. Я знаю, что это в файле /etc/resolv.conf, но всякий раз, когда я запускаю network-manager, он перезаписывает значения в этом файле тем, что он получает с помощью DHCP.

Как мне сказать это не делать это? Я посмотрел через графический интерфейс, но я мог только найти возможность добавить больше IP-адресов.

Ниже находится трофей :)

введите описание изображения здесь

Ответы:


11

Способ № 1

Найдите файл конфигурации NetworkManager и добавьте / измените следующую запись (в CentOS5 она находится в /etc/NetworkManager/nm-system-settings.confили /etc/NetworkManager/system-connections/) и измените файл подключения DSL:

[ipv4]
method=auto
dns=8.8.8.8;4.2.2.2;
ignore-auto-dns=true

Примечание: - если [ipv4]не работает, попробуйте с[ppp]

Способ № 2

Вы можете изменить разрешение /etc/resolv.confтак, чтобы оно не могло быть написано другими службами или вы можете использовать chattr.

Способ № 3

Создайте скрипт, как указано ниже, /etc/Networkmanager/dispatcher.d/и не забудьте сделать его исполняемым:

#!/bin/bash
#
# Override /etc/resolv.conf and tell
# NetworkManagerDispatcher to go pluck itself.
#
# scripts in the /etc/NetworkManager/dispatcher.d/ directory
# are called alphabetically and are passed two parameters:
# $1 is the interface name, and $2 is "up" or "down" as the
# case may be.

# Here, no matter what interface or state, override the
# created resolver config with my config.

cp -f /etc/resolv.conf.myDNSoverride /etc/resolv.conf

запись о /etc/resolv.conf.myDNSoverride

nameserver 8.8.8.8

Нет :) Это должно быть перезаписано это позже, после того, как это получает некоторую информацию от ISP. Но это дало мне некоторые идеи, я пойду network-scripts
ворчать

Если метод № 3 не работает, вы можете добиться большего успеха при редактировании, /etc/ppp/ip-up.localкоторое, очевидно, вызывается после того, как pppd установит соединение.
Драв Слоан

@DravSloan Я ценю ваши ответы, это работает, но я нашел какой-то взлом на Google, который я разместил здесь .. давайте посмотрим.
Рахул Патил

# 1 работал для меня, спасибо большое!
wvxvw

По крайней мере, в Debian Jessie файл nm-system-settings.conf не существует, хотя для этого есть страница руководства. Страница man заявляет, что nm-system-settings устарела с NetworkManager / NetworkManager.conf в качестве нового значения по умолчанию.
Иеремия

7

Посмотри на:

$ man NetworkManager.conf

Кажется, что если вы добавите строку с dns=noneв [main]разделе, NetworkManager не будет касаться /etc/resolv.conf.


1
Нет, не помогло. Все равно переписал. Насколько я могу судить по этому файлу, плагины в этом разделе предназначены для кэширования полученных DNS-записей. Но я могу ошибаться.
wvxvw

2
Вы перезапустили NetworkManager после редактирования файла?
rickhg12hs

Я отключил и включил сеть через виджет KDE. Я считаю, что это должно перезапустить его. К сожалению, перезапуск через service NetworkManager restartне работает - не знаю почему: | не удается подключиться после того, как я пытаюсь перезапустить его следующим образом.
wvxvw

Очень странно, что restartэто не сработает. Я не испытывал этого ни в одной из систем, которые использовал.
rickhg12hs 10.09.13

3
Итак, установка dns=noneв /etc/NetworkManagerFedora 24 ... (есть также старая PEERDNS=noneв /etc/sysconfig/network-scripts/ifcfg-${IFNAME}(как описано здесь, например ... она все еще используется?) ... перезагрузите всю коробку, чтобы проверить. Это работает.
David Tonhofer

3

PPPD senario

Использование pponи, ppoffвероятно, означает, что вы используете pppd. В каком случае ponбудет выполняться скрипт /etc/ppp/ppp_on_boot. Если вы не укажете аргумент pon, он загрузит настройки из /etc/ppp/peers/provider. Если вы предоставите аргумент, он скажет, например, pon interwebzон будет искать /etc/ppp/peers/interwebz. Есть также /etc/ppp/optionsпроверить тоже.

Я полагаю, что этот файл содержит настройки usepeerdns. Со страницы руководства pppd:

usepeerdns
   Ask the peer for up to 2 DNS server addresses. The addresses supplied by the peer 
   (if any) are passed to the /etc/ppp/ip-up script in the environment variables 
   DNS1 and DNS2, and the environment variable USEPEERDNS will be set to 1. In 
   addition, pppd will create an /etc/ppp/resolv.conf file containing one or two
   nameserver lines with the address(es) supplied by the peer. 

Прокомментируйте эту опцию, остановку pppdс poff, отредактируйте resolv.confи перезагрузите pppdс ponи посмотреть , если это решит проблему.

eth0 senario

Если вы измените файл настроек интерфейса ( /etc/sysconfig/network-scripts/ifcfg-eth0для eth0), вы увидите, какие настройки использует менеджер сети.

Если у вас есть DHCP, работающий на этом интерфейсе, BOOTPROTO=yesвы можете запретить переопределять ваши настройки DNS PEERDNS=no. Если вы используете статический адрес, то вы можете установить свои настройки DNS с помощью

DNS1="8.8.4.4"
DNS2="8.8.8.8"
SEARCH="yourdomain.com"

Спасибо, близко, но пока нет. Используемый интерфейс есть pppи нет соответствующего ifcfg-pppфайла: |
wvxvw

Как создается ваше соединение точка-точка? Как это было настроено?
Драв Слоан

Интересно, что я не знаю, как это было создано. :) Все , что я знаю, что ponи poffмагически работы и что NetworkManager каким - то образом иметь возможность использовать его. Мое первое предположение состояло в том, что это должно было быть pppoeconf, но это даже не установлено здесь ...
wvxvw

Обновлен, чтобы увидеть, если вы можете изменить его с настройками pppd.
Драв Слоан

Большое спасибо за ваше время, хотя, в конце концов, я воспользовался ответом Рахула Патила, это было очень познавательно!
wvxvw

2

Вы можете сделать это в графическом интерфейсе настройки Network Manager, хотя, насколько я вижу, это нужно делать отдельно для каждого соединения, а не глобально, а это означает, что вам нужно настроить его индивидуально для каждого соединения Wi-Fi. (Это немного раздражает, но также имеет преимущество, поскольку многие сети Wi-Fi блокируют DNS для чего угодно, кроме внутреннего сервера, в лучшую или худшую сторону, поэтому для работы может потребоваться индивидуальная настройка .)

В любом случае в Fedora 19 либо перейдите в окно «Параметры сети», которое вы получаете из раскрывающегося списка в Network Manager, либо запустите панель настроек «Сетевые подключения». (Почему эти два разных? Изменения вводятся поэтапно, я думаю.) В любом случае, вы можете затем отредактировать каждое соединение, и в любом интерфейсе найдите вкладку IPv4.

В Конфигураторе параметров сети измените Автоматически с Вкл на Выкл и введите адреса Google. Или в графическом интерфейсе сетевых подключений измените Метод с «Автоматический (DHCP)» на «Только автоматические (DHCP) адреса» и снова введите DNS в поле.


1

Я добавил dns=noneв основной раздел /etc/Networkmanager/NetworkManager.conf, затем перезагрузил, что успешно остановило NetworkManager от перезаписи оператора поиска в /etc/resolv.conf.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.