ping 8.8.8.8 працює, але ping www.google.com не працює


12

Я запускаю сервер ubuntu 16.04.2 і apt-get updateповертає тимчасовий збій, вирішуючи "все в списку".

  • Коли я пересилаю сторінку www.google.com, він відповідає невідомим хостом.
  • Коли я пингую з 8.8.8.8, я отримую пакунки, надіслані без помилок тощо.

Я спробував кожне "виправлення", яке я можу знайти на форумах Ubuntu та в усьому іншому світі Інтернету, і нічого не працює. resolv.confПорожній, Ifconfig показує НСА функціонує, брандмауер вимкнений, і я викинув молоток на всякий випадок. На жаль, я набираю це на іншому комп'ютері в тій самій мережі, але не можу приєднати текст з різних виходів, щоб показати, що відбувається. Потрібна допомога з цього приводу.

Файл Resolv.conf містить такі рядки:

# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8) # DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
search 8.8.8.8 8.8.4.4

Останній рядок розміщується їх файлом інтерфейсів при перезавантаженні системи. Це нове для 16.04LTS. Я думаю, що Windows NT4 не був таким поганим, і Ubuntu Server 12 не був.


2
Як ваша система отримує IP-адресу? Він надходить з сервера DHCP? Це статичний IP? Можливість пінг-адреси IP-адреси працюватиме без налаштування IP-адреси сервера DNS. Але це здається, що у вас немає налаштування адреси DNS або ваш DHCP не постачає його.
Терранс

IP статичний. Я ніколи не налаштовував DNS-сервер під час встановлення серверного програмного забезпечення.
Гері Мерсер

Подивіться на askubuntu.com/questions/143819/… та додайте свій запис DNS, як, наприклад, сервери DNS Google за 8.8.8.8 та 8.8.4.4
Терранс,

Я все це робив. Мій статичний ip надходить із вікна & t vdsl. Я використовую свої dns-сервери імен та dns-search ip. Єдине, що я можу зробити, це те, що at & t блокує dns querys.
Gary Mercer

Цікаво. Можливо, ви захочете зв’язатися з AT&T і подивитися, чи заблокують вони це в будь-якому випадку. Я думаю, ви можете спробувати замінити їх DNS-сервери на сервери DNS Google і побачити, чи працює це.
Терранс

Відповіді:


17

У вашому /etc/resolv.confфайлі потрібен сервер імен . Відредагуйте свій /etc/resolv.confі додайте робочий сервер імен. Google надає безкоштовний один, 8.8.8.8.

Зробити це:

$ nano /etc/resolv.conf

Розмістіть це як перший не коментований рядок:

nameserver 8.8.8.8

Ви можете перевірити цю функціональність за допомогою:

$ ping -c10 www.google.com

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


Вуха! Успіху! вибачте, 36 прямого годинника стукали по цій коробці ... Це спрацювало. Я навіть помістив в & t ip, і це спрацювало. Дякую всім вам, хлопці, за вашу допомогу та швидкість. (Містер Модератор, цим хлопцям потрібно було погладити по спині, щоб полегшити цілий безладний сміття)
Гері Мерсер,

resoluv.conf не дає дозволу на редагування
Syam kumar KK

на відміну від відповіді @Ragy Morkos, він працював і для мене в ubuntu 18.04 LTS
Gwang-Jin Kim

Дуже дякую! Я не міг пінг www.google.com після хроніки в моєму ubuntu. Завдяки вашому рішенню, тепер я можу робити установки тощо в розділі chroot-ed.
Гуан-Джин Кім

3

Позначена відповідь насправді не працює на Ubuntu 18.04.01. Щоб вирішити цю проблему, ось що я зробив:

  • Виконати sudo gedit /usr/lib/systemd/resolv.conf
  • Вставте nameserver 8.8.8.8(та / або будь-який інший сервер імен, який ви хочете), а потім збережіть і закрийте.
  • Додайте символьне посилання, виконавши sudo ln -sf /usr/lib/systemd/resolv.conf /etc/resolv.conf

Кредити на https://askubuntu.com/a/1050280/899241


2

Чи можете ви опублікувати посилання на сторінку, на якій було сказано, що файл resolutionv.conf має бути порожнім? Я здогадуюсь, що вона в кращому випадку вводить в оману.

Відредагуйте цей файл командою sudo nano /etc/resolv.confта поставте туди єдиний рядок:

nameserver 8.8.8.8

Це має виправити роздільну здатність вашого імені та різні програми, які ним користуються - ping, apt-get тощо.

Вам також слід дослідити, чому резол.conf порожній. Можливо, ваш сервер DHCP неправильно налаштований.


Ось що містить файл: # Динамічний файл resv.conf (5) для glibc-рішень (3), згенерований резольконф (8) # НЕ редагуйте цей файл рукою - ваші зміни будуть перетворені на пошук 8.8.8.8 8.8.4.4 Останній рядок розміщується їх файлом інтерфейсів при перезавантаженні системи.
Гері Мерсер

