Як встановити DNS-розв’язчик у Fedora за допомогою мережевого менеджера?


16

Я хочу спробувати загальнодоступний DNS Google. Для цього мені потрібно змінити адресу сервера імен. Я знаю, що це у файлі /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

Ні. :) Це потрібно перезаписати пізніше, після того як він отримає деяку інформацію від провайдера. Але це дало мені кілька ідей, я піду гуркіт через network-scripts, можливо, там десь ...
wvxvw

Якщо метод №3 не працює, ви можете отримати більше редагування успіху, /etc/ppp/ip-up.localяке, мабуть, викликається, коли pppd встановить з'єднання.
Драв Слоун

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

№1 працював на мене, велике спасибі!
wvxvw

Принаймні, у Debian Jessie файл nm-system-settings.conf не існує, хоча для нього є довідна сторінка. На довідковій сторінці зазначено, що параметри nm-system застаріли, а 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

3
Отже, встановивши dns=noneв /etc/NetworkManagerна Fedora 24 ... (там же старий PEERDNS=noneв /etc/sysconfig/network-scripts/ifcfg-${IFNAME}(як описано тут , наприклад ... це до сих пір використовується) ... перезавантажувати всю коробку , щоб перевірити це працює? ..
Девід 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. З сторінки man 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

Як створюється ваше з'єднання "точка-точка"? Як це було налаштовано?
Drav Sloan

Цікаве в тому, що я не знаю, як це було створено. :) Все, що я знаю, це ponі poffмагічно працювати, і що NetworkManager якось вміє ним користуватися. Моя перша здогадка полягала в тому, що це було pppoeconf, але воно навіть тут не встановлено ...
wvxvw

Оновлено, щоб побачити, чи можете ви змінити його за допомогою параметрів pppd.
Драв Слоун

Дякую за ваш час, хоча, врешті-решт, я використав відповідь Рахуля Патіла, це було дуже навчально!
wvxvw

2

Це можна зробити в інтерфейсі GUI конфігурації мережі, хоча, наскільки я бачу, це потрібно робити на основі підключення, і це не можна робити в усьому світі, а значить, вам потрібно налаштувати його індивідуально для кожного з'єднання Wi-Fi. (Це щось дратує, але також має перевагу, оскільки багато мереж Wi-Fi блокують DNS до чого-небудь, крім внутрішнього сервера, в кращу сторону чи гірше, тому індивідуальна конфігурація, ймовірно, буде потрібна для роботи.)

У будь-якому випадку у Fedora 19 перейдіть у поле "Налаштування мережі", яке ви отримаєте зі спадного меню Менеджером мереж, або запустіть панель налаштувань мережевих підключень. (Чому ці дві різні? Зміни вводяться поетапно.) У будь-якому випадку ви можете редагувати кожне з'єднання і в будь-якому інтерфейсі знаходити вкладку 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.