Справочник сисадмина

Основы компьютерных сетей

Сети — это «кровеносная система» IT. Без понимания IP, масок, маршрутизации и модели OSI вы не почините даже Wi-Fi в офисе. Этот раздел — исчерпывающий справочник по сетевому стеку: от физического кабеля до прикладных протоколов.

Модель OSI и стек TCP/IP

OSI (Open Systems Interconnection) — теоретическая 7-уровневая модель ISO. На практике Интернет работает на стеке TCP/IP (4 уровня). Знать уровни нужно, чтобы локализовать проблему: «не пингуется» — это сеть (L3), «страница не грузит» — приложение (L7).

Полная модель OSI (7 уровней)

УровеньНазваниеФункцияПримеры протоколовПримеры устройств
L7Прикладной (Application)Взаимодействие с пользователем/ПОHTTP, HTTPS, DNS, SSH, FTP, SMTP, POP3, IMAP, SNMP, DHCP, NTPБраузеры, серверы приложений, прокси
L6Представительский (Presentation)Кодировки, шифрование, сжатиеTLS/SSL, ASCII, JPEG, MIME, gzipБиблиотеки шифрования, встроен в L7
L5Сеансовый (Session)Управление сессией/диалогомNetBIOS, RPC, SMB (частично)Встроен в приложения
L4Транспортный (Transport)Доставка сегментов, порты, надёжностьTCP, UDP, SCTP, QUICL4-коммутаторы, балансировщики
L3Сетевой (Network)Логическая адресация, маршрутизацияIPv4, IPv6, ICMP, ARP, OSPF, BGP, IGMPМаршрутизаторы, L3-коммутаторы, Firewall (L3)
L2Канальный (Data Link)MAC-адресация, кадры, доступ к средеEthernet, Wi-Fi (802.11), PPP, VLAN (802.1Q), LACPКоммутаторы (switch), мосты, точки доступа
L1Физический (Physical)Биты по среде, сигналы, разъёмыВитая пара, оптика, радио, RJ-45, 802.3Кабели, коннекторы, хабы, медиаконвертеры, трансиверы

Стек TCP/IP (4 уровня) и сравнение

TCP/IPСоответствие OSIПримеры
Прикладной (Application)L5–L7HTTP, DNS, SSH, DHCP
Транспортный (Transport)L4TCP, UDP
Межсетевой (Internet)L3IP, ICMP, IGMP
Канальный (Network Access / Link)L1–L2Ethernet, Wi-Fi, ARP
Разница: OSI — строгая теоретическая модель (7 слоёв, L5/L6/L7 разделены), TCP/IP — практический стек из 4 слоёв, где сеансовый/представительский/прикладной слиты в один прикладной уровень. При диагностике «снизу вверх» вы поднимаетесь L1 → L7.

IPv4: классы, CIDR, подсети

IPv4 — адрес из 32 бит (4 октета по 0–255), например 192.168.1.50. Маска определяет границу «сеть / хост». CIDR (Classless Inter-Domain Routing) записывает маску как /число — количество единичных битов слева.

Классовая адресация (историческая, до CIDR)

КлассПервый октетМаска по умолч.НазначениеСетей / хостов
A1–126/8Огромные сети128 сетей, ~16.7M хостов
B128–191/16Крупные org16384 сетей, ~65K хостов
C192–223/24Малые сети2M сетей, 254 хоста
D224–239Multicastгрупповая рассылка
E240–255Зарезервированоэксперименты
Сегодня классы не используются (выделение адресов — только CIDR). 127.x.x.x — loopback, 0.0.0.0 — «текущая/не указана», 255.255.255.255 — ограниченное широковещание.

Частные (RFC 1918) и специальные диапазоны

ДиапазонНазначение
10.0.0.0/8Частная сеть (класс A)
172.16.0.0/12Частная сеть (класс B, 172.16–172.31)
192.168.0.0/16Частная сеть (дома/офис)
100.64.0.0/10CGNAT — общая адресация провайдера (RFC 6598)
127.0.0.0/8localhost (loopback)
169.254.0.0/16Link-local (APIPA, когда нет DHCP)
224.0.0.0/4Multicast
8.8.8.8 / 1.1.1.1Публичные DNS-резолверы

Подсети: маски /24, /25, /22 — формулы и расчёт

Формулы:

