Компьютерные сети — это не «отдельная тема», а фундамент, на котором держится работа любого сервиса. Без понимания того, как данные добираются от одного хоста к другому, системный администратор будет постоянно упираться в стену при диагностике. Для новичка важнее всего не выучить десятки терминов, а понять логику: как устройство получает адрес, как находит другой хост, как передаются данные и где чаще всего ломается связь. Дальше — только практика и наслоение опыта.
Что такое компьютерная сеть и зачем она админу
Проще всего воспринимать сеть как систему устройств, которые обмениваются данными по общим правилам. В сети могут быть компьютеры, серверы, принтеры, маршрутизаторы, точки доступа, телефоны и любые другие узлы. Для администратора сеть — это среда, в которой живут сервисы: DNS, веб-серверы, почта, удалённый доступ, резервное копирование, мониторинг.
Если понимать основы сетей, становится легче:
- быстро находить причину недоступности сервера;
- отличать проблему приложения от проблемы сети;
- настраивать доступы и фильтрацию;
- безопасно сегментировать инфраструктуру;
- читать конфигурации Linux без ощущения, что там «магия».
Допустим, вы подняли Apache на виртуалке, но из локальной сети он не открывается. Вы проверяете, слушает ли он порт (ss -tulpn | grep 80), потом смотрите, не блокирует ли iptables, потом проверяете, правильный ли шлюз. Это и есть работа с сетью — без паники, по шагам.
Базовые термины, которые нужно знать с самого начала
Узел, хост, клиент, сервер
- Узел — любое устройство в сети.
- Хост — чаще всего устройство с сетевым адресом, которое участвует в обмене данными.
- Клиент — устройство или программа, которая запрашивает ресурс.
- Сервер — устройство или программа, которая отдаёт ресурс.
Важно: один и тот же компьютер может быть и клиентом, и сервером. Например, ноутбук открывает сайт как клиент, а в локальной сети может принимать подключения по SSH как сервер. В Linux роль сервера часто определяет запущенный демон: sshd, httpd. Хост может идентифицироваться по имени в /etc/hosts или через DNS.
IP-адрес
IP-адрес — это логический адрес устройства в сети. Без него пакетам данных некуда «идти». На практике администратору нужно понимать:
- адрес может быть IPv4 или IPv6;
- адрес бывает статическим и динамическим;
- один и тот же хост может иметь несколько адресов.
IPv4-адреса давно в дефиците, поэтому в локальных сетях повсеместно используют частные диапазоны (192.168.0.0/16, 10.0.0.0/8, 172.16.0.0/12) и NAT. Администратор должен чётко различать публичный и частный адрес, иначе не настроить проброс портов или доступ извне. Динамический адрес обычно выдаётся DHCP-сервером; статический прописывается вручную — в Linux через /etc/network/interfaces или netplan.
Маска подсети
Маска подсети показывает, какая часть IP-адреса относится к сети, а какая — к самому устройству. Это один из ключевых моментов: пока вы не понимаете подсети, сложно разбираться с доступом между сегментами сети и маршрутизацией. Если у вас два сервера с IP 192.168.1.10/24 и 192.168.2.10/24, они не увидят друг друга без маршрутизатора, даже если подключены к одному коммутатору. В Linux маску можно увидеть через ip a — она отображается в CIDR-нотации (например, /24).
Шлюз по умолчанию
Шлюз по умолчанию — это устройство, через которое хост выходит в другие сети. Обычно это маршрутизатор. Если у компьютера правильный IP и маска, но неправильный шлюз, доступ в локалку может быть, а выхода наружу — нет. Частая ошибка новичков: прописывают статический IP, а про шлюз забывают. В Linux маршрут по умолчанию смотрят командой ip r (строка default via …).
DNS
DNS переводит понятные человеку имена, например имя сайта, в IP-адреса. Для администратора DNS — это не «дополнительная служба», а один из самых частых источников жалоб: сайт открывается по IP, но не открывается по имени; почта не доставляется; домен есть, а запись не обновилась. Записи бывают разных типов: A, AAAA, CNAME, MX, TXT. Проверять их удобно утилитой dig — она показывает не только ответ, но и сервер, TTL, секцию authority. После смены записи проблема часто в кеше: на клиенте его можно сбросить через sudo systemd-resolve --flush-caches (на systemd), а также проверить, какой DNS-сервер фактически используется (cat /etc/resolv.conf).
Как устроена передача данных: от простого к полезному
Сеть работает не «целиком», а слоями. Такая модель помогает понимать, где именно искать проблему.
Модель TCP/IP простыми словами
Чаще всего в практике системного администратора встречается стек TCP/IP. Он помогает разложить сетевой обмен на несколько уровней:
- прикладной уровень — программы и сервисы (HTTP, SSH, DNS);
- транспортный уровень — доставка между приложениями (TCP, UDP);
- сетевой уровень — адресация и маршрутизация (IP);
- уровень доступа к сети — физическая передача данных (Ethernet, Wi‑Fi).
Польза от такой модели практическая: если не работает сайт, можно понять, это проблема DNS (прикладной), TCP-соединения (транспортный), маршрута (сетевой) или канала связи (канальный). Например, при отказе SSH-соединения сначала проверяем, слушает ли sshd порт 22 (ss -tulpn | grep :22), затем пингуем хост, затем смотрим фаервол.
Что такое пакет
Данные в сети передаются не целиком, а кусками — пакетами. Пакет содержит:
- служебную информацию;
- адрес отправителя;
- адрес получателя;
- сами данные.
Представьте письмо в конверте: сам текст — это полезная нагрузка, а адреса и отметки — служебная часть. Именно так сеть понимает, куда доставлять информацию. В Linux посмотреть заголовки пакетов можно с помощью tcpdump -i eth0 -n port 80 — вы увидите MAC-адреса, IP, порты и флаги. Это особенно полезно, когда нужно понять, доходит ли трафик до сервера и что с ним происходит.
TCP и UDP: в чём разница и зачем это админу
TCP
TCP — протокол, который старается доставить данные надёжно и в правильном порядке. Он нужен там, где важна целостность:
- веб-сайты;
- почта;
- удалённое управление (SSH);
- файловые передачи (FTP, SCP).
Плюс TCP — надёжность, достигаемая трёхсторонним рукопожатием (SYN, SYN-ACK, ACK) и подтверждениями. Минус — больше служебных операций и потенциально меньшая скорость по сравнению с более простыми схемами передачи. На практике администратор часто сталкивается с тем, что фаервол блокирует SYN-пакеты, и соединение «зависает». В iptables для разрешения входящих соединений нужно явно разрешить NEW-пакеты и не забыть про ESTABLISHED.
UDP
UDP проще и быстрее, но не гарантирует доставку и порядок пакетов. Он часто используется там, где важнее скорость, чем идеальная надёжность:
- потоковое видео;
- голосовая связь (VoIP);
- некоторые сервисные протоколы (DNS, NTP, SNMP);
- игры и телеметрия.
Для администратора полезно запомнить главное: если нужен контроль и подтверждения — чаще TCP; если нужна минимальная задержка — часто UDP. UDP-трафик сложнее фильтровать с учётом состояния, поэтому на фаерволах часто просто открывают нужные порты. Если DNS-запросы не проходят, проверьте, не заблокирован ли UDP-порт 53.
OSI и TCP/IP: почему их всё ещё спрашивают на собеседованиях
Модель OSI — это учебная схема, которая помогает структурировать понимание сетей. В реальной жизни вы чаще будете работать с TCP/IP, но OSI полезна для диагностики и объяснения проблем. На собеседованиях её спрашивают, чтобы оценить системность мышления: может ли кандидат разложить проблему по уровням.
Зачем знать модель уровней
Когда кто-то говорит: «сеть не работает», надо задавать правильные вопросы:
- виден ли кабель или Wi‑Fi (физический/канальный);
- есть ли IP-адрес (сетевой);
- отвечает ли шлюз (сетевой);
- работает ли DNS (прикладной);
- доступен ли сервис на нужном порту (транспортный/прикладной).
По сути, это и есть движение снизу вверх по уровням сети. Я всегда начинаю с проверки, горит ли линк на сетевой карте (ethtool eth0), затем смотрю IP и маску, пингую шлюз, проверяю DNS и только потом — порт сервиса. Такой подход экономит часы и убирает гадание.
Главные сетевые устройства и их роль
| Устройство | Что делает | Где встречается чаще всего |
|---|---|---|
| Коммутатор | Соединяет устройства внутри локальной сети | Офис, серверная, стойка |
| Маршрутизатор | Соединяет разные сети и выбирает путь трафика | Домашняя сеть, офис, провайдер |
| Точка доступа | Даёт беспроводное подключение | Wi‑Fi в офисе и дома |
| Модем/ONT | Связывает локальную сеть с линией провайдера | Дом, офис, филиал |
| Межсетевой экран | Фильтрует трафик по правилам | Периметр, серверная, филиалы |
Коммутатор обычно работает на канальном уровне (L2) и оперирует MAC-адресами, а маршрутизатор — на сетевом (L3) и принимает решения на основе IP. Это одно из самых частых мест путаницы у новичков. Современные управляемые коммутаторы могут иметь функции L3, но базовая логика остаётся: внутри одной подсети трафик идёт через коммутатор, между подсетями — через маршрутизатор. Если серверы в одной VLAN не видят друг друга, проблема, скорее всего, в коммутаторе или настройках VLAN; если не выходят в интернет — проверяем шлюз и маршрутизатор.
Порты: как сервисы уживаются на одном IP
Порт — это номер, который помогает понять, какой именно сервис должен принять соединение. Один IP может обслуживать десятки и сотни служб, и именно порт отличает веб-сервер от SSH, базы данных и почтового сервиса. Порты с 0 по 1023 считаются привилегированными: чтобы запустить на них сервис, нужны права root.
Примеры:
- 22 — SSH;
- 80 — HTTP;
- 443 — HTTPS;
- 53 — DNS;
- 25 — SMTP.
Для админа это критично: если сервис «не отвечает», нужно проверить не только сам сервер, но и порт, на котором он слушает, а также правила фаервола. Как узнать, что висит на порту? ss -tulpn | grep :80 покажет процесс и PID. Если веб-сервер не стартует, возможно, порт уже занят другим приложением. Фаерволы (iptables, ufw) оперируют именно портами для разрешения или запрета трафика, поэтому всегда проверяйте, не блокируется ли нужный порт.
Адресация и подсети: что нужно уметь на практике
Что такое подсеть
Подсеть — это логический кусок сети. Она помогает разделять устройства по отделам, ролям или уровням доступа. Например:
- отдельная подсеть для серверов;
- отдельная для рабочих станций;
- отдельная для гостевого Wi‑Fi;
- отдельная для камер и IoT.
Это важно не только для порядка, но и для безопасности. Если все устройства в одной плоской сети, ограничивать доступ гораздо сложнее. Маска подсети определяет её размер: /24 (255.255.255.0) даёт 254 доступных адреса для хостов (2^(32-24) — 2, так как адрес сети и broadcast-адрес заняты).
Зачем делить сеть
- снижается лишний широковещательный трафик (ARP-штормы);
- проще искать неисправности — проблема локализуется в конкретном сегменте;
- удобнее настраивать права доступа между подсетями на маршрутизаторе;
- безопаснее изолировать важные узлы: если злоумышленник попадёт в гостевую сеть, он не доберётся до серверов;
- легче масштабировать инфраструктуру — добавление нового отдела не ломает всю адресацию.
На практике я всегда выделяю серверную подсеть, пользовательскую и гостевую, а затем настраиваю межсетевой экран или ACL на маршрутизаторе, чтобы разрешить только нужные взаимодействия.
Типовые проблемы новичка и как их отличать
1. «Интернет не работает»
Проверять нужно по цепочке, не пропуская шаги:
- есть ли физическое подключение —
ip linkпоказывает состояние интерфейса (UP/DOWN); - получил ли хост IP —
ip a; если адреса нет, возможно, не работает DHCP или неверно задан статический IP; - правильные ли шлюз и маска —
ip r; шлюз должен быть доступен (пинг до него); - отвечает ли DNS —
dig example.comилиnslookup; если нет, временно пропишите 8.8.8.8 в/etc/resolv.conf; - доступен ли внешний адрес —
ping 8.8.8.8; если пинг до 8.8.8.8 есть, а сайты не открываются, проблема точно в DNS; - не блокирует ли трафик фаервол —
iptables -L -n(илиufw status).
2. «По IP открывается, по имени — нет»
Чаще всего это DNS:
- неверная запись на сервере — проверьте через
dig @8.8.8.8 example.com; - не тот сервер DNS используется — смотрите
/etc/resolv.conf; - кеш на клиенте — очистите кеш резолвера (
sudo systemd-resolve --flush-caches) или перезапустите сетевую службу; - задержка обновления записей — TTL ещё не истёк, подождите или временно используйте другой DNS.
3. «Сайт не открывается, а сервер жив»
Проверяйте:
- слушает ли сервис нужный порт —
ss -tulpn | grep -E ':(80|443)'; - пропускает ли его фаервол —
iptables -L -n -vилиufw status verbose; часто блокируется входящий трафик на порт; - есть ли маршрут до хоста —
tracerouteилиmtr; - не упал ли веб-сервер — проверьте статус systemd:
systemctl status apache2илиnginx; - корректен ли TLS/SSL для HTTPS —
openssl s_client -connect site:443покажет сертификат и возможные ошибки.
4. «В локалке всё работает, наружу — нет»
Обычно проблема в:
- шлюзе — проверьте, правильный ли адрес шлюза и доступен ли он;
- маршрутизации — возможно, отсутствует маршрут по умолчанию или он ведёт не туда;
- NAT — если используется частный IP, на маршрутизаторе должен быть настроен NAT (проверьте
iptables -t nat -L); - правилах фильтрации — фаервол на шлюзе может блокировать исходящий трафик;
- настройках провайдера — иногда проблема выше, но сначала исключите свои.
Как новичку изучать сети без хаоса
Пошаговый маршрут обучения
- Разобраться с IP-адресами, масками и шлюзом — сразу настройте статический IP на виртуальной машине с Linux.
- Понять разницу между коммутатором и маршрутизатором — соберите простую схему в эмуляторе (например, GNS3 или Cisco Packet Tracer).
- Освоить DNS и порты — поднимите свой DNS-сервер (тот же dnsmasq) и посмотрите, как резолвятся имена.
- Изучить TCP и UDP — с помощью
tcpdumpпронаблюдайте рукопожатие TCP и отличие UDP-датаграмм. - Понять основы маршрутизации — добавьте второй интерфейс виртуалке и настройте простейший роутинг.
- Научиться читать сетевые параметры в Linux —
ip a,ip r,ss,iptablesдолжны стать привычными. - Освоить базовую диагностику — методично проходите по чек-листу при любой проблеме.
Минимальный набор команд для практики
На Linux системному администратору особенно полезно уметь:
ip a— посмотреть адреса интерфейсов и их состояние;ip r— увидеть таблицу маршрутизации, особенно маршрут по умолчанию;ping— проверить достижимость (но учтите, что ICMP может блокироваться, тогда используйтеtcptraceroute);traceroute(илиmtr) — посмотреть путь пакета и задержки на каждом хопе;ss -tulpn— проверить открытые порты и слушающие процессы;digилиnslookup— проверить DNS, понять, какой сервер отвечает и какие записи возвращаются;tcpdump— посмотреть сетевой трафик в реальном времени (требует root).
Не нужно заучивать их все сразу. Сначала важно понять, какой вопрос задаёт команда, и применять её в типовых сценариях.
Чек-лист для проверки сети на рабочем месте
- Устройство включено и сетевой интерфейс активен —
ip linkпоказывает состояние UP. - Получен IP-адрес —
ip aвыводит корректный адрес (не 169.254.x.x, если DHCP не сработал). - Маска подсети корректна — соответствует схеме адресации.
- Шлюз по умолчанию задан правильно —
ip rсодержит default via … и шлюз пингуется. - DNS-сервер отвечает —
dig example.comвозвращает ответ без таймаута. - Нужный порт открыт —
ss -tulpnпоказывает, что сервис слушает на ожидаемом порту. - Фаервол не блокирует соединение — временно отключите фаервол для теста или проверьте правила.
- Маршрут до узла существует —
tracerouteдоходит до цели без звёздочек на всех хопах (если не блокируется ICMP). - Сервис действительно запущен —
systemctl statusпоказывает active. - Нет проблем на стороне провайдера или вышестоящего оборудования — проверьте, доступны ли внешние ресурсы с другого устройства в той же сети.
Практический совет: как думать как админ
Сетевая диагностика не начинается с догадок. Она начинается с проверки уровней:
- сначала физика — горит ли лампочка на сетевой карте, подключён ли кабель;
- потом адресация — получил ли хост IP, правильные ли маска и шлюз;
- затем маршрут — доступен ли шлюз, есть ли путь до удалённого хоста;
- потом имя — работает ли DNS, резолвится ли имя в IP;
- после этого порт и сервис — слушает ли демон нужный порт, не блокирует ли фаервол.
Этот подход экономит часы. Вместо хаотичных действий вы идёте по понятной цепочке и быстро находите, где именно обрыв. Я всегда держу в голове этот порядок, и он ни разу не подвёл — от настройки тестового сервера в Бугульме до сопровождения десятков виртуалок.
Частые ошибки начинающих
- Путают коммутатор и маршрутизатор — коммутатор не знает про IP, он работает с MAC-адресами; маршрутизатор принимает решение на основе IP.
- Думают, что если IP есть, значит всё должно работать — нет, нужны ещё шлюз и DNS, иначе выход в другие сети невозможен.
- Ищут проблему в приложении, когда не работает DNS — перезагружают веб-сервер, хотя достаточно поправить
/etc/resolv.conf. - Не проверяют шлюз по умолчанию — прописали статический IP, а про шлюз забыли; интернета нет, хотя локальная сеть работает.
- Смотрят только на кабель и забывают про фаервол — iptables может молча дропать пакеты; всегда проверяйте правила или временно отключайте фаервол для диагностики.
- Не понимают разницу между портом и IP-адресом — IP-адрес идентифицирует хост, порт — конкретный сервис на этом хосте; без порта непонятно, к какому приложению обращаться.
- Игнорируют подсети и пытаются строить сеть как одну большую плоскую зону — это приводит к широковещательному шторму, хаосу в безопасности и сложностям при масштабировании.
Вывод
Основы компьютерных сетей для системного администратора — это не теория ради экзамена, а рабочий инструмент. Если вы понимаете IP, маску, шлюз, DNS, порты, TCP/UDP и роль сетевых устройств, вы уже можете решать большую часть типовых проблем в инфраструктуре. Дальше всё упирается в практику: проверять соединения по шагам, не пропускать уровни и всегда отделять проблему сети от проблемы сервиса. Как только эти принципы войдут в привычку, вы перестанете бояться фразы «всё упало» и начнёте методично чинить.
FAQ
Что нужно выучить в первую очередь?
Сначала IP-адреса, маску подсети, шлюз, DNS и порты. Это база, без которой диагностика будет поверхностной. Сразу пробуйте настраивать сеть в Linux: задайте статический IP, пропишите DNS, проверьте связность.
Нужно ли будущему админу знать OSI?
Да, хотя бы на уровне понимания. Эта модель помогает разложить проблему по слоям и быстрее искать причину сбоя. Не обязательно заучивать все семь уровней наизусть, но уметь пройтись от физики до приложения — must have.
Чем коммутатор отличается от маршрутизатора?
Коммутатор соединяет устройства внутри одной сети на канальном уровне (L2), оперируя MAC-адресами. Маршрутизатор соединяет разные сети и выбирает путь трафика на сетевом уровне (L3) на основе IP-адресов. Современные L3-коммутаторы умеют маршрутизировать, но базовая идея та же: внутри подсети — коммутация, между подсетями — маршрутизация.
Почему DNS так важен?
Потому что люди работают с именами, а сеть — с IP-адресами. Если DNS не работает, сервис может быть доступен по IP, но недоступен по имени. А поскольку большинство сервисов завязаны на имена (веб, почта, обновления), сбой DNS парализует работу даже при идеально работающей физике и маршрутизации.
Что важнее для старта: теория или практика?
Нужны обе, но практика важнее. Даже базовые команды и умение проверять маршрут, порты и DNS дают гораздо больше пользы, чем заучивание терминов без применения. Поднимите виртуальную машину, настройте сеть, сломайте её и почините — такой опыт не заменит ни один учебник.
