Гид по технологиям

Устранение проблем с подключением к интернету в Linux

6 min read Сетевое администрирование Обновлено 11 Apr 2026
Устранение проблем с интернетом в Linux
Устранение проблем с интернетом в Linux

Изображение: ноутбук с открытым терминалом и сетевой диаграммой

TL;DR

Краткая последовательность действий для поиска и исправления проблем с доступом в интернет: проверить состояние интерфейсов (ip, ip link), проверить связь до шлюза (ping), проверить трассировку (traceroute), проверить DNS (dig/host, /etc/resolv.conf), проверить правила брандмауэра (iptables, firewall-cmd, ufw) и службы (systemctl, nmap, ss). При наличии NetworkManager менять DNS нужно через конфиги интерфейсов или nmcli, не редактируя напрямую resolv.conf.

Введение

Интернет-соединение обеспечивает передачу данных между узлами сети. Администратору важно быстро находить причину неполадок и восстанавливать связь. В этой статье собраны практические методы и команды для диагностики и устранения проблем с исходящими и входящими соединениями, DNS и брандмауэром в Linux.

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

Что нужно знать перед началом

  • Интерфейс: сетевой адаптер в системе (eth0, ens33, wlan0 и т.д.).
  • Шлюз (gateway): ближайший роутер, через который идёт трафик за пределы сети.
  • DNS: служба, преобразующая имена в IP.
  • Брандмауэр: фильтрация пакетов на уровне хоста или сети.

Краткое определение: ping — утилита ICMP для проверки доступности хоста; traceroute — показывает путь пакетов и задержки до узла.

Как определить, клиентская или серверная проблема

  1. С клиента: можно ли пропинговать сервер по IP?
  2. С клиента: разрешается доменное имя в IP?
  3. С сервера: слушает ли процесс нужный порт (80/443)?
  4. Между ними: не блокирует ли трафик брандмауэр или промежуточное оборудование?

Поиск и устранение проблем с исходящими соединениями

1. Базовая проверка доступности

Отправьте ICMP-эхо, чтобы проверить базовую доступность:

ping 

Если 100% потеря пакетов, проверьте наличие интерфейса:

ip add show

Интерфейс в состоянии DOWN не имеет адреса и не передаёт трафик. Поднимите интерфейс:

sudo ifup 

Или:

sudo ip link set  up

Если интерфейс UP, но сервер недоступен, пингуйте шлюз:

ping 

Если шлюз недоступен — проверьте кабель, VLAN, коммутатор, питание оборудования.

2. Диагностика маршрута и задержек

Если шлюз доступен, но ресурсы за ним — нет, применяйте traceroute:

traceroute 

traceroute показывает промежуточные узлы и где теряются или заметно замедляются пакеты.

3. Проверка DNS при проблеме с именами

Если IP пингуется, а по имени сайт недоступен — это DNS. Сначала проверьте /etc/resolv.conf:

  • На системах с NetworkManager этот файл может перезаписываться.
  • На системах с systemd-resolved используется /run/systemd/resolve/stub-resolv.conf или resolvectl.

Проверка до конкретного сервера DNS:

ping -c 3 

Проверка разрешения имен:

dig @X.X.X.X www.google.com
host www.google.com X.X.X.X

Если DNS не отвечает, используйте временно публичный DNS (пример: 1.1.1.1 или 8.8.8.8) для проверки.

4. Проверка сетевых служб и портов

Для проверки, какие процессы слушают локальные порты, используйте ss или netstat:

ss -tulpn
# или
netstat -tulpn

Для проверки доступности удалённых портов с клиента используйте nmap или curl:

nmap 
curl -I http://

nmap покажет, какие порты открыты, какие закрыты и какие фильтруются.

Поиск и устранение проблем с входящими соединениями

1. Проверка доступности сервера с внешней сети

С клиента:

ping 

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

2. Проверка сервиса (пример: Apache httpd)