@GaryMercer, будь ласка, додайте це до свого питання. Важко прочитати в коментарі.
wjandrea

0

Недобра ідея про те, що Ubuntu 16.04.x ​​просто перезаписав /etc/resolv.conf. ОС буде перезаписати його для власного, швидше за все.

Цей файл, /etc/resolv.confяк правило, символічне посилання на інший файл:

ls -lisa /etc/resolv.conf
1310924 0 lrwxrwxrwx 1 root root 29 Jul 13  2016 /etc/resolv.conf -> ../run/resolvconf/resolv.conf

це означає, що він правильний, і ви можете його відредагувати, але, швидше за все, інша програма збирається замінити його. Я думаю, у вас встановлений NetworkManager. Наскільки мені відомо, ця служба керує вмістом вашого рішення. Тож вам справді слід спробувати встановити цей. (З іншого боку NetworkManager може бути відключений у вашій системі. Можливо, вам доведеться сказати мені.)

Спробуйте nmtuiдодати туди правильний сервер DNS. Я також використовував би 8.8.8.8лише як вторинну DNS. Ваш основний DNS повинен бути машиною або маршрутизатором поблизу вашої локальної мережі або будь-якого у вас там ...


Немає мережевого менеджера. Його сервер без gui. Я встановив dnsutils, перш ніж він припинив підключення до сховищ.
Гері Мерсер

@Gary Mercer: як тоді ви підключите мережевий інтерфейс? (ifup та ifdown?) GUI Менеджерів мережі - необов'язковий компонент. nmtuiє текстовою основою цього.
Герхард Штейн

Я підношу нік, перезавантаживши систему. Оскільки його сервер, він ніколи не вимикається. Я виявив, що використання послуг перезавантаження не завжди працює через інші взаємопов'язані компоненти, які складають усі сервіси, що використовують інтерфейс. Просто простіше і найефективніше перезапустити всі сервіси за допомогою простої команди перезавантаження.
Гері Мерсер

Перезавантаживши систему, щось "менеджер" повинен принести ваші пристрої. У якому ви налаштували статичні адреси IP?
Герхард Штейн

0

У мене була така ж проблема, поки я не редагував із наступними значеннями файл 50-cloud-init.yaml

 network:
    ethernets:
        eno2:
            addresses:
            - 192.168.0.50/24 (my static ip address)
            dhcp4: false
            gateway4: 192.168.0.42
            nameservers:
                addresses: [208.67.222.222,208.67.220.220]
                search: [208.67.222.222]

сподіваюся, що він працює і для вас


Якщо використовує netplan і Google DNS - серверів буде addresses: [8.8.8.8,8.8.4.4] (можливо , краще використовувати CloudFlare, 1.1.1.1 ) на /etc/netplan/50-cloud-init.yamlі потім sudo netplan --debug apply.
Пабло Біанкі

0

Ви стикаєтесь із проблемою, пов’язаною із сервером DNS, який ви вказали для вашої системи. Перевірте запис свого сервера імен у /etc/resolv.conf.

Проблема полягає в тому, що команда ping не в змозі визначити, що таке "www.google.com", оскільки ваш DNS-сервер не в змозі її вирішити і надати фактичну IP-адресу google (кожен сервер може отримати доступ лише за його IP-адресою)

Рішення

Відредагуйте запис у /etc/resolv.conf. Укажіть правильний DNS-сервер на вибір, /etc/resolve.confякий може вирішити "www.google.com"

або yВи можете вказати свій локальний системний роздільник, IP-адреса якого становить 127.0.0.53, додавши рядок

nameserver 127.0.0.53

або надати IP-сервер Google DNS-сервера (будь-якого з них): 8.8.8.8 або 8.8.4.4

nameserver 8.8.8.8**

PS Ви можете краще зрозуміти, як працює тут DNS


-2

Ми вирішили тут проблему, яка зводилася до вирішення доменних імен внутрішньо на ip-адресу. Зважаючи на те, що версія 15 сервера Ubuntu, я вважаю, використовує систему файлів динамічної конфігурації, які змінюються щоразу, коли служба чи система перезапускаються або перезавантажуються. Якщо адміністратор вносить зміни до файлу resolutionv.conf, ці зміни видаляються при перезапуску служби резолюції.

Щоб зміни були постійними, Ubuntu створив спосіб зробити постійні зміни користувача, не впливаючи на динамічну конфігурацію файлів конфігурацій. Пропозиція від Л. Д. Джеймса (вище) полягала в тому, щоб додати до /etc/resolvconf/resolv.conf.d/headфайлу потрібні зміни .

Це зробило зміни постійними та вирішило проблему вирішення повідомлення про помилку доменних імен host not found. Це рішення встановити сервер імен dns у файлі інтерфейсів, а потім передати його до роздільної здатності. Дякую всім за ваші найвищі зусилля у вирішенні цієї загадки.

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