Чому мій файл resv.conf щоразу регенерується?


17

Мій /etc/resolv.confфайл щоразу регенерується, завдяки чому я втрачаю сервери DNS Google, коли я підключаю 3G-модем.

Для зміни параметрів DNS я переглянув http://code.google.com/intl/fr-FR/speed/public-dns/docs/using.html .

Моя dhclient.confдосить велика (58 рядків), тому я розмістив її на пастібіні .

Однак ось цілі dhclient.confбез рядків коментарів чи порожніх рядків:

option rfc3442-classless-static-routes code 121 = array of unsigned integer 8;
send host-name "<hostname>";
request subnet-mask, broadcast-address, time-offset, routers,
    domain-name, domain-name-servers, domain-search, host-name,
    netbios-name-servers, netbios-scope, interface-mtu,
    rfc3442-classless-static-routes, ntp-servers;
prepend domain-name-servers 8.8.8.8, 8.8.4.4;

Я використовую wvdialзамість Менеджера мережі.


На жаль, я нічого про це не знаю wvdial. На даний момент я підозрюю, що тут задіяний ще один ще не знайдений пакет. Чи знаєте ви, чи встановили ви інші додатки чи інструменти, пов’язані з мережею, які певним чином торкаються DNS, DHCP, інтерфейсів тощо?
belacqua

Відповіді:


6

У 12.04 роздільна здатність Resolconcon встановлюється за замовчуванням. Ось короткий підсумок того, як зробити зміни конфігурації DNS для деяких випадків звичайного використання:

Для статичної конфігурації використовуйте ifup, використовуйте dns-nameserversта dns-searchзаписуйте в /etc/network/interfaces.

Для статичної конфігурації за допомогою NetworkManagerвиберіть Automatic (DHCP) addresses only Methodі введіть адреси та доменні імена в поля Additional DNS serversта Additional search domainsв Редакторі з'єднань.

Щоб змінити Resolvconf своєю конфігурацією по замовчуванням, використання base, headі tailв /etc/resolvconf/resolv.conf.d/. Введіть у ці файли адреси та доменні імена як тимчасовий захід, оскільки вони дійсно належать в іншому місці, як описано вище.

Вимкнення резолюціїconf не рекомендується, але ви можете замінити симпосилання /etc/resolv.confзвичайним файлом.

Для отримання додаткової інформації дивіться публікацію блогу Stéphane Graber .


4

Якщо все, що ви хочете зробити, це тримати ваші сервери DNS Google у розділі resv.conf, ви можете редагувати
/etc/dhcp3/dhclient.confта додавати:

prepend domain-name-servers 8.8.8.8;
prepend domain-name-servers 8.8.4.4;

Єдина різниця між тим, що ви маєте, і тим, що я показую тут, - це те, що у вас є обидва сервери імен в одному рядку, відповідно до згаданих вами документів.

Якщо я щось не пропускаю, ваш dhclient.conf тут не проблема. На даний момент я припускаю, що питання пов'язане з wvdial.

Ось, що можна спробувати, з ubuntuforums :

gksudo gedit /etc/ppp/peers/wvdial

ВИДАЛИТИ параметр usepeerdns і збережіть файл. Код:

gksudo gedit /etc/wvdial.conf

додати ці рядки:

check DNS = no
auto DNS = no

@jgbelacqua Я спробував це в заговорених лініях, але не спрацював: P
Jakh Saidlikp

@Jakh Я припускаю, що переміщення прямих прямих ближче до вершини також не вдається? (Ось як я налаштував свою шахту.)
belacqua

@jgbelacqua так, я теж спробував, що це теж роблять;]
Jakh Saidlikp

@Jakh - ви спробували редагувати request subnet-mask, broadcast-address, time-offset, routers, domain-name, domain-name-servers, domain-search, host-name, netbios-name-servers, netbios-scope, interface-mtu, rfc3442-classless-static-routes, ntp-servers;рядок, щоб видалити там сервери імен?
belacqua

@jgbelacqu Не погано спробуй зараз, і дай тобі
ногу

4

Найкращий спосіб встановити сервер імен через CLI, без NetworkManger, зі статичною адресою або незалежно від з'єднання:

Встановіть пакет resvconf .

Біжи

sudo nano /etc/resolvconf/resolv.conf.d/head

(ігноруйте страхітливе попередження. /etc/resolv.conf автоматично генерується, тому попередження існує, тому воно буде вставлено в /etc/resolv.conf, коли буде створено /etc/resolv.conf.) В кінці файлу, додати

 nameserver <ip_of_nameserver>

Натисніть Ctrl xі відповідь "Так", щоб зберегти файл. Щоб закінчити, відновіть /etc/resolv.conf, щоб зміни застосовано прямо зараз:

 sudo resolvconf -u

Слід додати, що ставити статичну адресу сервера імен в Resolv.conf зазвичай не годиться. Прочитайте /usr/share/doc/resolvconf/README.gz.
jdthood

0

Ви можете встановити параметр domain-name-serversdhclient.conf.


перевірити його пастебін - схоже, у нього це вже є.
belacqua

Дякую, я цього не помічав. До речі, ваше рішення могло бути правильним, тому розглядайте його як відповідь, а не коментар.
Адам Біртек

привіт @adam, чи зможете ви бути більш зрозумілими im a noob:] дякую
Jakh Saidlikp

0

Цю проблему я вирішив за допомогою наступних команд:

echo "nameserver 212.217.0.1" >> /etc/resolvconf/resolv.conf.d/head
ln -s /etc/resolvconf/resolv.conf.d/head /etc/resolv.conf
resolvconf -u
/etc/init.d/networking restart

1
Можливо, ви вирішили цю проблему таким чином, але це абсолютно неправильна конфігурація. Ви закінчилися символом /etc/resolv.conf зі статичним файлом, який є одним із файлів конфігурації reslavconcon. Якщо ви хочете вимкнути resoluvconf, тоді було б набагато простіше просто видалити symlink /etc/resolv.conf і поставити туди статичний файл.
jdthood

-1

у вас можливо встановити пакет Resolconf для пакета. у цьому випадку, кожного разу, коли з’являється інтерфейс, резолюція.conf оновлюється. ви можете додати статичні записи, використовуючи файл /etc/resolv.conf.tail, докладнішу інформацію див. на сторінці підручника для Resolv.conf.


noo у мене не встановлено цей пакет
Jakh Saidlikp

Програма resoluvconf оновлює /etc/resolv.conf, але тільки якщо /etc/resolv.conf є символічним посиланням на ../run/resolvconf/resolv.conf. Пакет resoluvconf був введений тому, що так багато інших програм тупотіли на /etc/resolv.conf незалежно одна від одної, внаслідок чого виник хаос. Прочитайте /usr/share/doc/resolvconf/README.gz. Таким чином, з того, що /etc/resolv.conf було оновлено, це не випливає (у березні 2011 р., Коли було поставлено запитання), що встановлений файл resvconf. Швидше за все, pppd переписував файл. (Однак, щодо Ubuntu 12.04, але резолювконф є частиною базової системи.)
jdthood

-1

У мене була точно така ж проблема, сервер DNS, який надає мій провайдер мобільних послуг, був досить поганим, тому я хотів використовувати DNS Google. Також NetworkManager виконує дійсно погану роботу по обробці мобільних широкосмугових з'єднань, тому wvdialце є необхідністю.

Як виявляється, /etc/resolv.confце символічне посилання в ubuntu 12.10і, можливо, навіть 12.04. Ось, що я зробив sudo unlink /etc/resolv.confпісля цього, ви можете створити новий resolv.confза vimдопомогою редактора на власний вибір і додати сервери імен google або будь-які інші сервери імен, які ви віддаєте перевагу. Збережіть це, і ви закінчите.

Якщо ви боїтесь щось зламати, ви можете зробити помітку про існуючу символьну посилання, зробивши ls -la /etc/resolv.confперед unlinkingцим.

Сподіваюся, це допомагає.


@Downvoter, будь ласка, коментуйте. Якщо моя відповідь дійсно погана порада, я з радістю видалю її. Будь ласка, дайте мені знати, що я роблю не так. Дякую
nikhil
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.