МаскаПрефиксВсего адресовХостовПример сети / broadcast
255.255.255.0/24256254192.168.1.0 → 192.168.1.255
255.255.255.128/25128126.0→.127 и .128→.255
255.255.252.0/2210241022192.168.0.0 → 192.168.3.255
255.255.254.0/23512510192.168.0.0 → 192.168.1.255
255.255.255.252/3042точка-точка (link)
255.255.255.254/3120/2*только p2p (RFC 3021)
255.255.255.255/3211хост/loopback-интерфейс

Пример расчёта вручную

Дан IP 192.168.10.130 с маской /25 (255.255.255.128).

Маска /25: 11111111.11111111.11111111.10000000  = 255.255.255.128
Бит хоста: 7 бит → 2^7 = 128 адресов в блоке.
Сетевые адреса /25 делят /24 на две половины:
  .0   – .127   (первая подсеть)
  .128 – .255   (вторая подсеть)
IP 192.168.10.130 попадает во ВТОРУЮ:
  Network:      192.168.10.128
  First host:   192.168.10.129
  Last host:    192.168.10.254
  Broadcast:    192.168.10.255

Пример для /22: сеть 10.0.4.0/22 (маска 255.255.252.0).

Маска /22: последний октет 252 = 11111100 → 10 заимствованных бит у 4-го октета.
Размер = 2^(32-22) = 1024 адреса.
Границы выравниваются по шагу 4 в 3-м октете: 0, 4, 8, 12 ...
  10.0.0.0/22  → .0.0   – .3.255
  10.0.4.0/22  → .4.0   – .7.255   ← наша
  10.0.8.0/22  → .8.0   – .11.255
Хосты: 10.0.4.1 ... 10.0.7.254 (1022 шт), broadcast 10.0.7.255.

VLSM (Variable Length Subnet Masking)

Разные маски для разных подсетей — чтобы не тратить адреса. Пример: нужно 50, 20 и 10 хостов из блока 192.168.1.0/24.

192.168.1.0/26  (62 хоста)  → для 50 хостов   (.0–.63)
192.168.1.64/27 (30 хостов) → для 20 хостов   (.64–.95)
192.168.1.96/28 (14 хостов) → для 10 хостов   (.96–.111)
Остаток .112–.255 можно отдать дальше — экономия против трёх /24.

Суперсети (суммирование маршрутов, route aggregation)

Объединение нескольких подсетей в одну большую для упрощения таблицы маршрутов. Пример: 172.16.0.0/24 … 172.16.3.0/24 → 172.16.0.0/22.

172.16.0.0/24
172.16.1.0/24
172.16.2.0/24
172.16.3.0/24  → сумма 172.16.0.0/22 (общие 22 старших бита)

IPv6

IPv6 — 128 бит (в 4 раза длиннее 32 бит IPv4). Пишется 8 групп по 16 бит (hextet), разделённых двоеточиями, в шестнадцатеричном виде.

Полный:   2001:0db8:0000:0000:0000:ff00:0042:8329
Сокращённый:
  - убираем ведущие нули в каждой группе: 2001:db8:0:0:0:ff00:42:8329
  - одну самую длинную цепочку нулевых групп заменяем на :: : 2001:db8::ff00:42:8329
Правило: :: можно использовать только ОДИН раз в адресе (иначе потеряется количество пропущенных групп). Для IPv4-совместимости есть синтаксис ::ffff:192.168.1.1 (IPv4-mapped).

Структура адреса

Обычно: 64 бита префикс сети + 64 бита идентификатор интерфейса (IID). IID часто формируется из MAC через EUI-64 или генерируется случайно (RFC 4941, privacy addresses).

Типы адресов

ТипПрефиксНазначение
Link-localfe80::/10 (на практике fe80::/64)Только в пределах линка, не маршрутизируется. Автоконфиг. обязательно на каждом интерфейсе
Global unicast2000::/3 (например 2001:db8::/32 — документ.)Публичные, маршрутизируемые в Интернете
ULA (Unique Local)fc00::/7, используется fd00::/8Аналог RFC1918, только внутри org, не в Интернет
Loopback::1/128Сам интерфейс (аналог 127.0.0.1)
Unspecified::«адрес не задан»
Multicastff00::/8Групповая рассылка (заменяет broadcast)

SLAAC (Stateless Address Autoconfiguration)

Хост сам строит адрес: берёт префикс из Router Advertisement (RA) и добавляет свой IID. Без состояния (серверу не нужно помнить аренды), в отличие от DHCPv6 (stateful). Флаги в RA: M (Managed, использовать DHCPv6 для адреса), O (Other, DHCPv6 только для опций вроде DNS).

NDP вместо ARP