Проверяем, запущен ли процесс и слушает ли он порты 80/443:

ss -tulpn | grep http
systemctl status httpd
# Для NGINX
systemctl status nginx

Если процесс слушает порты, но соединения не проходят — возможно, пакеты блокируются в брандмауэре или на хосте.

3. Анализ с помощью nmap

С внешнего хоста:

nmap 
  • Состояние open — служба принимает соединения.
  • closed — порт закрыт или служба не запущена.
  • filtered — пакет блокируется брандмауэром.

Если порты закрыты, проверьте конфигурацию /etc/httpd/conf/httpd.conf и логи сервиса.

Устранение проблем с DNS

1. Где Linux ищет имена

Порядок поиска обычно такой:

  1. /etc/hosts
  2. DNS сервера в /etc/resolv.conf (или systemd-resolved)

Если имя не разрешается, проверьте эти источники.

2. NetworkManager и перезапись resolv.conf

NetworkManager может перезаписывать /etc/resolv.conf при подключении интерфейса через DHCP. Чтобы задать статический DNS для интерфейса, добавьте в конфиг изменения:

# На CentOS/Fedora/RHEL
sudo vim /etc/sysconfig/network-scripts/

# На Ubuntu/Debian
sudo vim /etc/network/interfaces

Добавьте:

PEERDNS=no
DNS1=X.X.X.X

После этого DHCP не будет перезаписывать DNS, и вы сможете редактировать /etc/resolv.conf вручную.

Примечание: на системах с systemd-resolved лучше использовать resolvectl или править /etc/systemd/resolved.conf.

Диагностика брандмауэра в Linux

1. Проверка правил iptables

Посмотрите текущие правила:

sudo iptables -L -n -v

Ищите цепочки с DROP или REJECT, а также правила с флагами -s (source) и -j (target). Правила применяются сверху вниз: если есть глобальный DROP, создайте более раннее правило для нужного порта/хоста.

2. firewalld и ufw

На современных дистрибутивах может использоваться firewalld или ufw:

# firewalld
sudo firewall-cmd --list-all
# ufw
sudo ufw status verbose

Откроете порты при необходимости:

# UFw
sudo ufw allow 80/tcp
# firewalld
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --reload

Важно: проверьте SELinux, он может блокировать доступ к файлам или портам в контексте безопасности.

Шпаргалка по командам (чеклист)

  • ip add show — показать интерфейсы и адреса
  • ip route show — просмотреть маршруты
  • ip link set up/down — поднять/опустить интерфейс
  • ping — проверить доступность
  • traceroute — трассировка пути
  • dig @DNS host — проверка DNS
  • host host DNS — альтернатива dig
  • ss -tulpn — какие процессы слушают на портах
  • nmap host — скан порта извне
  • sudo iptables -L -n -v — проверить iptables
  • sudo firewall-cmd –list-all — firewalld
  • sudo ufw status — ufw
  • journalctl -u NetworkManager — логи NetworkManager

Пошаговый план устранения проблем (Playbook)

  1. Соберите симптомы и репродуцируйте проблему.
  2. Проверьте состояние интерфейсов: ip add show.
  3. Пингуйте сначала localhost, затем шлюз, затем внешний IP.
  4. Если пинг IP проходит, а домен — нет: проверяйте DNS (dig/host).
  5. Если службы недоступны: проверьте, слушает ли процесс (ss) и логи сервиса.
  6. Проверьте правила брандмауэра и SELinux.
  7. Если всё локально в порядке, проверяйте старшую сеть (маршрутизаторы, провайдер).
  8. Примените исправления, задокументируйте изменения и наблюдайте за поведением.

Критерии приёмки

  • Клиент может корректно разрешать имя и открывать страницу.
  • Входящие соединения на нужный порт доходят до приложения.
  • Изменения задокументированы и отменяемы.

Ролевые чеклисты

