JavaRush /Курсы /Docker SELF /Основы работы с сетью: команды ping, ip addr, ifconfig

Основы работы с сетью: команды ping, ip addr, ifconfig

Docker SELF
4 уровень , 0 лекция
Открыта

1. Введение в сетевые концепции: немного теории

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

Сети — это нервная система ИТ-мироздания. Если вы когда-нибудь задавались вопросом, как ваш браузер открывает страницу сайта, то вот вам краткий ответ: благодаря сети. Независимо от роли, которую вы будете выполнять (разработчик, администратор или инженер), понимание сетевых основ — это важнейший скил.

Что же такое сеть? Это совокупность компьютеров, объединённых для обмена данными. В контексте Linux администрирование сети начинается с понимания базовых концепций:

  • IP-адрес: это уникальный идентификатор устройства в сети. Представьте себе, что это почтовый адрес вашего компьютера.
  • Подсеть: логическое объединение устройств в сети. Это похоже на район, в котором живут дома с адресами.
  • Шлюз: это «выход в мир», через который устройства в вашей локальной сети могут выходить в интернет или подключаться к другим подсетям.

Есть два типа IP-адресов: IPv4 (например, 192.168.1.1) и IPv6 (например, 2001:0db8:85a3:0000:0000:8a2e:0370:7334). IPv4 проще, и именно с ним мы будем работать в этой лекции. IPv6 — это крутой и долгосрочный стандарт, но его мы изучим позже.


2. Команда ping: проверяем доступность узла

Что делает ping?

ping — это утилита, которая проверяет, доступен ли другой узел в сети. Она отправляет небольшую «приветственную записку» на целевой сервер (ICMP-запрос) и ожидает ответа. Если узел отвечает, значит всё в порядке; если нет, может быть что-то пошло не так (или сервер решил вас проигнорировать, грубиян!).

Как пользоваться ping?

Давайте попробуем использовать команду ping. Откройте терминал и введите следующую команду:

ping 8.8.8.8

Эта команда отправит запросы на публичный DNS-сервер Google. Вы увидите что-то вроде этого:

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=10.4 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=117 time=10.2 ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=117 time=10.3 ms

Вот что значат эти строки:

  • icmp_seq: номер отправленного запроса.
  • ttl: «время жизни» пакета (сколько сетевых «прыжков» он может сделать).
  • time: время (в миллисекундах), которое понадобилось на отправку и получение ответа.

Чтобы ограничить число отправляемых запросов, можно использовать флаг -c:

ping -c 4 8.8.8.8

Эта команда отправит всего 4 запроса вместо бесконечного потока.

Практика: проверяем связь с локальным хостом и интернетом

Попробуйте ping с IP-адресом вашего маршрутизатора (обычно это что-то вроде 192.168.1.1) и с 8.8.8.8. Это поможет вам понять, работает ли локальная сеть и есть ли доступ в интернет.


3. Команда ip addr: проверяем сетевые интерфейсы

Что такое сетевой интерфейс?

Сетевой интерфейс — это то, через что ваш компьютер «общается» с сетью. Это может быть интерфейс для Ethernet (кабельное соединение), WLAN (беспроводное соединение) или виртуальные интерфейсы, созданные для специфических задач.

Команда ip addr отображает текущую конфигурацию сетевых интерфейсов. Попробуем её:

ip addr

Результат будет примерно таким:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host 
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    inet 192.168.1.100/24 brd 192.168.1.255 scope global dynamic enp0s3
    inet6 fe80::1a2b:3c4d:5e6f:f7g8/64 scope link

Что мы видим здесь:

  • lo — это локальный интерфейс (localhost). Его адрес всегда 127.0.0.1.
  • enp0s3 — это название сетевого интерфейса вашего Ethernet-адаптера.
  • inet — IPv4-адрес интерфейса.
  • inet6 — IPv6-адрес интерфейса.

Как временно настроить IP-адрес?

Если у вас есть права суперпользователя (через sudo), вы можете временно настроить IP-адрес:

sudo ip addr add 192.168.1.101/24 dev enp0s3

Этот IP-адрес будет действовать до перезагрузки.


4. Команда ifconfig: старый, но всё ещё популярный инструмент

Раньше для управления сетевыми интерфейсами использовался ifconfig. Сейчас он постепенно выходит из употребления (его место занял ip addr), но иногда он всё ещё встречается в старых дистрибутивах.

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

