Сайт компании не открывается, почта не отправляется, а 1С пишет «Не удалось подключиться к серверу». Пользователи звонят и жалуются, начальство требует отчёт, а вы смотрите на экран и не знаете, с какой стороны подойти к диагностике. Сервер может быть жив, но проблема в DNS. Или наоборот DNS отвечает, а сам сервер лёг от перегрузки. Или сеть между офисом и дата-центром работает с огромными потерями.
Многие администраторы в такой ситуации начинают хаотично проверять всё подряд: пинговать, заходить на сервер по RDP/SSH, смотреть логи. Но без системы можно потратить часы, хотя на самом деле проблема решается за 10–15 минут, если знать правильные инструменты и порядок действий.
Для полноценной диагностики сервера и DNS нужно использовать набор проверенных утилит, которые есть в любой ОС (Linux/Windows). Мы разделим диагностику на три уровня:
- Доступность и сеть — жив ли сервер, есть ли потери, какова задержка.
- Нагрузка на сервер — не упирается ли он в CPU, память, диск или сеть.
- DNS — правильно ли резолвятся имена, не перегружен ли DNS-сервер.
Мы пройдём по каждому уровню с реальными примерами команд и анализа вывода.
Шаг 1. Проверка доступности сервера и качества сети
Начинаем с самого базового проверяем, отвечает ли сервер на ICMP-запросы.
ping (Windows, Linux):
Терминал в линкукc или Windows команды одинаковые
ping ya.ru
ping 192.168.1.10
Если пинг идёт, смотрим на время ответа (RTT) и потери. Для локальной сети норма менее <1 мс, для внешнего сервера до 50 -100 мс. Потери выше 1% уже проблема.
Если пинг не идёт, но вы уверены, что сервер работает, например, есть доступ по другим портам, возможно, ICMP заблокирован брандмауэром. Тогда проверяем конкретный порт.
Проверка TCP-порта (telnet, nc, Test-NetConnection):
На Linux:
nc -zv 192.168.1.10 22 # проверка SSH-порта
На Windows:
В powershell:
Test-NetConnection 192.168.1.10 -Port 22
Если порт открыт, значит сервер хотя бы слушает этот порт.
Трассировка маршрута (traceroute / tracert):
Показывает, где именно теряются пакеты или возникает задержка.
traceroute ya.ru # Linux
tracert ya.ru # Windows
Смотрим, на каком хопе время резко возрастает или появляются звёздочки. Это указывает на проблемный узел например ваш провайдер, магистральный роутер и т.д.
mtr (в Linux) — комбинация ping и traceroute в реальном времени:
Терминал линукс
mtr ya.ru
Обновляется каждую секунду, позволяет увидеть динамику потерь на каждом узле.
Шаг 2. Диагностика нагрузки на сервер
Если сеть в порядке, но сервис не отвечает, скорее всего проблема на самом сервере нехватка ресурсов.
Для Linux:
- top / htop — общая загрузка CPU и памяти. Смотрим load average (средняя загрузка за 1,5,15 минут). Если load average превышает количество ядер сервер перегружен.
- iostat -x 1 — утилизация дисков. Высокий %util или await говорит о проблемах с диском.
- free -m — сколько свободной памяти. Обратите внимание на доступную память (available), а не только свободную.
- netstat -i или ip -s link -это счётчики ошибок на сетевых интерфейсах. Если много ошибок или дропов проблема на уровне L2.
Пример анализа:
Терминал в Линукс
# Загрузка CPU
top -bn1 | grep "Cpu(s)" # в процентах
# Загрузка диска
iostat -x 1 3
# если await > 20-30 мс, диск тормозит
Для Windows:
- Диспетчер задач (Ctrl+Shift+Esc) — вкладки Производительность: CPU, память, диск, сеть.
- PerfMon (performance monitor) для детального сбора счетчиков.
- Командная строка (PowerShell)
powershellGet-Counter '\Processor(_Total)\% Processor Time' Get-Counter '\Memory\Available MBytes' Get-Counter '\PhysicalDisk(_Total)\% Disk Time'
Если обнаруживается нехватка ресурсов, нужно смотреть, какой процесс потребляет через top (Linux) или диспетчер задач (Windows). Часто это может быть утечка памяти в приложении, неоптимизированный запрос к БД или вирусная активность.
Шаг 3. Проверка системных логов
Проблемы часто отражаются в логах. Начинать диагностику без просмотра логов всё равно что искать иголку в стоге сена с закрытыми глазами.
Терминал в Линукс
# системные логи
tail -f /var/log/syslog
# логи ядра
dmesg | tail -20
# логи конкретного сервиса (например, nginx)
tail -f /var/log/nginx/error.log
В Windows:
- Просмотр событий (eventvwr.msc) Журналы Windows, Система, Приложение. Ищем ошибки с восклицательным знаком.
Шаг 4. Диагностика DNS
DNS самая частая причина проблем, когда «всё есть, но не работает». Клиент может пинговать сервер по IP, но не по имени, или сайт открывается по IP, но не по домену.
Проверка резолвинга имени (nslookup, dig):
Терминал в Линукс
nslookup ya.ru
Должен вернуть IP-адрес. Если ответа нет или ошибка DNS не работает.
Более продвинутая утилита dig (Linux):
Терминал в Линукс
dig ya.ru
Покажет время ответа, какой DNS-сервер отвечал, статус (NOERROR, NXDOMAIN, SERVFAIL). SERVFAIL часто означает проблемы на стороне авторитативного DNS.
Проверка конкретного DNS-сервера:
Терминал в Линукс
nslookup ya.ru 8.8.8.8
Запрашиваем у конкретного сервера, например, Google DNS. Если от 8.8.8.8 ответ есть, а от вашего внутреннего DNS нет проблема в вашем DNS-сервере.
Проверка обратной зоны (PTR-записи):
Терминал в Линукс
nslookup 8.8.8.8
Должен вернуть имя (для 8.8.8.8 — dns.google). Если нет обратная зона не настроена, но это не всегда критично.
Проверка делегирования и авторитативных серверов (dig +trace):
Терминал в Линукс
dig +trace ya.ru
Покажет всю цепочку от корневых DNS до авторитативного. Помогает, когда домен не открывается, но вы не понимаете, где обрыв.
Нагрузка на DNS-сервер (если вы администрируете свой DNS):
- На Linux (BIND) смотрите статистику через
rndc statsили логи запросов. - На Windows Server (DNS-роль) есть счетчики производительности: DNS\Total Queries/sec, DNS\Recursive Queries/sec.
Шаг 5. Комплексная проверка с помощью одной команды
В современных ОС есть утилиты, которые объединяют несколько проверок.
На Windows Test-NetConnection:
В powershell
Test-NetConnection ya.ru -InformationLevel Detailed
Вывод включает резолвинг DNS, ping, TCP-проверку, имя интерфейса.
На Linux можно использовать скрипт или утилиту nmap для проверки открытых портов:
Терминал в Линукс
nmap -p 80,443,22 ya.ru
Покажет, какие порты открыты, и сделает предположение об ОС.
Шаг 6. Пример комплексной диагностики
Представим ситуацию: пользователи жалуются, что корпоративный портал (portal.company.ru) не открывается. Действуем по алгоритму:
-
Проверяем доступность по IP (если известен) терминал в Линукс:
ping 10.10.10.20Ответ есть, потерь нет. Значит, сеть работает. -
Проверяем порт 443 Терминал в Линукс:
nc -zv 10.10.10.20 443Порт открыт. -
Проверяем резолвинг имени Терминал в Линукс:
nslookup portal.company.ruВозвращает 10.10.10.20 ок. -
Проверяем сам сервис:
Заходим на сервер по SSH, смотрим нагрузку в терминале в Линукс:htop -bn1 | head -5 free -mCPU 95%, памяти мало. Видим, что процесс java грузит процессор. - Смотрим логи Терминал в Линукс: tail -f /var/log/tomcat/catalina.out Видим ошибки OutOfMemoryError.
Вывод: проблема не в сети и не в DNS, а в приложении — нужна перезагрузка или увеличение памяти.
Шпаргалка по диагностике
| Что проверяем | Команда (Linux) | Команда (Windows) |
|---|---|---|
| Доступность (ICMP) | ping ya.ru | ping ya.ru |
| Доступность порта | nc -zv ya.ru 80 | Test-NetConnection ya.ru -Port 80 |
| Маршрут | traceroute ya.ru | tracert ya.ru |
| DNS-резолвинг | dig ya.ru | nslookup ya.ru |
| DNS-трассировка | dig +trace ya.ru | (нет встроенной, можно nslookup с указанием серверов) |
| Загрузка CPU | top, htop | Диспетчер задач, Get-Counter |
| Загрузка диска | iostat -x 1 | PerfMon: PhysicalDisk |
| Свободная память | free -m | Get-Counter \Memory\Available MBytes |
| Логи | tail -f /var/log/syslog | Просмотр событий |
Системная диагностика сервера и DNS это навык, который приходит с опытом. Главное действовать по порядку: от физического уровня до приложения, от общего к частному. Освоив эти команды, вы сможете находить причину сбоя в 90% случаев за 10 -15 минут, а не гадать и перезагружать всё подряд.







