Сетевая информация и соединение

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

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

Введение

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

Результаты

К концу этого практического занятия (лабораторной работы) вы сможете:

  • Использовать команду ip для просмотра и управления сетевыми интерфейсами
  • Тестировать сетевое соединение с помощью команды ping
  • Изучать сетевые статистики с использованием команды netstat
Это Guided Lab, который предоставляет пошаговые инструкции, чтобы помочь вам учиться и практиковаться. Внимательно следуйте инструкциям, чтобы выполнить каждый шаг и получить практический опыт. Исторические данные показывают, что это лабораторная работа уровня начальный с процентом завершения 100%. Он получил 100% положительных отзывов от учащихся.

Просмотр сетевых интерфейсов

Начнем с изучения ваших сетевых интерфейсов с помощью команды ip.

  1. Откройте окно терминала. Вы должны увидеть приглашение, заканчивающееся символом $.

  2. Введите следующую команду и нажмите Enter:

    ip addr

    Эта команда показывает информацию о всех сетевых интерфейсах на вашей системе.

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

    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
     link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
     inet 127.0.0.1/8 scope host lo
        valid_lft forever preferred_lft forever
    86484: eth1@if86485: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
     link/ether 02:42:ac:14:00:03 brd ff:ff:ff:ff:ff:ff link-netnsid 0
     inet 172.20.0.3/16 brd 172.20.255.255 scope global eth1
        valid_lft forever preferred_lft forever

    Разберем этот вывод:

    • lo: Это локальный петлевой интерфейс (loopback interface). Это специальный сетевой интерфейс, который компьютер использует для общения с самим собой.
    • eth1: Это основной Ethernet-интерфейс. Он используется для подключения к сетям.
    • inet: Эта строка показывает IP-адрес, назначенный интерфейсу. Для eth1 в этом примере это 172.20.0.3.

    Примечание: Виртуальная среда LabEx может изменяться, поэтому ваш вывод может быть несколько другим. Главное - распознать структуру вывода.

Проверка конкретного сетевого интерфейса

Теперь сосредоточимся на конкретном сетевом интерфейсе, обычно eth1 для основного Ethernet-соединения.

  1. В том же окне терминала введите следующую команду и нажмите Enter:

    ip addr show eth1

    Эта команда отображает подробную информацию о интерфейсе eth1.

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

    86484: eth1@if86485: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
     link/ether 02:42:ac:14:00:03 brd ff:ff:ff:ff:ff:ff link-netnsid 0
     inet 172.20.0.3/16 brd 172.20.255.255 scope global eth1
        valid_lft forever preferred_lft forever

    Попытаемся понять этот вывод:

    • eth1: Это имя интерфейса.
    • <BROADCAST,MULTICAST,UP,LOWER_UP>: Это флаги, указывающие на возможности и состояние интерфейса.
    • link/ether 02:42:ac:14:00:03: Это MAC-адрес интерфейса, уникальный идентификатор сетевого оборудования.
    • inet 172.20.0.3/16: Это IPv4-адрес, назначенный интерфейсу, за которым следует маска подсети в нотации CIDR.

    Примечание: Если вы не видите eth1, ваш основной интерфейс может иметь другое имя. В таком случае замените eth1 именем интерфейса, которое вы увидели на шаге 1.

Тестирование сетевого соединения

Команда ping используется для проверки базового сетевого соединения. Мы используем ее, чтобы проверить наше соединение с хорошо известным сервером.

  1. В терминале введите следующую команду и нажмите Enter:

    ping -c 4 8.8.8.8

    Эта команда отправляет 4 запроса ping на публичный DNS - сервер Google по IP - адресу 8.8.8.8.

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

    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=117 time=1.61 ms
    64 bytes from 8.8.8.8: icmp_seq=2 ttl=117 time=1.55 ms
    64 bytes from 8.8.8.8: icmp_seq=3 ttl=117 time=1.57 ms
    64 bytes from 8.8.8.8: icmp_seq=4 ttl=117 time=1.57 ms
    
    --- 8.8.8.8 ping statistics ---
    4 packets transmitted, 4 received, 0% packet loss, time 3004ms
    rtt min/avg/max/mdev = 1.545/1.573/1.607/0.022 ms

    Этот вывод показывает успешные ответы на запросы ping. Точные значения времени могут отличаться в вашей среде.

    Примечание: Если вы видите "100% packet loss" (100% потеря пакетов) или "Destination Host Unreachable" (Целевой хост недоступен), это может указывать на проблемы с сетевым соединением в виртуальной машине LabEx. У бесплатных аккаунтов ограничен доступ к сети, поэтому вам может потребоваться обновить до платного аккаунта, чтобы решить эту проблему.