Чтобы увидеть состояние интерфейсов через ifconfig, выполните:

ifconfig

Результат будет похож на вывод команды ip addr.

Включение/выключение интерфейса

Вы можете включить или отключить интерфейс с помощью:

sudo ifconfig enp0s3 down
sudo ifconfig enp0s3 up

Опять же, помните, что ifconfig работает не на всех современных дистрибутивах. Если команда не найдена, попробуйте установить пакет net-tools, либо сразу переходите на ip addr.


5. Пример: проверяем доступность и сеть

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

  1. Проверьте доступность локального интерфейса:

    ping 127.0.0.1
    
  2. Проверьте IP-адрес вашей сети:

    ip addr
    
  3. Попробуйте временно настроить новый IP-адрес:

    sudo ip addr add 192.168.1.102/24 dev enp0s3
    ip addr show enp0s3
    
  4. Проверьте доступность публичного узла:

    ping -c 3 8.8.8.8
    
  5. Если вы используете старый дистрибутив, попробуйте переключить интерфейс:

    sudo ifconfig enp0s3 down
    sudo ifconfig enp0s3 up
    

Теперь вы вооружены базовыми инструментами для диагностики сети в Linux. Команды ping, ip addr и ifconfig — это ваши первые шаги в мир сетевого администрирования. А дальше будет только интереснее!

1
Задача
Docker SELF, 4 уровень, 0 лекция
Недоступна
Использование команды `ping`
Использование команды `ping`
1
Задача
Docker SELF, 4 уровень, 0 лекция
Недоступна
Просмотр информации о сетевых интерфейсах
Просмотр информации о сетевых интерфейсах
1
Задача
Docker SELF, 4 уровень, 0 лекция
Недоступна
Настройка временного IP-адреса
Настройка временного IP-адреса
1
Задача
Docker SELF, 4 уровень, 0 лекция
Недоступна
Работа с командами `ip addr` и `ifconfig`
Работа с командами `ip addr` и `ifconfig`
3
Задача
Docker SELF, 4 уровень, 0 лекция
Недоступна
Работа с сетью и SSH
В этом видео мы изучим основы работы с сетью и настройку маршрутов. Освоим команды для проверки DNS и проверки соединений по порту. Узнайте, как настроить удаленный доступ через SSH, использовать ключи для аутентификации и проводить диагностику сети для безопасной работы с удаленными серверами.
Комментарии (4)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
Anonymous #6460779 Уровень 18
14 января 2026
Такой вариант прошел валидатор во второй задаче со второго раза:

#!/bin/bash

command -v ip >/dev/null 2>&1 || { echo "ip недоступна"; exit 1; }

IP_ADDR_OUT="$(ip addr 2>/dev/null)"
[ -z "$IP_ADDR_OUT" ] && { echo "Нет данных о сетевых интерфейсах"; exit 1; }

printf "%s\n" "$IP_ADDR_OUT" | awk '/^[0-9]+: / {print $2}' | cut -d: -f1

MAIN_IFACE="$(ip route 2>/dev/null | awk '/default/ {print $5; exit}')"

if [ -z "$MAIN_IFACE" ]; then
  echo "Основной интерфейс не найден или сеть отключена"
  exit 0
fi

MAIN_IPV4="$(printf "%s\n" "$IP_ADDR_OUT" \
  | awk -v iface="$MAIN_IFACE" '
    $2 == iface && $3 == "inet" {
      split($4,a,"/");
      print a[1];
      exit
    }')"

if [ -n "$MAIN_IPV4" ]; then
  echo "$MAIN_IPV4"
else
  echo "IPv4-адрес основного интерфейса не найден"
fi
Slevin Уровень 1
25 сентября 2025
Задачи - полная параша, которые только раздражают и ничему не учат. Классический JavaRush подход. P.S. ChatGPT и другие ИИ не справились в ублажением этого всратого валидатора за 50+ попыток(!!!!) Не тратьте время на войну с валидатором во второй задаче - эта хрень поломана.
PaulGazol Уровень 12
7 мая 2025
И еще одна задача с прекрасной валидацией
Иван Румянцев Уровень 23
10 марта 2025
В требованиях просят ip addr а в ответе идет ip -o link