В IPv6 нет ARP — его заменяет NDP (Neighbor Discovery Protocol) поверх ICMPv6:

Сообщение NDPАналог в IPv4Назначение
Neighbor Solicitation (NS)ARP request«кто такой MAC у этого IPv6?»
Neighbor Advertisement (NA)ARP replyОтвет с MAC
Router Solicitation (RS)Хост просит RA
Router Advertisement (RA)Роутер сообщает префикс/флаги (SLAAC)
RedirectICMP redirectПеренаправить на лучший шлюз
NDP уязвим к атаке подмены (нечестный RA / NA). Защищайте SElinux-аналогом — RA-Guard на коммутаторах и IPv6-файрвол. В IPv6 ICMPv6 НЕЛЬЗЯ глушить полностью — без него сломается SLAAC, PMTU и NDP.

Ethernet и MAC-адреса

MAC (Media Access Control) — физический адрес канального уровня, 48 бит (12 hex-цифр), обычно пишется 00:1A:2B:3C:4D:5E.

Структура кадра Ethernet (IEEE 802.3)

| Preamble (7) | SFD (1) | Dst MAC (6) | Src MAC (6) | EtherType (2) | Payload (46–1500) | FCS (4) |
EtherType указывает протокол верхнего уровня: 0x0800 = IPv4, 0x86DD = IPv6, 0x0806 = ARP, 0x8100 = VLAN (802.1Q).
MTU по умолчанию = 1500 байт полезной нагрузки (jumbo frames — до 9000).

Коммутатор (switch) vs хаб (hub)

СвойствоHub (хаб)Switch (коммутатор)
УровеньL1 (физический)L2 (канальный, часто L3)
ПередачаКопирует кадр ВО ВСЕ портыТолько в порт получателя (по MAC-таблице)
КоллизииОдин collision domain на всеОтдельный домен на порт
БезопасностьВесь трафик виден всемИзолирован per-port
Коммутатор учит MAC-таблицу (CAM): видит Src MAC на порту N → запоминает. Не знает MAC назначения — делает «flood» во все порты (кроме источника).

Маршрутизация

Маршрутизатор соединяет разные сети (L3). Решение о пересылке принимается по таблице маршрутов — выбирается наиболее точное (longest prefix match) совпадение.

Таблица маршрутов (Linux: ip route)

$ ip route
default via 192.168.1.1 dev eth0 proto static
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.50
10.0.0.0/24 via 192.168.1.254 dev eth0 metric 100
Поля: назначение (dest) | шлюз (via/gateway) | выходной интерфейс (dev) | метрика (metric) | источник (src)

Шлюз по умолчанию и статические маршруты

# Шлюз по умолчанию (0.0.0.0/0 — «всё остальное»)
ip route add default via 192.168.1.1
# Статический маршрут до удалённой сети
ip route add 10.0.0.0/24 via 192.168.1.254
# Маршрут через интерфейс (point-to-point)
ip route add 172.16.0.0/16 dev tun0
# Удалить
ip route del 10.0.0.0/24

Метрики

Метрика — «стоимость» маршрута. При нескольких маршрутах до одной сети ОС/протокол выбирает маршрут с меньшей метрикой. Используется для резервирования (failover) и балансировки.

Протоколы маршрутизации (кратко)

ПротоколТипСутьГде применяется
OSPF (RFC 2328)IGP, link-stateКаждый роутер строит карту топологии, считает кратчайший путь (алгоритм Дейкстры). Зоны, area 0 — магистральВнутри одной организации/AS
BGP (RFC 4271)EGP, path-vectorОбмен маршрутами между автономными системами (ASN). Учитывает политику и атрибуты (AS-PATH, NEXT-HOP)Между провайдерами / Интернет
RIPIGP, distance-vectorУстаревший, считает хопы (макс 15)Малые сети, редко
IS-IS, EIGRPIGPАльтернативы OSPF / Cisco-proprietaryКрупные сети, провайдеры

TCP vs UDP и транспорт

СвойствоTCPUDP
Установление соединенияДа, 3-way handshakeНет (connectionless)
НадёжностьГарантия доставки, порядка, без дублейНет гарантий («fire and forget»)
Управление потокомСкользящее окно (window)Нет
Контроль перегрузкиДа (slow start, congestion avoidance)Нет
Накладные расходыВыше (заголовок 20+ байт)Ниже (заголовок 8 байт)
ПримерыHTTP, HTTPS, SSH, FTP, SMTP, DBDNS, DHCP, VoIP, видео, игры, SNMP

