Він замінює сервер імен (DNS), який використовується на вашій машині службою загального користування DNS Google . Якщо виконання цієї команди допоможе вам, у вас виникнуть проблеми з DNS у налаштуваннях за замовчуванням, які надає ваша мережа, можливо, (DHCP). Хоча краще було б вирішити першопричину проблеми, це загальна відповідь на ваше запитання.
Пояснення команди
sudo echo nameserver 8.8.8.8 > /etc/resolv.conf
sudo підвищує привілеї, що мають бути кореневими в цьому випадку.
echoпросто виводить аргументи, що відповідають стандартному виводу (у цьому випадку він виводить nameserver 8.8.8.8)
> перенаправляє стандартний вихід у файл (перезаписує його) у звичайній оболонці Unix.
/etc/resolv.conf - це файл, куди записаний вихід.
- Маючи лінію
nameserver 8.8.8.8в /etc/resolv.confробиш систему з допомогою сервера імен , що мають IP - адреса 8.8.8.8для розв'язання доменних імен IP - адреси. (дуже коротка версія того, що насправді відбувається)
8.8.8.8є однією з адрес, опублікованих Google щодо того, де їх публічні служби DNS слухають.
sudo помилка
Хоча це пояснення звучить правдоподібно, це не спрацює, оскільки ви отримаєте помилку :
bash: /etc/resolv.conf: Permission denied
Чому? Перенаправлення виводу обробляється вашою оболонкою (тут: Bash) і не враховується для команди, що використовується для sudo. Подібно до того, як множення в математиці має перевагу над додаванням. Отож, це просто echoте, що має підвищені привілеї, але ваша оболонка не має! Щоб вирішити це, слід виконати цю команду, як
sudo sh -c "echo nameserver 8.8.8.8 > /etc/resolv.conf"
або, використовуючи трубу і teeвивести її у файл:
echo nameserver 8.8.8.8 | sudo tee /etc/resolv.conf #prints to screen as well
Ubuntu та мережевий менеджер
Для Ubuntu це лише тимчасова зміна, оскільки Менеджер мережі "управляє" /etc/resolv.confфайлом. Локальні модифікації будуть замінені. Ось чому ви повинні налаштувати це в Менеджері мереж, щоб воно було стійким.
Конфігурація за допомогою Менеджера мережі
Я рекомендую правильно налаштувати ваш ПК за допомогою Менеджера мереж. Я припускаю, що ви тут використовуєте DHCP у своїй мережі (найчастіше). Потім зробіть це, щоб виконати те саме, що еквівалент команді, яку ви використовували:
Відкрийте Редагувати з'єднання :

Відредагуйте профіль з'єднання, який ви використовуєте.

На вкладці Налаштування IPv4 :
Метод: лише автоматичні (DHCP) адреси
Цей параметр робить звичайний запит DHCP для конфігурації IP-адреси вашого хоста, але він ігнорує інші необов'язкові параметри, такі як запропоновані сервери DNS.
- DNS-сервери:
8.8.8.8
- Натисніть Зберегти

Зроблено.
Важливі примітки
У локальній або корпоративній мережі локальний DNS-сервер може використовуватися для локальних хостів. Ви втратите цю функціональність, прямо попросивши сервери Google вирішити імена для вас. Отже, якщо, наприклад, локальний DNS-сервер знав би, що таке "принтер", ви втратите використання свого принтера під цим іменем.
Отже, виправте замість цього локальний DNS-сервер. Якщо це просто простий перенаправник на зламаний DNS-сервер вашого провайдера, і ви не можете цього змінити (наприклад, все-в-одному-маршрутизаторі, що управляється провайдером), то це 8.8.8.8рішення може бути єдиним варіантом.