Как проверить доступность подключения к интернету в Linux

LinuxLinuxBeginner
Практиковаться сейчас

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В этом практическом занятии (лабораторной работе) вы научитесь проверять наличие подключения к интернету в Linux с использованием базовых инструментов командной строки. Сначала вы будете использовать команду ping для проверки доступности публичного сервера и поймете базовый вывод этой важной сетевой утилиты.

Затем вы узнаете, как проверить разрешение DNS с помощью команды nslookup, чтобы убедиться, что ваша система может преобразовывать доменные имена в IP-адреса. Наконец, вы будете использовать команду curl для проверки подключения, пытаясь получить контент с веб-сервера. Завершив эти шаги, вы приобретете практические навыки диагностики распространенных сетевых проблем в среде Linux.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/RemoteAccessandNetworkingGroup(["Remote Access and Networking"]) linux(("Linux")) -.-> linux/PackagesandSoftwaresGroup(["Packages and Softwares"]) linux/RemoteAccessandNetworkingGroup -.-> linux/ping("Network Testing") linux/RemoteAccessandNetworkingGroup -.-> linux/ip("IP Managing") linux/PackagesandSoftwaresGroup -.-> linux/curl("URL Data Transferring") subgraph Lab Skills linux/ping -.-> lab-558790{{"Как проверить доступность подключения к интернету в Linux"}} linux/ip -.-> lab-558790{{"Как проверить доступность подключения к интернету в Linux"}} linux/curl -.-> lab-558790{{"Как проверить доступность подключения к интернету в Linux"}} end

Проверка доступности публичного сервера с помощью команды ping

На этом этапе вы научитесь использовать команду ping для проверки сетевого подключения. Команда ping отправляет пакеты на целевой хост и измеряет время, необходимое для возврата пакетов. Это помогает определить, доступен ли сервер и насколько быстро можно с ним взаимодействовать.

Если терминал еще не открыт, откройте его. Помните, что иконку Xfce Terminal можно найти слева на рабочем столе.

Теперь попробуем отправить запрос на хорошо известный публичный сервер, например, на DNS - сервер Google по адресу 8.8.8.8. Введите следующую команду и нажмите Enter:

ping 8.8.8.8

Вы увидите вывод, похожий на следующий:

PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=... time=... ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=... time=... ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=... time=... ms
...

В выводе показано, что ваше компьютер отправляет пакеты на 8.8.8.8 и получает ответы.

  • icmp_seq: Порядковый номер пакета.
  • ttl: Time To Live (Время жизни), которое указывает, сколько маршрутизаторов (hops) пакет может пройти до того, как будет отброшен.
  • time: Время в миллисекундах, затраченное на прохождение пакета до сервера и обратно (время обратного пути).

Чтобы остановить выполнение команды ping, нажмите Ctrl + C.

Вы также можете проверить доступность сервера по его доменному имени, например, google.com:

ping google.com

Вывод будет аналогичным, но команда ping сначала преобразует доменное имя в IP - адрес.

PING google.com (...) 56(84) bytes of data.
64 bytes from ... (...): icmp_seq=1 ttl=... time=... ms
64 bytes from ... (...): icmp_seq=2 ttl=... time=... ms
...

Использование команды ping является базовым методом диагностики сетевых проблем. Если команда ping завершается с ошибкой, это указывает на проблему с сетевым подключением или с целевым сервером.

Попрактикуйтесь в отправке запросов на несколько разных веб - сайтов или IP - адресов, чтобы привыкнуть к этой команде.

Нажмите Continue (Продолжить), чтобы перейти к следующему шагу.

Проверка разрешения DNS с помощью команды nslookup

На этом этапе вы узнаете о DNS (Domain Name System, Система доменных имен) и как использовать команду nslookup для проверки разрешения DNS. DNS можно сравнить с телефонной книгой интернета: она преобразует человекочитаемые доменные имена (например, google.com) в машинночитаемые IP - адреса (например, 8.8.8.8).

Команда nslookup представляет собой инструмент для запроса информации у DNS - серверов о доменных именах.

Если терминал еще не открыт, откройте его.

Давайте используем nslookup для нахождения IP - адреса для google.com. Введите следующую команду и нажмите Enter:

nslookup google.com

Вы увидите вывод, похожий на следующий:

Server:		...
Address:	...#53

