Отредактировано 4 Несколько недель назад от ExtremeHow Редакционная команда
Сетевые подключенияДиагностикаУстранение неполадокКомандная строкаИнструментыПодключениеСистемный администраторПроизводительностьКонфигурацияМониторинг
Перевод обновлен 4 Несколько недель назад
Проблемы с сетью в Linux могут быть сложными для диагностики и исправления. Системы Linux часто используются в различных средах, от персональных компьютеров до серверов корпоративного уровня, что делает сетевые проблемы довольно распространенными и иногда сложными. Это руководство проведет вас через систематический подход к устранению сетевых проблем шаг за шагом. К концу этого руководства вы сможете выявить и устранить большинство проблем с сетью в Linux.
Перед тем как начать устранение неисправностей, важно хорошо понимать основные сетевые концепции:
Начните процесс устранения неполадок с проверки оборудования и проверки физических подключений. Убедитесь, что все кабели надежно подключены, а сетевое оборудование (такое как маршрутизатор или коммутатор) включено и работает правильно.
Используйте следующую команду для просмотра текущих сетевых интерфейсов и их статуса:
ifconfig -a
Если ifconfig
не отображается в вашей системе, попробуйте использовать ip addr
как современную альтернативу:
ip addr
Ищите IP-адрес, назначенный вашему сетевому интерфейсу. Если интерфейс не имеет IP-адреса, он не подключен к сети. Используйте эту информацию для подтверждения первоначального подключения.
Убедитесь, что ваши сетевые интерфейсы работают:
ip link show
Ищите слова "UP" или "DOWN" рядом с вашим сетевым интерфейсом. Вы должны, чтобы интерфейс, подключающийся к Интернету, был 'UP'. Если он 'DOWN', используйте следующую команду, чтобы поднять его:
sudo ip link set dev <interface-name> up
Замените <interface-name>
на имя вашего интерфейса, обычно это что-то вроде eth0
или wlan0
для проводного или беспроводного интерфейса соответственно.
Попробуйте пропинговать известный публичный сервис, например, Google DNS (8.8.8.8), чтобы проверить внешнее подключение:
ping -c 4 8.8.8.8
Если пинг успешен, ваше сетевое устройство подключено к Интернету. Если он терпит неудачу, может быть серьезная проблема с вашей сетью или вашим подключением к Интернету.
Чтобы устранить проблемы с маршрутизацией сети, проверьте таблицу маршрутизации:
route -n
Или используйте современный эквивалент:
ip route
Проверьте, правильно ли настроен ваш шлюз по умолчанию. Если нет, вам может потребоваться настроить или перенастроить сетевые настройки для включения правильного адреса шлюза. Вы можете добавить отсутствующие маршруты следующим образом:
sudo route add default gw <gateway-ip> <interface-name>
Замените <gateway-ip>
и <interface-name>
на фактический IP шлюза и имя сетевого интерфейса соответственно.
Когда соединение с DNS-сервером потеряно или возникают проблемы с разрешением DNS, у вас могут возникнуть трудности с преобразованием доменных имен в IP-адреса. Проверьте проблемы с DNS, выполнив пинг:
ping -c 4 google.com
Если вы можете пропинговать IP-адрес, но не можете пропинговать доменное имя, ваши настройки DNS могут быть неправильными. Проверьте конфигурацию DNS в следующем:
/etc/resolv.conf
Убедитесь, что у вас есть действительные DNS-записи, такие как:
nameserver 8.8.8.8
Вы также можете временно протестировать другой DNS, отредактировав ваш resolv.conf
и добавив в него следующее:
nameserver 8.8.4.4
После изменений снова проверьте настройки вашего DNS.
Если определенные сетевые интерфейсы вызывают проблемы, протестируйте и перезапустите их:
Чтобы сбросить сетевой интерфейс:
sudo ip link set <interface-name> down
sudo ip link set <interface-name> up
Это мягко сбрасывает интерфейс, что иногда может решить проблему.
Конфликты или проблемы с драйверами могут также нарушать связь. Просмотрите загруженные драйверы:
lshw -C network
Или, для вывода на аудио:
lsmod | grep <driver-name>
Если драйвер оборудования не загружается или не работает правильно, переустановка или обновление драйвера может помочь.
Linux предоставляет ряд утилит для глубокого устранения неполадок:
Чтобы просмотреть открытые соединения и порты для прослушивания:
netstat -tuln
Эта команда перечисляет все порты прослушивания TCP/UDP и активные в данный момент соединения.
Чтобы проверить сетевой путь к определенному узлу:
traceroute google.com
Это показывает каждый переход на пути к домену, помогая изолировать возможные точки отказа.
Универсальная сеть утилита для тестирования подключения хоста:
nc -v -z <host> <port>
Чтобы проверить открытые порты на хосте, замените <host>
и <port>
.
Этот универсальный инструмент может регулировать сетевые настройки и отображать текущую конфигурацию:
ip -s link
sudo ip route flush cache
Проверьте системный журнал на наличие возможных отзывов или ошибок:
tail -f /var/log/syslog
Эта команда непрерывно отображает последние записи в syslog и фиксирует новые логи в реальном времени.
Если базовое устранение неполадок не решает вашу проблему, рассмотрите следующее:
Сетевые проблемы в Linux могут показаться сложными, учитывая разнообразие устройств и сред, но систематический подход и понимание основных принципов работы сетей могут значительно упростить процесс. Помните, что сначала нужно убедиться в подключении оборудования, а затем углубляться в конфигурацию программного обеспечения и диагностику.
В заключение, продолжая обучение и практикуясь с этими инструментами и командами, вы увеличите свою уверенность и способности по устранению неполадок на системах Linux. Это руководство охватывает наиболее эффективные методы и команды, гарантируя, что вы будете достаточно подготовлены для решения широкого спектра сетевых проблем в Linux.
Если вы найдете что-то неправильное в содержании статьи, вы можете