Когда сервер недоступен или работает медленно — нужно знать, где искать проблему. Вот полный арсенал команд для диагностики сети на VPS.
1. ping — базовая проверка доступности
# Проверить доступность хоста
ping google.com
# IPv6 ping
ping6 google.com
# Отправить 5 пакетов и остановить
ping -c 5 8.8.8.8
# Пинг с размером пакета 1400 байт (проверка MTU)
ping -s 1400 -c 3 google.com
2. traceroute / tracepath — маршрут пакетов
# Стандартный traceroute
traceroute google.com
# Использовать ICMP (как ping)
traceroute -I google.com
# Traceroute по IPv6
traceroute6 google.com
# tracepath — без прав root
tracepath google.com
3. mtr — лучший инструмент для диагностики потерь
# Установка
sudo apt install mtr -y
# Интерактивный режим (обновляется в реальном времени)
mtr google.com
# Отчёт в одну страницу (удобно для тикетов в поддержку)
mtr --report google.com
# 100 пакетов, только числа
mtr -r -c 100 -n google.com
4. ss и netstat — открытые порты и соединения
# Все открытые TCP-порты (слушающие)
ss -tlnp
# Все соединения (TCP + UDP)
ss -tunap
# Устаревший netstat (аналог)
netstat -tlnp
# Посмотреть кто слушает порт 80
ss -tlnp | grep :80
# или
lsof -i :80
5. nmap — сканирование портов
# Установка
sudo apt install nmap -y
# Сканировать свои открытые порты
sudo nmap -sS -O localhost
# Проверить доступность порта на удалённом хосте
nmap -p 80,443,22 192.168.1.1
# UDP-сканирование
sudo nmap -sU -p 53,123 google.com
6. tcpdump — перехват пакетов
# Весь трафик на интерфейсе eth0
sudo tcpdump -i eth0
# Только HTTP-трафик на порту 80
sudo tcpdump -i eth0 port 80
# Трафик от конкретного IP
sudo tcpdump -i eth0 src 192.168.1.100
# Сохранить в файл для анализа в Wireshark
sudo tcpdump -i eth0 -w /tmp/capture.pcap
Шпаргалка: что когда использовать
| Проблема | Инструмент |
|---|---|
| Сайт недоступен | ping → traceroute → mtr |
| Порт не слушает | ss -tlnp, lsof -i |
| Пакеты теряются | mtr --report google.com |
| Нужно знать маршрут | traceroute / ip route |
| Открытые порты сервера | nmap localhost |
| Отладка конкретного сервиса | tcpdump port N |
💡 mtr для поддержки: Когда пишете тикет о проблемах с сетью — всегда прикладывайте вывод
mtr --report google.com и mtr --report YOUR_SERVER_IP (обе стороны). Это даёт полную картину.