
Для кого это: Сетевые инженеры, SRE, специалисты красной команды, аналитики SOC, гуру настройки производительности и старшие разработчики, которым нужен практический, без лишних слов полевой справочник, масштабируемый от лаборатории на Raspberry Pi до многоконтинентальных SD-WAN магистралей.
Устранение неполадок в сети — это дисциплинированный, основанный на доказательствах рабочий процесс для обнаружения, изоляции и исправления сбоев в передаче данных на всех уровнях OSI/TCP-IP. У него есть два ключевых бизнес-показателя:
Хорошая практика сокращает оба показателя, документирует коренную причину и возвращает уроки в архитектуру, мониторинг и инструкции по эксплуатации.
Реактивный vs проактивный подход: Реактивная работа тушит пожары; проактивная — предотвращает их. Ваши инструменты, метрики и упражнения по хаосу должны поддерживать оба подхода.
/24, /27, /31 — почему нестандартные маски важны для точка-точка.ipcalc:ipcalc 192.168.14.0/29
| Проверка | Типичная команда | Как выглядит успех |
|---|---|---|
| Индикаторы линка и переговоры | ethtool eth0 |
1 Гбит/с полный дуплекс, без ошибок |
| Затычка loopback | swconfig dev switch0 set loopback 1 |
Чистые счетчики Rx/Tx |
| Мощность оптики | ethtool -m eth2 |
Rx-мощность в пределах -1 дБм до -3 дБм |
watch -n2 "ip -s link show eth0 | grep -A1 RX"
| Инструмент | Уровень | Пример команды | Что показывает |
|---|---|---|---|
ping -M do -s1472 dst |
3 | Определение Path-MTU | |
traceroute -I -T dst |
3 | Задержка на хопах, MPLS метки | |
ip -s link |
2/3 | Ошибки, сбросы, скорость | |
dig +trace fqdn |
7 | Дерево делегирования | |
ss -tulpn |
4 | Слушающие/установленные сокеты | |
ip route get 8.8.8.8 |
3 | Выбранный исходящий маршрут | |
tcpdump -ni any 'tcp[13]&2!=0' |
2-7 | Проверка SYN-флуд атаки | |
nmap -sS -Pn -p1-1024 dst |
3-7 | Открытые/фильтруемые порты | |
arp -a |
2 | Дублирование MAC-адресов | |
mtr -ezbwrc 100 dst |
3 | Потери и задержки в реальном времени |
show spanning-tree detail | include role — ищите root inconsistent.curl -6 https://example vs curl -4 ….Idle → Active → OpenSent указывают на проблемы с аутентификацией/TTL.ip route show vrf red 0.0.0.0/0 не должен появляться в vrf blue.sequenceDiagram
Client->>Server: SYN
Server-->>Client: SYN-ACK ❌ (потерян)
Client->>Server: SYN (повтор)
Обычно из-за исчерпания таблицы состояний фаервола или асимметричного маршрута.
sudo ethtool -k eth0 | grep offload.dig +dnssec +multi example.com — ищите флаг ad.curl -v https://site | grep HTTP — семантика 499 vs 504.openssl s_client -servername site -connect ip:443 — проверьте совпадение SNI и CN.| Категория | Симптом | Коренная причина | Решение |
|---|---|---|---|
| DNS | Долгое разрешение FQDN | SERVFAIL от вышестоящего | Исправить ACL для передачи зоны, увеличить серийник SOA |
| Маршрутизация | Прерывистая доступность | Несбалансированное хеширование ECMP | Включить хеш L4 или закрепить поток политикой |
| Фаервол | Случайные сбросы HTTPS | Теневой DROP выше ACCEPT | Переставить правила, добавить префикс логирования |
| Производительность | Пики 200 мс | Bufferbloat на CPE | Применить FQ-CoDel: tc qdisc … fq_codel |
| MTU | Сбой TLS после 14 КБ | ICMP black-hole | MSS-clamp: iptables --clamp-mss-to-pmtu |
mmcli -m 0 --command='AT+QENG="servingcell"'.# Отслеживание пути через оверлей Cilium
cilium monitor --icmp --related -v
flannel.1 с инкапсуляцией.calicoctl node status для проверки состояния пиров.Граф Mermaid входящего/исходящего трафика:
graph TD
Client -->|mTLS| Envoy_Sidecar
Envoy_Sidecar -->|mTLS| App_Pod
App_Pod --> Envoy_Sidecar
Envoy_Sidecar -->|mTLS| Remote_Envoy
gcloud logging read.tcpdump -ni underlay udp port 4789.show crypto isakmp sa для таймеров фазы 1.ip netmask 255.255.255.0.zeek -i eth0 local "Site::local_nets += { 10.0.0.0/8 }"
Коррелируйте notice.log с Suricata eve.json для контекстных оповещений.
sysctl net.ipv4.tcp_congestion_control=bbr.ss -ti.tc qdisc add dev eth0 root handle 1: htb default 20
tc class add dev eth0 parent 1: classid 1:20 htb rate 10mbit ceil 20mbit
Включите WRED на классе 1:20 для приоритетных сбросов.
dig +short CHAOS TXT id.server @resolver для геолокации DNS POP.import http from 'k6/http';
export default function () {
http.get('https://api.example.com/health', { timeout: '2s' });
}
Запускайте ежечасно через Kubernetes CronJob; вызывайте PagerDuty при P95 > 300 мс.
| Стек | Open-Source | Коммерческий |
|---|---|---|
| NPM | LibreNMS, Prometheus, Grafana | SolarWinds, PRTG |
| AIOps | Zabbix + Python ML | Kentik, ThousandEyes |
| Захват пакетов | Wireshark, Arkime | Gigamon GigaVUE |
| APM | OpenTelemetry | Datadog NPM, New Relic |
route-map.ip rule 100 из-за бага Cilium.cilium bpf ct flush, cordon & drain, перезапуск daemonset → восстановлено.Операционная дисциплина плюс правильная глубина анализа пакетов превращают тушение пожаров в повторяемую науку — поддерживая низкие задержки, высокую пропускную способность и довольных пользователей.
# Определение MTU (падает при превышении DF)
ping -M do -s 1472 8.8.8.8
# TCP-повторные передачи в реальном времени
tcpdump -ni any 'tcp[13] & 0x10 != 0 and tcp[13] & 0x08 != 0'
# Показ рекламы маршрута (Juniper)
show route advertising-protocol bgp 192.0.2.1
# Отображение VIP Kubernetes на endpoints
kubectl get ep kube-dns -o wide
Флаги TCP: URG ACK PSH RST SYN FIN
IPv6 расширенные заголовки: 0 Hop-by-Hop | 43 Routing | 44 Fragment | 50 ESP | 51 AH
DNS Opcodes: 0 QUERY | 5 UPDATE | 4 NOTIFY
| Тип данных | Горячее хранилище | Холодное хранилище | Соответствие |
|---|---|---|---|
| Raw pcap | 7 дней SSD | 30 дней S3/Glacier | PCI-DSS |
| Потоки/метрики | 13 месяцев TSDB | 2 года объектное хранилище | GDPR |
| Syslog/аудит | 1 год | 5 лет лента | HIPAA |
Если вы нашли этот контент ценным, представьте, чего вы могли бы достичь с нашей комплексной 47-недельной элитной обучающей программой. Присоединяйтесь к более чем 1200 студентам, которые изменили свою карьеру с помощью техник Подразделения 8200.