Non-authoritative answer:
Name:	google.com
Address: ...
Name:	google.com
Address: ...
...

В выводе показаны следующие элементы:

  • Server: DNS - сервер, который ваш компьютер использовал для запроса.
  • Address: IP - адрес DNS - сервера.
  • Non-authoritative answer: Информация, возвращаемая DNS - сервером.
  • Name: Доменное имя, которое вы запросили.
  • Address: Один или несколько IP - адресов, связанных с доменным именем. Часто веб - сайты имеют несколько IP - адресов для балансировки нагрузки и обеспечения избыточности.

Вы также можете использовать nslookup для нахождения доменного имени, связанного с IP - адресом (обратный DNS - запрос). Попробуем IP - адрес 8.8.8.8:

nslookup 8.8.8.8

Вывод будет выглядеть приблизительно так:

Server:		...
Address:	...#53

Non-authoritative answer:
...
Name:	dns.google.

Это показывает, что IP - адрес 8.8.8.8 связан с доменным именем dns.google..

nslookup является ценным инструментом для диагностики сетевых проблем, связанных с разрешением доменных имен. Если вы можете отправить запрос на IP - адрес, но не на доменное имя, проблема, возможно, связана с DNS.

Попробуйте использовать nslookup для запроса информации о разных доменных именах.

Нажмите Continue (Продолжить), чтобы перейти к следующему этапу.

Проверка подключения с помощью curl

На этом этапе вы будете использовать команду curl для проверки подключения к веб - серверу и получения контента. curl - это универсальный инструмент командной строки для передачи данных по URL. Он поддерживает различные протоколы, включая HTTP, HTTPS, FTP и другие.

Если терминал еще не открыт, откройте его.

Давайте используем curl для получения содержимого простой веб - страницы, например, example.com. Введите следующую команду и нажмите Enter:

curl example.com

Вы увидите HTML - содержимое веб - страницы example.com, выведенное прямо в терминале.

<!doctype html>
<html>
<head>
    <title>Example Domain</title>

    <meta charset="utf-8" />
    <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1" />
    <style type="text/css">
    body {
        background-color: #f0f0f2;
        margin: 0;
        padding: 0;
        font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;

    }
    div {
        width: 600px;
        margin: 5em auto;
        padding: 2em;
        background-color: #fdfdff;
        border-radius: 0.5em;
        box-shadow: 2px 3px 7px 2px rgba(0,0,0,0.02);
    }
    a:link, a:visited {
        color: #38488f;
        text-decoration: none;
    }
    @media (max-width: 700px) {
        div {
            margin: 0 auto;
            width: auto;
        }
    }
    </style>
</head>

<body>
<div>
    <h1>Example Domain</h1>
    <p>This domain is for use in illustrative examples in documents. You may use this
    domain in examples without prior coordination or asking for permission.</p>
    <p><a href="https://www.iana.org/domains/example">More information...</a></p>
</div>
</body>
</html>

Это показывает, что ваш компьютер смог подключиться к example.com и получить его содержимое.

curl - это мощный инструмент для тестирования веб - подключения, отладки веб - сервисов и загрузки файлов.

Вы также можете использовать curl с опцией -I для получения только HTTP - заголовков, что полезно для проверки статуса веб - страницы без загрузки всего ее содержимого:

curl -I example.com

Вывод будет показывать ответные заголовки:

HTTP/1.1 200 OK
Accept-Ranges: bytes
Cache-Control: max-age=604800
Content-Type: text/html; charset=UTF-8
Etag: "..."
Expires: ...
Last-Modified: ...
Server: ECS (sg2/2A3E)
Vary: Accept-Encoding
X-Cache: HIT
Content-Length: 1270
Date: ...
Connection: close

Статус HTTP/1.1 200 OK указывает на успешное подключение.

curl - это важный инструмент для всех, кто работает с веб - технологиями.

Нажмите Continue (Продолжить), чтобы завершить этот практический урок.

Резюме

В этом практическом уроке вы узнали, как проверить подключение к интернету в Linux с помощью нескольких основных команд. Вы начали с использования команды ping для проверки доступности публичного сервера как по IP - адресу, так и по доменному имени, наблюдая за временем обратного пути и последовательностью пакетов. Это показало, как проверить базовое сетевое подключение и выявить возможные проблемы.