Тестирование разрешения доменных имен

Теперь давайте проверим нашу способность разрешать доменные имена с помощью команды ping.

  1. В терминале введите следующую команду и нажмите Enter:

    ping -c 4 google.com

    Эта команда похожа на предыдущую, но вместо IP-адреса мы используем доменное имя (google.com).

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

    PING google.com (172.217.16.142) 56(84) bytes of data.
    64 bytes from ham02s14-in-f14.1e100.net (172.217.16.142): icmp_seq=1 ttl=117 time=11.8 ms
    64 bytes from ham02s14-in-f14.1e100.net (172.217.16.142): icmp_seq=2 ttl=117 time=11.7 ms
    64 bytes from ham02s14-in-f14.1e100.net (172.217.16.142): icmp_seq=3 ttl=117 time=11.7 ms
    64 bytes from ham02s14-in-f14.1e100.net (172.217.16.142): icmp_seq=4 ttl=117 time=11.7 ms
    
    --- google.com ping statistics ---
    4 packets transmitted, 4 received, 0% packet loss, time 3004ms
    rtt min/avg/max/mdev = 11.677/11.719/11.814/0.052 ms

    Этот вывод демонстрирует успешное разрешение доменного имени и наличие сетевого соединения. IP-адрес и точные значения времени могут отличаться в вашей среде.

    Примечание: Если вы видите ошибку типа "could not resolve google.com" (не удалось разрешить google.com), это может указывать на проблемы с DNS в виртуальной машине LabEx. У бесплатных аккаунтов ограничен доступ к сети, поэтому вам может потребоваться обновить до платного аккаунта, чтобы решить эту проблему.

Просмотр активных сетевых соединений

Команда netstat представляет собой мощный инструмент для просмотра сетевой статистики и активных соединений. Мы воспользуемся ею, чтобы увидеть, какие сетевые соединения в данный момент активны на вашей системе.

  1. В терминале введите следующую команду и нажмите Enter:

    sudo netstat -tuln

    Вам будет предложено ввести пароль. Введите его, чтобы продолжить.

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

    Active Internet connections (only servers)
    Proto Recv-Q Send-Q Local Address           Foreign Address         State
    tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN
    tcp        0      0 0.0.0.0:3001            0.0.0.0:*               LISTEN
    tcp        0      0 0.0.0.0:3002            0.0.0.0:*               LISTEN
    tcp        0      0 127.0.0.11:42051        0.0.0.0:*               LISTEN
    tcp6       0      0 :::22                   :::*                    LISTEN
    udp        0      0 0.0.0.0:3001            0.0.0.0:*
    udp        0      0 127.0.0.11:40380        0.0.0.0:*

    Этот вывод показывает активные TCP- и UDP-соединения. Точные порты и адреса могут отличаться в виртуальной машине LabEx.

    Примечание: Конкретные записи, которые вы увидите, будут зависеть от служб, запущенных в вашей виртуальной машине LabEx в момент выполнения команды.

Итоги

Поздравляем! Вы завершили лабораторную работу по сетевой информации и соединению. В рамках этой лабораторной работы вы научились:

  1. Просматривать информацию о сетевых интерфейсах с помощью команды ip
  2. Тестировать сетевой доступ и разрешение доменных имен с помощью команды ping
  3. Проверять активные сетевые соединения с помощью команды netstat

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

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

Удачи в работе с сетями!