Администратор сети:

  • Проверить коммутаторы и VLAN.
  • Проверить маршруты и BGP/OSPF при необходимости.

Системный администратор (сервер):

  • Проверить процесс и логи приложения.
  • Проверить локальные правила брандмауэра и SELinux.

Служба поддержки (helpdesk):

  • Собрать логи и вывести простые команды для проверки клиента.
  • Проверить, не связано ли с локальными настройками пользователя (Wi‑Fi, прокси).

Когда предложенные методы не помогут (контрпримеры)

  • Проблема intermittent (прерывается): возможно, ошибка в физике канала, помехи, перегрузки сети.
  • Медленная загрузка файлов, но быстрый отклик ICMP: часто причиной является ограничение полосы пропускания или QoS на маршрутизаторе.
  • Сервера доступны по IP, но приложение возвращает ошибки: проблема уровня приложения, а не сети.

Дополнительные инструменты и советы

  • tcpdump — для анализа реального трафика на интерфейсе (с осторожностью на продакшене):
sudo tcpdump -i  host  and port 80
  • ethtool — для диагностики состояния физического интерфейса и скорости.
  • nmcli — конфигурация NetworkManager через CLI.
  • resolvectl — управление systemd-resolved.

Важно: сбор сетевого трафика может содержать персональные данные. Убедитесь в соответствии с политикой конфиденциальности.

Быстрая карта принятия решения (Mermaid)

flowchart TD
  A[Проблема с доступом] --> B{Ping до IP успешен?}
  B -- Да --> C{Доступ по имени?}
  B -- Нет --> D[Проверить интерфейсы и шлюз]
  C -- Да --> E[Проверить приложение и порт 'ss, nmap']
  C -- Нет --> F[Проверить DNS 'dig/host, /etc/resolv.conf']
  D --> G[ip add show; ip link set  up]
  F --> H{NetworkManager используется?}
  H -- Да --> I[Настроить DNS через nmcli или конфиг интерфейса]
  H -- Нет --> J[Изменить /etc/resolv.conf]
  E --> K[Проверить брандмауэр и SELinux]
  K --> L[Открыть порт или изменить правило]

Шаблон для быстрого отчёта инцидента

  • Описание проблемы:
  • С чего начались сбои (время):
  • Команды и вывод, собранные на клиенте:
  • Команды и вывод, собранные на сервере:
  • Временные решения (если были):
  • Постоянное решение:
  • Последующие шаги и рекомендации:

Итог и рекомендации

  1. Начинайте с самых простых проверок: интерфейс, шлюз, DNS, порт.
  2. Документируйте каждое изменение и имейте план отката.
  3. Используйте логирование и сбор метрик для обнаружения повторяющихся проблем.
  4. Для сложных случаев включайте сетевые инженеры и проверяйте инфраструктуру провайдера.

Краткое резюме

  • Для типичных проблем хватает набора команд: ip, ping, traceroute, ss, nmap, dig, iptables.
  • NetworkManager и systemd-resolved способны перезаписывать конфиги; меняйте DNS через соответствующие инструменты.
  • Брандмауэр часто оказывается источником «filtered» состояния портов; проверьте порядок правил.

Важно: всегда сохраняйте бэкап конфигурационных файлов перед внесением изменений.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Исправить «preparing security options» в Windows
Windows

Исправить «preparing security options» в Windows

Как добавить Bluetooth на ПК
Аппаратное обеспечение

Как добавить Bluetooth на ПК

Улучшение звука Hi-Res без больших затрат
Аудио

Улучшение звука Hi-Res без больших затрат

Apple Music Lossless: как включить и нужен ли он
Аудио

Apple Music Lossless: как включить и нужен ли он

Home Assistant на Raspberry Pi — локальный умный дом
Smart Home

Home Assistant на Raspberry Pi — локальный умный дом

Как получить выразительное ч/б фото в Photoshop
Фотография

Как получить выразительное ч/б фото в Photoshop