TCP 3-way handshake

Клиент                        Сервер
  ── SYN ───────────────────▶   (seq=x)
  ◀──────── SYN-ACK ─────────   (seq=y, ack=x+1)
  ── ACK ───────────────────▶   (seq=x+1, ack=y+1)
  Соединение установлено → пошли данные
Завершение: FIN → ACK → FIN → ACK (4-way, или FIN-ACK/FIN-ACK)
Флаги TCP: SYN, ACK, FIN, RST (сброс), PSH, URG. RST = «немедленно разорвать» (часто видите при попытке зайти на закрытый порт или блокировке файрволом).

Окно, порты и сокеты

Примеры портов: 22 SSH, 25/587 SMTP, 53 DNS, 80 HTTP, 443 HTTPS,
110 POP3, 143 IMAP, 3306 MySQL, 5432 PostgreSQL, 3389 RDP, 161 SNMP

NAT и PAT

NAT (Network Address Translation) — подмена IP-адреса в заголовке пакета. Позволяет многим устройствам с частными адресами выходить в Интернет через один публичный.

ВидЧто делаетПример
SNAT (Source NAT)Меняет SRC-IP исходящего пакетаДомашний роутер: 192.168.1.5 → 85.21.x.x
MASQUERADESNAT с динамическим внешним IP (для PPPoE/WAN)iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
DNAT (Destination NAT)Меняет DST-IP входящего пакета (проброс порта)Проброс 85.21.x.x:8080 → 192.168.1.10:80
PAT / NAPT (overload)Многие внутренние IP → один внешний, различие по портуВся локалка в 1 публичный IP
# iptables примеры
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE      # SNAT/PAT наружу
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 8080 -j DNAT --to 192.168.1.10:80
echo 1 > /proc/sys/net/ipv4/ip_forward   # включить форвардинг (!)

CGNAT (Carrier-Grade NAT, 100.64.0.0/10)

Провайдеры, исчерпав публичные IPv4, сажают абонентов за 100.64.0.0/10 (RFC 6598) между CPE и CGNAT-оборудованием. Это не RFC1918 и не публичный диапазон — его нельзя использовать внутри своей сети (риск коллизий). Признак «за CGNAT»: WAN-IP роутера в 100.64.x.x, а публичный IP другой → проброс портов не сработает, нужен VPN/tunnel (например, WireGuard) или IPv6.

При CGNAT вы не можете принять входящее соединение напрямую (проброс не поможет, т.к. внешний адрес принадлежит провайдеру). Решения: IPv6 (end-to-end), reverse tunnel/VPN, услуга «белый IP» у провайдера.

DNS — глубоко

DNS (Domain Name System) переводит имена (example.com) в IP. Работает поверх UDP/53 (основной) и TCP/53 (зонные трансферы, большие ответы).

Резолвер и рекурсия

Типы записей

ТипНазначениеПример
AИмя → IPv4example.com. 300 IN A 93.184.216.34
AAAAИмя → IPv6example.com. 300 IN AAAA 2606:2800:220:1::248
CNAMEПсевдоним → другое имяwww IN CNAME example.com.
MXПочтовый сервер (с приоритетом)@ IN MX 10 mail.example.com.
NSАвторитетные NS зоныexample.com. IN NS ns1.example.com.
SOAСтарт зоны: первичный NS, email, serial, таймеры@ IN SOA ns1.example.com. admin.example.com. (2026010101 7200 3600 1209600 3600)
TXTПроизвольный текст (SPF, DKIM, проверки)@ IN TXT "v=spf1 include:_spf.google.com ~all"
PTRОбратный: IP → имя34.216.184.93.in-addr.arpa. IN PTR example.com.
SRVСлужба: хост+порт (LDAP, SIP, _xmpp)_sip._tcp IN SRV 10 60 5060 srv.example.com.
CAAКакие CA могут выдавать сертификаты@ IN CAA 0 issue "letsencrypt.org"

TTL, зоны, обратный DNS

DNSSEC и шифрование (DoH/DoT)

ТехнологияСутьПорт
DNSSECПодписи RRSIG/DNSKEY/DS — защита от подмены ответа (целостность, НЕ конфиденциальность)53
DoT (DNS over TLS)DNS в TLS-туннеле между клиентом и резолвером853
DoH (DNS over HTTPS)DNS поверх HTTPS (трафик неотличим от веба)443
# Проверка вручную
dig example.com A +short
dig example.com AAAA
dig -x 93.184.216.34            # обратный (PTR)
dig example.com MX
dig +dnssec example.com         # покажет RRSIG, если подписано
dig @1.1.1.1 example.com        # запрос к конкретному резолверу

