Сеть в Linux: базовые настройки и диагностика
Как эта тема связана с предыдущими
В предыдущих статьях вы научились работать в терминале, понимать права доступа и использовать sudo, устанавливать пакеты и разбираться с процессами и службами через systemctl и journalctl.
Сеть в Linux опирается на эти навыки напрямую:
диагностика сети почти всегда начинается с команд в терминале
часть действий требует прав администратора (sudo)
за подключение часто отвечают службы (например, NetworkManager или systemd-resolved), и их логи нужно уметь читатьЦель статьи: научиться понимать, что именно может быть “не так с интернетом”, и как быстро это проверить стандартными инструментами Linux.
Базовые понятия: что нужно знать, чтобы не путаться
!Схема показывает, через какие узлы проходит трафик и где чаще всего возникают проблемы
Сетевой интерфейс
Сетевой интерфейс — это “точка подключения” в системе.
проводной интерфейс часто называется eth0, enp0s3 и похожими именами
Wi‑Fi интерфейс часто называется wlan0, wlp2s0
loopback-интерфейс lo — это “сеть внутри компьютера” (нужна для работы многих программ)IP-адрес
IP-адрес — это адрес вашего компьютера в сети.
IPv4 выглядит как 192.168.1.10
IPv6 выглядит как 2001:db8::1Чаще всего в домашней сети адрес выдает роутер через DHCP (вам не нужно задавать его вручную).
Маска подсети и “локальная сеть”
Обычно ваш IP относится к определённой подсети (например, 192.168.1.0/24). Практический смысл простой: устройства внутри одной подсети обычно могут общаться напрямую.
Шлюз по умолчанию
Шлюз (default gateway) — это обычно ваш роутер. Если нужно попасть “в интернет”, трафик уходит на шлюз.
DNS
DNS — это система, которая превращает имя (например, example.com) в IP-адрес.
Важно различать:
“интернет есть, но сайты по именам не открываются” — часто проблема в DNS
“даже по IP ничего не открывается” — часто проблема в маршруте, шлюзе или блокировкеКакие компоненты в Linux отвечают за сеть
Инструменты ядра и iproute2
В большинстве дистрибутивов основной набор команд для просмотра сети — это ip и ss из пакета iproute2.
ip показывает интерфейсы, адреса и маршруты
ss показывает сетевые сокеты (какие порты слушаются, какие соединения установлены)Справка:
ip (man7.org)
ss (man7.org)Службы управления сетью
В настольных Linux часто используется NetworkManager (особенно Ubuntu, Mint, Fedora Workstation). В серверных сценариях иногда встречаются systemd-networkd или другие решения.
Практический вывод: если “что-то не поднимается”, полезно знать, какая служба управляет сетью, и смотреть её состояние и логи.
Резолвер DNS
Во многих современных системах DNS-частью управляет systemd-resolved. Для диагностики есть команда resolvectl.
Справка:
resolvectl (man7.org)Быстрая диагностика: типовая логика “интернет не работает”
Надёжный подход — проверять сеть слоями: от “есть ли линк” до “работает ли DNS”.
!Шпаргалка-процесс: что проверять и какими командами
Проверка интерфейса и состояния “линка”
Показать интерфейсы и их состояние:
Что смотреть в выводе:
интерфейс должен быть в состоянии UP
для проводного подключения часто важно, чтобы был LOWER_UP (это признак “кабель подключен/линк поднят”)Проверка IP-адреса
Показать адреса на интерфейсах:
Практически важные признаки:
на нужном интерфейсе должен быть IPv4 (или IPv6), если сеть его использует
адрес вида 169.254.x.x (IPv4) часто означает, что DHCP не сработал и система “самоназначила” адресПроверка маршрутов
Посмотреть таблицу маршрутизации:
Ключевое, что обычно нужно:
строка вида default via 192.168.1.1 dev ... означает, что есть маршрут по умолчанию через шлюзЕсли маршрута default нет, интернет обычно работать не будет (даже если IP на интерфейсе есть).
Проверка доступности по IP (без DNS)
Проверить шлюз (обычно IP роутера из ip route):
Проверить внешний IP (пример: публичный DNS Google):
Если шлюз не пингуется:
часто проблема в Wi‑Fi/кабеле/настройках сетиЕсли шлюз пингуется, но внешний IP нет:
часто проблема “выхода в интернет” на роутере или у провайдера
иногда проблема в правилах файрвола или корпоративных ограниченияхСправка:
ping (man7.org)Проверка DNS
Проверить, резолвится ли имя:
Альтернатива, которая часто есть почти везде:
Если по IP доступ есть, а имена не резолвятся:
проблема почти всегда в DNS-настройках или в доступе к DNS-серверамПолезно помнить про файл hosts, который может “переопределять” DNS:
Диагностика маршрута: где “теряется” трафик
Если ping до внешнего IP не проходит, полезно посмотреть, на каком участке пути проблема. Для этого используют traceroute.
Установка (Debian/Ubuntu/Mint):
Запуск:
Как интерпретировать упрощённо:
первые “хопы” обычно ваш роутер и сеть провайдера
если “обрыв” на первом хопе, часто проблема в роутере или локальной сети
если “обрыв” дальше, часто проблема на стороне провайдера или в маршрутизацииСправка:
traceroute (man7.org)Проверка портов и соединений: когда “сеть есть”, но сервис не работает
Иногда интернет работает, DNS работает, но конкретное приложение не подключается. Тогда важны порты.
ss: что слушает порты на вашем компьютере
Показать TCP-порты, которые “слушаются” (то есть сервис ожидает подключения):
Показать UDP:
Что смотреть:
есть ли нужный порт в списке
какой процесс его занялЕсли ожидаемый сервис не слушает порт, это уже не “сетевая проблема”, а проблема запуска службы или конфигурации приложения (возвращайтесь к статье про systemctl и journalctl).
Проверка доступности HTTP/HTTPS
Очень практичная проверка “доступа до сайта” (и заодно DNS):
опция -I запрашивает только заголовки
если DNS не работает, будет ошибка резолва
если есть блокировки TLS/прокси, это часто тоже будет видно по ошибкеЕсли curl не установлен:
Справка:
curl documentationБазовые настройки сети: что можно менять и где это делается
Новичку важно понимать границы:
в большинстве случаев на десктопе всё настраивается через NetworkManager (GUI или nmcli)
ручное редактирование системных файлов стоит делать только когда вы понимаете, кто ими управляетNetworkManager и nmcli
nmcli — командная утилита для управления NetworkManager.
Проверить, что NetworkManager запущен:
Посмотреть список устройств и их состояние:
Посмотреть активные подключения:
Подключиться к Wi‑Fi из терминала (общая идея):
Справка:
nmcli (manpages.debian.org)Где в системе “живут” DNS-настройки
В зависимости от дистрибутива и конфигурации, реальный файл /etc/resolv.conf может быть:
обычным файлом
символической ссылкой на файл, который генерирует systemd-resolvedБыстро проверить:
Посмотреть текущие DNS-данные через systemd:
Практический совет: если вы используете NetworkManager и systemd-resolved, менять /etc/resolv.conf вручную обычно бессмысленно, потому что его перезапишут.
Файрвол: частая причина “порт не доступен”
На Linux входящие подключения могут блокироваться файрволом. На Ubuntu и похожих системах часто встречается ufw как более простой интерфейс.
Проверить статус:
Разрешить входящий SSH (пример):
Включить ufw (делайте это осознанно, особенно на удалённых машинах):
Справка:
ufw (manpages.ubuntu.com)Важно:
файрвол влияет на входящие и иногда исходящие соединения
если вы работаете по SSH на удалённой машине, ошибка в настройке файрвола может “отрезать” доступЛоги сети: куда смотреть, если “само не чинится”
Если проблема не очевидна по ip и ping, переходите к логам служб.
NetworkManager
systemd-resolved (DNS)
Общие сообщения ядра про сеть
Иногда полезно посмотреть сообщения про драйвер Wi‑Fi или сетевую карту:
Если вы видите ошибки про “firmware missing” или постоянные переподключения, проблема может быть на уровне драйвера.
Практический чек-лист: что собрать перед обращением за помощью
Если вы просите помощи (на работе, в чате, на форуме), полезно сразу собрать “минимальный пакет” информации.
ip link
ip addr
ip route
resolvectl status (или хотя бы cat /etc/resolv.conf)
ping -c 2 <шлюз>
ping -c 2 8.8.8.8
resolvectl query example.com или getent hosts example.comТак вы быстро отделите проблему интерфейса, маршрута и DNS.
Итоги
В этой статье вы освоили базовую “схему мышления” про сеть в Linux:
сеть диагностируют слоями: интерфейс, IP, маршрут, доступ по IP, DNS, порты
ключевые команды: ip, ping, traceroute, ss, resolvectl, curl
сетевыми настройками на десктопе часто управляет служба NetworkManager, а DNS — systemd-resolved
для сложных случаев важны логи служб через journalctlЭти навыки хорошо дополняют предыдущие темы курса: вы используете командную строку, права доступа и понимание служб, чтобы уверенно находить причину сетевых проблем и исправлять их безопасно.