DHCP — DORA

DHCP раздаёт IP-адреса и сетевые параметры автоматически. Протокол: UDP/67 (сервер), UDP/68 (клиент).

Процесс DORA

Клиент                  Сервер
  DHCPDISCOVER (broadcast) ───────▶   поиск сервера
  ◀─────── DHCPOFFER (broadcast)       предложение IP+опций
  DHCPREQUEST (broadcast) ─────────▶   «хочу этот адрес»
  ◀──────── DHCPACK (broadcast)         подтверждение + lease
PXE-загрузка (бездисковые станции, автоустановка) опирается на опции 66/67 и TFTP — классика для массового развёртывания ОС.

Коммутация, VLAN, STP, LACP

VLAN (IEEE 802.1Q)

VLAN логически разделяет один коммутатор на несколько независимых сетей. В кадр добавляется 4-байтовый тег 802.1Q (EtherType 0x8100, 12-битный VLAN ID = 0–4095, доступно 1–4094, 0 и 4095 зарезервированы).

# Cisco-стиль
switch(config)# vlan 10
switch(config)# int gi0/1
switch(config-if)# switchport mode access
switch(config-if)# switchport access vlan 10
switch(config-if)# int gi0/24
switch(config-if)# switchport mode trunk
switch(config-if)# switchport trunk allowed vlan 10,20

STP (Spanning Tree Protocol, 802.1D) и RSTP (802.1w)

Блокирует петли (loops) при избыточных связях, выбирая root bridge и переводя избыточные порты в состояние blocking. RSTP быстрее сходится (секунды против минут). Защиты: BPDU Guard, Root Guard.

LACP (IEEE 802.3ad / 802.1AX)

Link Aggregation — объединяет несколько физических линков в один логический (LAG) для увеличения полосы и отказоустойчивости. Режимы: active/passive (LACP) или on (статический, без LACP). Пакеты распределяются по хешу (MAC/IP/порт), НЕ «балансируются побайтово».

# Linux: bondинг через iproute2 / teamd (пример team)
teamd -c '{"runner":{"name":"lacp"}}' -d -t team0
ip link set eth0 master team0
ip link set eth1 master team0

Port Security

Ограничивает количество разрешённых MAC на порту (sticky MAC) и защищает от подмены. Действия при нарушении: shutdown (порт в err-disable), restrict (дроп + лог), protect (тихий дроп).

Wi-Fi (стандарты IEEE 802.11)

СтандартГодДиапазонМакс. скорость*Ширина каналаОсобенности
802.11a19995 ГГц54 Мбит/с20 МГцМеньше помех, меньше радиус
802.11b19992.4 ГГц11 Мбит/с20 МГцДальше, больше помех
802.11g20032.4 ГГц54 Мбит/с20 МГцСовместим с b
802.11n (Wi-Fi 4)20092.4/5 ГГц600 Мбит/с20/40 МГцMIMO, 4 потока
802.11ac (Wi-Fi 5)20135 ГГц≈3.5 Гбит/с20/40/80/160 МГцMU-MIMO, только 5 ГГц
802.11ax (Wi-Fi 6/6E)2019/20202.4/5/6 ГГц≈9.6 Гбит/с20/40/80/160 МГцOFDMA, TWT, 6 ГГц (6E)
802.11be (Wi-Fi 7)20242.4/5/6 ГГцдо ≈46 Гбит/сдо 320 МГцMLO (мультилинк), 4K-QAM, preamble puncturing

* — теоретический максимум PHY; реальная пропускная способность ниже.

Диапазоны и каналы

Чем шире канал — выше скорость, но меньше параллельных независимых сетей и больше чувствительность к помехам. В многоквартирном доме на 2.4 ГГц лучше держать 20 МГц и каналы 1/6/11.

Безопасность: WPA2 vs WPA3

WPA2 (2004)WPA3 (2018)
ШифрCCMP/AES (TKIP устарел)AES + обязательный PMF (Protected Management Frames)
АутентификацияPSK / 802.1X (Enterprise)SAE (Simultaneous Authentication of Equals) в Personal
Защита от взлома по словарюСлабая (WPA2-PSK brute-force)Сильная (SAE устойчив к off-line словарю)
КорпоративныйWPA2-Enterprise (802.1X/EAP)WPA3-Enterprise с опц. 192-битным модулем (GCMP-256)

Mesh и роуминг

Не используйте WEP и WPA-TKIP — они взламываются за минуты. Для гостей изолируйте их в отдельный VLAN (client isolation), чтобы они не видели друг друга.

VPN — сравнение и выбор

РешениеТранспортПлюсыМинусыКогда использовать
IPsec (IKEv2)ESP (IP 50) / UDP 500 + 4500 (NAT-T)Стандарт, встроен в ОС, стабилен при смене сети, site-to-siteСложная настройка, проблемы с NAT (нужен NAT-T)Site-to-site между офисами, встроенный клиент в телефонах/ОС
WireGuardUDP (один порт, напр. 51820)Крошечный код, очень быстрый, простая настройка (публичные ключи), лёгкий в аудитеМеньше «корпоративных» фич (нет встроенного 2FA/центр. управления из коробки)Современный remote access и site-to-site, замена OpenVPN/IPsec «для своих»
OpenVPNUDP или TCP (чаще 1194)Гибкий, проходит даже через прокси/HTTP-инспекцию (TCP), зрелый, много фичМедленнее WireGuard, больше кода, сложнее тюнингКогда нужно пробиться через строгие файрволы (TCP/443), legacy-совместимость
Правило выбора: WireGuard — новый стандарт «по умолчанию» для доступа и туннелей; OpenVPN — когда нужен обход жёстких фильтров (TCP/443) или максимальная совместимость; IPsec/IKEv2 — когда требуется встроенный клиент устройства или классический site-to-site между вендорскими шлюзами.

Диагностика сети (инструментарий)

УтилитаНазначениеПример
pingПроверка достижимости (ICMP echo)ping -c 4 8.8.8.8
traceroute / tracertПуть пакетов (TTL-зондирование)traceroute -I 8.8.8.8 / tracert 8.8.8.8
mtrТрассировка + live-статистика потерьmtr -n 8.8.8.8
tcpdumpЗахват/анализ пакетов в CLItcpdump -i eth0 -n 'port 53'
WiresharkГлубокий GUI-анализатор (pcap)захват → фильтр http.request
iperf3Замер пропускной способностисервер iperf3 -s, клиент iperf3 -c srv -t 10
nmapСканирование портов/хостовnmap -sV -p- 192.168.1.0/24
dig / nslookupDNS-запросыdig A example.com / nslookup example.com
ssСокеты/порты (замена netstat)ss -tunlp
ethtoolПараметры Ethernet-интерфейсаethtool eth0, ethtool -i eth0 (драйвер)
ip (iproute2)Адреса, маршруты, линкиip -br addr, ip route, ip -s link
# Классический набор проверки «нет интернета»
ip -br addr                  # есть ли IP на интерфейсе
ip route | grep default       # задан ли шлюз
ping -c 3 192.168.1.1         # пинг шлюза (локалка L2/L3)
ping -c 3 8.8.8.8            # пинг внешнего (NAT/внешка)
ping -c 3 google.com          # резолвится ли DNS
ss -tunlp | grep :443         # слушает ли сервис порт
tcpdump -n icmp               # смотрим ли мы ICMP вживую

Методология устранения неполадок

Два основных подхода — выбирайте по ситуации.

Снизу вверх (bottom-up, по OSI)

  1. L1 Физика: горит ли линк (лампочка), обжат ли кабель, не повреждён ли, правильный ли SFP/оптика.
  2. L2 Канал: виден ли MAC соседа (arp -n, bridge fdb), нет ли loop (STP), правильный ли VLAN/транк.
  3. L3 Сеть: есть ли IP и шлюз (ip addr, ip route), ping шлюза, ping внешнего, не блокирует ли файрвол.
  4. L4 Транспорт: открыт ли порт (ss -tunlp, nmap), не режет ли MTU (PMTU black hole).
  5. L7 Приложение: работает ли сервис, правильна ли конфигурация, логи (journalctl, /var/log).

Сверху вниз (top-down)

Начинаем с симптома на уровне приложения и спускаемся, если выше всё ОК. Удобно, когда проблема очевидно в одной зоне (например, «браузер не открывает сайт, но ping есть» — сразу к L7/DNS).

Универсальный чек-лист «не работает интернет»: 1) линк (лампочка на порту) → 2) есть ли свой IP → 3) ping шлюза → 4) ping 8.8.8.8 → 5) ping google.com (DNS). Где оборвалось — там и проблема. Быстро отсекайте половину пространства: если ping IP работает, а имя — нет, проблема в DNS, а не в канале.