Базовая настройка Локальной Сети: различия между версиями

Материал из Wikibebra
Перейти к навигацииПерейти к поиску
Нет описания правки
Нет описания правки
 
(не показано 13 промежуточных версий 3 участников)
Строка 1: Строка 1:
= Общие положения и назначение документа =
= Что такое сетевая инфраструктура =
Данный раздел призван создать общее представление о подходах, методах и принципах, которые лежат в основе процедуры развертывания и начальной настройки виртуальных узлов в корпоративной сети. 
Здесь мы говорим не о сухом своде команд, а о понимании того, почему те или иные действия выполняются именно так, а не иначе. 
Каждый описанный шаг сопровождается развернутым объяснением, помогающим увидеть связь между отдельными операциями и общей архитектурой.


== Предварительные условия ==
== Введение ==
Перед любой автоматизацией или ручной настройкой важно удостовериться в экологичности аудитории то есть в том, что начальное состояние виртуальных машин и их окружения не содержит неожиданных компонентов, не мешающих дальнейшей работе.
Компьютерная сеть это не просто набор соединённых между собой устройств. Это целостная, организованная система, в которой каждое устройство должно чётко понимать свою роль, иметь уникальные характеристики и взаимодействовать с другими узлами по определённым правилам. Первый модуль учебной практики является отправной точкой, в которой студент получает возможность воссоздать «живую» сетевую структуру из виртуальных машин, которая в дальнейшем будет использоваться как основа для развертывания сервисов, администрирования пользователей, обеспечения безопасности и автоматизации.
* '''Состояние виртуальных машин'''. 
  - Все инстансы созданы, но находятся в выключенном состоянии: это позволяет изменять аппаратные параметры, не рискуя повредить работающие сервисы.
  - Даже если виртуальная машина уже работала ранее, рекомендуется выполнить «холодный» стоп, чтобы гарантированно очистить временные файлы и сбросить незавершённые транзакции.
* '''Возможности гипервизора'''. 
  - Современные платформы виртуализации поддерживают так называемое «горячее» подключение сетевых адаптеров: вы добавляете новый сетевой интерфейс в настройках ВМ — и он сразу появляется в операционной системе без необходимости перезагрузки. 
  - Если ваша среда не позволяет горячее добавление, все действия по изменению физического уровня сети нужно планировать совместно с владельцами бизнес-сервисов, чтобы избежать простоев.
* '''Выбор операционной системы'''. 
  - В качестве базового образа рекомендуется использовать Linux Enterprise (RHEL / CentOS 7+): такой выбор гарантирует долгосрочную поддержку, наличие сертифицированных драйверов и унифицированный набор инструментов. 
  - Единообразие платформы облегчает создание шаблонов, автоматизацию и последующее масштабирование инфраструктуры.


== Шаг 1. Присвоение полного имени хоста ==
На этом этапе студенты учатся не только «вбивать команды», но и формируют мышление системного администратора: почему именно так? Почему нельзя иначе? Что произойдёт, если мы не настроим шлюз? Как маршрутизатор узнает о другой сети? Эти вопросы — часть философии профессии, и ответы на них начинаются с практики, заложенной в этом модуле.
В крупных сетях важно, чтобы каждое устройство имело уникальное и логически понятное имя. Поскольку именно имя хоста часто попадает в логи, отчёты систем мониторинга и оповещения, его легко читать и распознавать.
 
'''Хост''' (от {{lang-en|host}} — «владелец, принимающий гостей») — любое {{D-l|устройство}}, предоставляющее сервисы формата «клиент-сервер» в режиме сервера по каким-либо интерфейсам и уникально определённое на этих интерфейсах. В более широком смысле под хостом могут понимать любой компьютер, подключённый к локальной или глобальной сети.
 
Слово «хост» само по себе является неологизмом и не несёт никакой информации об устройстве или его функционировании. Употребление слова «хост» имеет смысл только вместе с пояснением, хостом ''какого'' сервиса предполагается называемое устройство. Тем не менее, зачастую название сервиса опускают, предполагая, что оно очевидно из контекста.
 
Например, в реализации протокола USB управлением и координацией каждой группы клиентских устройств, подключённых к USB-контроллеру, занимается отдельный USB Host Controller. В данном случае он выступает в качестве ''хоста протокола USB''.
 
С другой стороны, при выполнении, например, команды ping по произвольному IP-адресу хостом может называться компьютер, обладающий этим адресом и предоставляющий сервис ответа на ICMP-пакеты. В этом случае такой компьютер выступит как ''хост сервисов ICMP''.
 
Чаще всего, однако, под «хостом» без дополнительных комментариев подразумевается хост протокола TCP/IP, то есть сетевой интерфейс устройства, подключённого к IP-сети. Как и всякий другой хост, этот имеет уникальное определение в среде сервисов TCP/IP (IP-адрес). С хостом протокола TCP/IP может быть также связана необязательная текстовая характеристика — доменное имя.
 
В компьютерных играх и других сетевых приложениях, где подключение по сети создаётся динамически, под хостом обычно подразумевают того из участников соединения, который организует управление сеансом связи, в противовес остальным, которые подключаются к организованному им сеансу.
 
'''Вычислительная сеть'''<ref name=":1"></ref> (''информационно-вычислительная сеть''<ref name=":1" />, ''компьютерная сеть'') — система, обеспечивающая обмен данными между вычислительными устройствами — компьютерами, серверами, маршрутизаторами и другим оборудованием или программным обеспечением. Для передачи информации могут быть использованы различные среды передачи данных. Помимо совокупности физических устройств и физических средств передачи данных, вычислительная сеть может быть оверлейной или виртуальной, то есть логически самостоятельной выделенной сетью, использующей ресурсы другой физической сети — вычислительной (например, Интернет), телефонной сети, в том числе ТФОП и (или) среды передачи данных.
 
== Классификация ==
Существуют варианты классификации разных вычислительных сетей по назначению и характеристикам.
 
По территориальной распространённости:
 
* BAN ({{lang-en|Body Area Network}} — нательная компьютерная сеть) — сеть надеваемых или имплантированных компьютерных устройств;
* PAN (''{{lang-en2|Personal Area Network}}'') — персональная сеть, предназначенная для взаимодействия различных устройств, принадлежащих одному владельцу;
* LAN (''ЛВС'', ''{{lang-en2|Local Area Network}}'') — локальная сеть, имеющая замкнутую инфраструктуру до выхода на поставщиков услуг; может описывать и маленькую офисную сеть, и сеть уровня большого завода, занимающего несколько сотен гектаров; иногда определяется как сеть «около шести миль (10 км) в радиусе»; локальные сети являются сетями закрытого типа, доступ к ним разрешён только ограниченному кругу пользователей, для которых работа в такой сети непосредственно связана с их профессиональной деятельностью;
* CAN (''{{lang-en2|Campus Area Network}}'') — кампусная сеть, объединяет локальные сети близко расположенных зданий;
* MAN (''{{lang-en2|Metropolitan Area Network}}'') — городские сети между учреждениями в пределах одного или нескольких городов, связывающие много локальных вычислительных сетей;
* WAN (''{{lang-en2|Wide Area Network}}'') — глобальная сеть, покрывающая большие географические регионы, включающие в себя как локальные сети, так и прочие телекоммуникационные сети и устройства. Пример WAN — сети с коммутацией пакетов (''{{lang-en2|Frame relay}}''), через которую могут «разговаривать» между собой различные компьютерные сети. Глобальные сети являются открытыми и ориентированы на обслуживание любых пользователей.
 
По архитектуре:
 
* клиент-сервер<ref name=":0"></ref>;
* одноранговая сеть (децентрализованная или пиринговая сеть).
 
По типу сетевой топологии:
 
* шина
* кольцо
* двойное кольцо
* звезда
* ячеистая
* решётка
* дерево
* смешанная топология
* Fat Tree
 
== Стеки протоколов ==
{{Main|Сетевой протокол}}
При реализации компьютерной сети могут использоваться различные наборы протоколов, некоторые из них:
 
=== Уровни ===
Сетевая модель OSI:
 
* Прикладной уровень
* Уровень представления информации
* Сеансовый уровень
* Транспортный уровень
* Сетевой уровень
** Коммутация
** Маршрутизация
* Канальный уровень (уровень связывания данных)
* Физический уровень
 
Спецификация IEEE 802 разделяет канальный уровень на два подуровня — MAC (Media Access Control) регулирует доступ к разделяемой физической среде, LLC (Logical Link Control) обеспечивает обслуживание сетевого уровня.
 
== Присвоение имени хосту (hostname) ==
Имя хоста — это, по сути, «паспорт» устройства. Как имя человека отличает его среди миллионов других, так и hostname помогает системам определить, кто есть кто в инфраструктуре. Назначение имени хоста не является формальностью: это обязательное условие корректной работы журналов, удалённого доступа и взаимодействия с DNS-системами.
 
=== Команда и путь для изменения имени хоста ===
<pre>
<pre>
#!bash
mcedit /etc/hostname
mcedit /etc/hostname
</pre>
</pre>
В открывшемся файле замените текущее содержимое на строку вида:
 
Простая на первый взгляд операция становится фундаментом корректной идентификации машины. Имя должно быть полным, то есть включать домен.
 
=== Пример значения ===
<pre>
rtr.example-team.irpo
</pre>
 
Почему не просто «rtr»? Потому что в корпоративной среде может быть несколько сетей, в которых есть узлы с одинаковыми названиями, но разными доменами. Добавление домена делает имя уникальным в глобальном контексте.
 
== Настройка доменного имени на устройстве ==
Если hostname — это имя, то domainname — это фамилия. Он указывает на принадлежность узла к определённой административной области, например, `example-team.irpo`. Это важно не только для логики, но и для таких систем, как NIS/YP, Kerberos и других сетевых служб, завязанных на имя домена.
 
=== Команда ===
<pre>
domainname example-team.irpo
</pre>
 
Некоторые системы могут не использовать доменное имя напрямую, но это не значит, что его можно игнорировать. Его наличие позволяет избежать недоразумений в комплексной инфраструктуре.
 
---
 
== Проверка и подготовка сетевых интерфейсов ==
В любой операционной системе сетевая карта отображается как сетевой интерфейс. Это как порт для общения с внешним миром. Без интерфейса машина остаётся в изоляции, «глухая» ко всему происходящему вокруг.
 
<pre>ip -c a</pre>
 
Вывод этой команды показывает состояние интерфейсов. Нужно уметь различать физические (eth0, ens192 и т.п.) и логические (например, bridge или VLAN-интерфейсы). Цветная подсветка помогает визуально отличить активные адаптеры от неактивных.
 
---
 
== Добавление недостающих адаптеров ==
Виртуальные машины не всегда создаются с нужным количеством интерфейсов. На этапе моделирования сети важно, чтобы каждая подсеть была связана с отдельным адаптером. Это позволяет реализовать более реалистичную и гибкую архитектуру. В VMware Player, например, можно добавить адаптер через кнопку "Add device".
 
Почему нельзя использовать один адаптер на все случаи? Потому что тогда у вас не будет возможности сегментировать трафик, ограничивать доступ между подсетями или проводить трассировку маршрутов.
 
---
 
== Назначение статического IP-адреса ==
Выдача статического IP — это как закрепление адреса за офисом в многоквартирном доме. Такой адрес не меняется при перезапуске, его можно зарегистрировать в DNS, настроить на него доступ из других сетей, и он будет оставаться постоянным.
 
<pre>
<pre>
hq-rtr.au-team.irpo
iface ens224 inet static
  address 192.168.1.10
  netmask 255.255.255.0
  gateway 192.168.1.1
</pre>
</pre>
Где «hq-rtr» указывает на роль и расположение устройства, «au-team.irpo» — на корпоративную зону. Такое именование обеспечивает мгновенное понимание контекста при межкомандном взаимодействии и автоматическом анализе данных.


== Шаг 2. Установка доменного суффикса для сессии ==
Неверная настройка хотя бы одного из параметров может привести к «молчанию» машины — она не сможет выйти в сеть или, что хуже, начнёт мешать другим, если IP уже занят.
Даже если вы используете современные DNS-клиенты, некоторым старым инструментам может потребоваться информация о текущем домене.
 
Чтобы единожды задать эту информацию для всех NIS/YP-утилит в текущем сеансе:
---
 
== Использование DHCP ==
Автоматическая выдача IP-адресов через DHCP упрощает жизнь, особенно в динамических или временных средах. Однако важно понимать, что DHCP удобен только там, где не требуется предсказуемость адресации.
 
<pre>
<pre>
#!bash
iface ens224 inet dhcp
domainname au-team.irpo
</pre>
 
Если ваша машина будет DHCP-сервером, этот подход использовать нельзя: другие машины должны знать, куда обращаться за конфигурацией.
 
---
 
== Применение конфигурации ==
После редактирования конфигурации интерфейса нужно активировать новые настройки. Это как включить новый план маршрутов после прокладывания дорог: сами дороги уже есть, но ими ещё никто не пользуется.
 
<pre>
systemctl restart network
</pre>
 
В некоторых дистрибутивах используется `ifup`/`ifdown`, но `systemctl` — это универсальный и современный способ.
 
---
 
== Перезагрузка системы ==
Даже если hostname можно применить командой `hostnamectl set-hostname`, мы всё равно рекомендуем выполнить перезагрузку.
 
<pre>
reboot
</pre>
 
Это гарантирует, что все службы, включая сетевые, cron, systemd, будут работать в контексте нового имени хоста.
 
---
 
== Установка FRR и настройка ISP ==
FRR (Free Range Routing) — это современная альтернатива Cisco IOS в мире Linux. Он позволяет реализовать OSPF, EIGRP, BGP, RIP и другие протоколы. Это не просто «софтина», а полноценный стек маршрутизации.
 
<pre>
apt-get update
apt-get install frr
systemctl enable --now frr
</pre>
</pre>
Эта команда работает мгновенно и не затрагивает постоянные файлы конфигурации, однако существенно упрощает совместимость с древними сервисами учёта и авторизации.


== Шаг 3. Проверка доступных сетевых интерфейсов ==
После установки FRR вы получаете гибкий инструмент для настройки динамической маршрутизации между офисами и внешним миром.
Прежде чем назначать адреса или менять настройки, нужно убедиться, что операционная система корректно «видит» все физические и виртуальные адаптеры.
 
---
 
== Включение OSPF и EIGRP ==
В Linux службы не запускаются без явного разрешения. Даже если установлен frr, OSPF и EIGRP могут быть отключены. Это сделано из соображений безопасности.
 
<pre>
<pre>
#!bash
mcedit /etc/frr/daemons
ip -c a
</pre>
</pre>
Вывод содержит детальную информацию о статусе каждого интерфейса: активен ли он, ожидает ли сигнала связи, назначен ли ему IP-адрес. Цветовая маркировка помогает быстро найти нужный интерфейс в обширном списке.
<pre>
ospfd=yes
eigrpd=yes
</pre>
 
С этого момента маршрутизатор начинает слушать запросы на портах, соответствующих протоколам маршрутизации.
 
---


== Шаг 4. Добавление сетевых адаптеров на уровне гипервизора ==
== Конфигурация frr на клиентском устройстве ==
Если в предыдущем шаге вы не обнаружили все ожидаемые интерфейсы, это означает, что их нужно добавить извне OS. 
FRR использует синтаксис, схожий с Cisco. Это отличный шанс для студентов получить опыт, приближённый к реальному оборудованию.
Интерфейсы добавляются через GUI или CLI вашей виртуализационной платформы:
# В интерфейсе управления ВМ найдите раздел настроек (часто «Edit Settings» или аналогичный). 
# Выберите опцию «Add Network Adapter» и подтвердите создание нового порта. 
# Привяжите каждый адаптер к заранее определённой виртуальной сети, соответствующей логическим зонам (например, DMZ, Back-end, Mgmt).


== Шаг 5. Подготовка каталога скриптов сети ==
Структура каталогов для конфигурационных файлов позволяет упорядочить многие настройки:
<pre>
<pre>
#!bash
vtysh
sudo mkdir -p /etc/sysconfig/network-scripts
en
sudo cp /etc/sysconfig/network-scripts/ifcfg-ens192 \
conf t
        /etc/sysconfig/network-scripts/ifcfg-ens224
router eigrp 1
network 172.16.4.0/28
network 172.16.5.0/28
</pre>
</pre>
Здесь важно, чтобы в новом файле остались все базовые параметры — таким образом сохраняется совместимость с NetworkManager и облегчается последующая автоматизация.


== Шаг 6. Привязка IP-адресов: DHCP и статика ==
Если всё сделано правильно, маршрутизаторы HQ и BR смогут обмениваться маршрутами без статических настроек.
=== DHCP-сетевой профиль ==
 
Если в подсети уже функционирует централизованный DHCP-сервер, его использование ускоряет ввод в эксплуатацию новых устройств.
---
Просто укажите в конфиге:
 
== Включение IP-переадресации ==
Без этой настройки Linux отказывается пересылать пакеты между интерфейсами. Это как если бы почтовое отделение получало письма, но не имело права их пересылать дальше.
 
<pre>
<pre>
BOOTPROTO=dhcp
mcedit /etc/sysctl.conf
</pre>
<pre>
net.ipv4.ip_forward=1
</pre>
<pre>
sysctl -p
</pre>
</pre>
— и сервер динамически выдаст адрес и другие параметры (шлюз, DNS, NTP).


=== Статическая адресация ===
---
Для узлов, критичных к предсказуемости соединения (маршрутизаторы, контроллеры домена, важные БД), требуется жёстко фиксировать IP:
 
== Создание администратора ==
Пользователь `sshuser` — это главный системный оператор. Его UID 1010 — пример кастомной идентификации, а принадлежность к группе `wheel` даёт ему привилегии `sudo`.
 
<pre>
<pre>
#!ini
useradd -u 1010 -m -G wheel sshuser
DEVICE=ens224
passwd sshuser
BOOTPROTO=static
IPADDR=192.168.50.2
PREFIX=24
GATEWAY=192.168.50.1
DNS1=192.168.50.10
ONBOOT=yes
</pre>
</pre>
Здесь каждый параметр выполняет свою роль: от идентификации интерфейса до указания резолвера, обеспечивая стабильность сети.


== Шаг 7. Настройка шлюзов по умолчанию ==
Редактирование sudoers:
Внутри каждой подсети должен быть маршрут «по умолчанию», выводящий трафик за её пределы. В конфиге статического интерфейса это строка:
<pre>
<pre>
GATEWAY=10.0.0.1
%wheel ALL=(ALL:ALL) NOPASSWD: ALL
</pre>
</pre>
При этом значение для соседних сегментов может отличаться: филиалы, административные сети и DMZ имеют свои соответствующие маршрутизаторы.


== Шаг 8. Конфигурация DNS для повышения отказоустойчивости ==
Это даёт возможность администрировать систему без постоянного запроса пароля — удобно, но опасно в реальной жизни.
Наличие нескольких резолверов снижает риск потери функциональности в случае сбоя одного из них:
 
---
 
== Настройка VLAN ==
VLAN позволяет разделить сеть на логические сегменты. На одном интерфейсе может быть несколько подинтерфейсов: каждый со своим ID, маской и маршрутами.
 
<pre>
<pre>
#!ini
iface ens224.10 inet static
DNS1=10.0.0.53
  address 192.168.10.1
DNS2=8.8.8.8
  netmask 255.255.255.0
</pre>
</pre>
Первичный сервер обслуживает внутренние имена и зоны, резервный — публичный рекурсивный, гарантируя бесперебойность.


== Шаг 9. Применение и верификация сетевых параметров ==
Это означает, что вы можете обслуживать клиентов и серверы через один порт, но разделённо по логике.
Чтобы все внесённые изменения вступили в силу, выполните:
 
---
 
== Настройка OpenSSH ==
Для удалённого администрирования SSH обязателен. Но не менее важно — безопасность.
 
<pre>
<pre>
#!bash
apt-get install openssh-server
sudo systemctl restart network
systemctl enable --now sshd
ip -c a
</pre>
</pre>
В результате службы сети будут перезапущены, а вы получите актуальный список интерфейсов с назначенными параметрами, что позволяет убедиться в корректности выполнения каждого шага на практике.


== Шаг 10. Завершающая перезагрузка виртуального узла ==
Изменение порта на нестандартный (например, 2024) помогает избежать массовых сканирований по 22-му порту. Использование `AllowUsers` ограничивает круг пользователей.
Перезагрузка является финальным шагом, гарантирующим, что все системные компоненты учтут новые настройки:
 
---
 
== Настройка DHCP-сервера ==
DHCP — это мозг сети, выдающий параметры новым клиентам. Он даёт им IP, маску, шлюз, DNS.
 
<pre>
<pre>
#!bash
apt-get install isc-dhcp-server
sudo reboot
</pre>
</pre>
После старта убедитесь, что:
* Имя хоста соответствует введённому FQDN. 
* Адресация интерфейсов осталась неизменной. 
* Сервисы, использующие сетевые параметры, работают стабильно.


= Справочный материал: приватные диапазоны RFC 1918 =
Конфигурация:
{| class="wikitable"
<pre>
! Диапазон        !! Верхний сетевой адрес        !! Нижний сетевой адрес        !! Префикс
subnet 192.168.38.0 netmask 255.255.255.0 {
|-
  range 192.168.38.10 192.168.38.100;
| 10.0.0.0        || 10.0.0.0                      || 10.255.255.255              || /8
  option routers 192.168.38.1;
|-
  option domain-name-servers 192.168.38.2;
| 172.16.0.0      || 172.16.0.0                    || 172.31.255.255              || /12
  option domain-name "example-team.irpo";
|-
}
| 192.168.0.0    || 192.168.0.0                  || 192.168.255.255              || /16
</pre>
|}
 
---
 
== Настройка часового пояса ==
Вся системная логика, включая crontab, syslog и аудиторские журналы, опирается на время.
 
<pre>
timedatectl set-timezone Europe/Moscow
</pre>
 
В дальнейшем вы можете синхронизировать время с NTP-сервером или развернуть chrony.
 
== См. также ==
+BR-DC - адаптеры vm network, BR-NET
 
mcedit /etc/hostname (ISP.au-team.irpo, BR-RTR, HQ-CLI)
 
domainname au-team.irpo
 
timedatectl set-timezone Europe/Moscow
 
mcedit /etc/resolv.conf<blockquote>search au-team.irpo
 
nameserver 192.168.1.2</blockquote>проверить статику на всех адаптерах, скопировать папки (cp)
 
/etc/net/ifaces/ens192/options - (vm network - dhcp)
 
/etc/net/ifaces/ens192/ipv4address
 
/etc/net/ifaces/ens192/ipv4route
 
systemctl restart network
 
ip -c a<blockquote>CLI static to HQ-NET - ipv4 192.168.1.3/29
 
route 192.168.1.1
 
для адаптера vm network - подключение dhcp</blockquote><blockquote>HQ-SRV static to HQ-NET - 192.168.1.2/29
 
HQ-SRV route to HQ-RTR - 192.168.1.1</blockquote><blockquote>HQ-RTR static to HQ-NET - 192.168.1.1/29
 
HQ-RTR static to ISP-HQ - 172.16.40.2/28
 
HQ-RTR route to ISP-HQ - 172.16.40.1</blockquote><blockquote>ISP static to ISP-BR - 172.16.50.1/28
 
ISP static to ISP-HQ - 172.16.40.1/28
 
ISP static to INTERNET - 10.10.2.1/29</blockquote><blockquote>BR-RTR static to BR-NET - 192.168.3.1/29
 
BR-RTR static to ISP-BR - 172.16.50.2/28


= Иллюстрации типовых схем адресации =
BR-RTR route to ISP-BR - 172.16.50.1</blockquote><blockquote>BR-SRV static to BR-NET - 192.168.3.2/29
* **HQ-SRV** — 10.0.10.10/24, GW 10.0.10.1: центр приложений и DMZ. 
* **BR-SRV** — 172.16.10.10/24, GW 172.16.10.1: филиальная площадка для тестовых сред. 
* **CLI-PC** — DHCP (резерв 192.168.56.100): рабочая станция в демо-сети. 


= Перечень официальных команд и функциональные описания =
BR-SRV route to BR-NET - 192.168.3.1</blockquote>ping ya.ru
{| class="wikitable"
! Команда                        !! Описание
|-
| <code>mcedit /etc/hostname</code>        || Редактирование файла hostname с помощью Midnight Commander.
|-
| <code>domainname &lt;зона&gt;</code>      || Установка временного домен-суффикса NIS/YP для текущего сеанса.
|-
| <code>ip -c a</code>                    || Вывод всех интерфейсов с цветным форматированием.
|-
| <code>mkdir -p &lt;путь&gt;</code>        || Создание вложенной структуры каталогов без ошибок.
|-
| <code>cp &ltsrc&gt; &ltdst&gt;</code>      || Копирование шаблона конфигурации интерфейса.
|-
| <code>systemctl restart network</code>    || Перезапуск сетевых служб для применения изменений.
|-
| <code>reboot</code>                       || Полная перезагрузка системы для финализации настроек.
|}

Текущая версия от 19:47, 20 мая 2025

Что такое сетевая инфраструктура

Введение

Компьютерная сеть — это не просто набор соединённых между собой устройств. Это целостная, организованная система, в которой каждое устройство должно чётко понимать свою роль, иметь уникальные характеристики и взаимодействовать с другими узлами по определённым правилам. Первый модуль учебной практики является отправной точкой, в которой студент получает возможность воссоздать «живую» сетевую структуру из виртуальных машин, которая в дальнейшем будет использоваться как основа для развертывания сервисов, администрирования пользователей, обеспечения безопасности и автоматизации.

На этом этапе студенты учатся не только «вбивать команды», но и формируют мышление системного администратора: почему именно так? Почему нельзя иначе? Что произойдёт, если мы не настроим шлюз? Как маршрутизатор узнает о другой сети? Эти вопросы — часть философии профессии, и ответы на них начинаются с практики, заложенной в этом модуле.

Хост (от Шаблон:Lang-en — «владелец, принимающий гостей») — любое Шаблон:D-l, предоставляющее сервисы формата «клиент-сервер» в режиме сервера по каким-либо интерфейсам и уникально определённое на этих интерфейсах. В более широком смысле под хостом могут понимать любой компьютер, подключённый к локальной или глобальной сети.

Слово «хост» само по себе является неологизмом и не несёт никакой информации об устройстве или его функционировании. Употребление слова «хост» имеет смысл только вместе с пояснением, хостом какого сервиса предполагается называемое устройство. Тем не менее, зачастую название сервиса опускают, предполагая, что оно очевидно из контекста.

Например, в реализации протокола USB управлением и координацией каждой группы клиентских устройств, подключённых к USB-контроллеру, занимается отдельный USB Host Controller. В данном случае он выступает в качестве хоста протокола USB.

С другой стороны, при выполнении, например, команды ping по произвольному IP-адресу хостом может называться компьютер, обладающий этим адресом и предоставляющий сервис ответа на ICMP-пакеты. В этом случае такой компьютер выступит как хост сервисов ICMP.

Чаще всего, однако, под «хостом» без дополнительных комментариев подразумевается хост протокола TCP/IP, то есть сетевой интерфейс устройства, подключённого к IP-сети. Как и всякий другой хост, этот имеет уникальное определение в среде сервисов TCP/IP (IP-адрес). С хостом протокола TCP/IP может быть также связана необязательная текстовая характеристика — доменное имя.

В компьютерных играх и других сетевых приложениях, где подключение по сети создаётся динамически, под хостом обычно подразумевают того из участников соединения, который организует управление сеансом связи, в противовес остальным, которые подключаются к организованному им сеансу.

Вычислительная сеть<ref name=":1"></ref> (информационно-вычислительная сеть<ref name=":1" />, компьютерная сеть) — система, обеспечивающая обмен данными между вычислительными устройствами — компьютерами, серверами, маршрутизаторами и другим оборудованием или программным обеспечением. Для передачи информации могут быть использованы различные среды передачи данных. Помимо совокупности физических устройств и физических средств передачи данных, вычислительная сеть может быть оверлейной или виртуальной, то есть логически самостоятельной выделенной сетью, использующей ресурсы другой физической сети — вычислительной (например, Интернет), телефонной сети, в том числе ТФОП и (или) среды передачи данных.

Классификация

Существуют варианты классификации разных вычислительных сетей по назначению и характеристикам.

По территориальной распространённости:

  • BAN (Шаблон:Lang-en — нательная компьютерная сеть) — сеть надеваемых или имплантированных компьютерных устройств;
  • PAN (Шаблон:Lang-en2) — персональная сеть, предназначенная для взаимодействия различных устройств, принадлежащих одному владельцу;
  • LAN (ЛВС, Шаблон:Lang-en2) — локальная сеть, имеющая замкнутую инфраструктуру до выхода на поставщиков услуг; может описывать и маленькую офисную сеть, и сеть уровня большого завода, занимающего несколько сотен гектаров; иногда определяется как сеть «около шести миль (10 км) в радиусе»; локальные сети являются сетями закрытого типа, доступ к ним разрешён только ограниченному кругу пользователей, для которых работа в такой сети непосредственно связана с их профессиональной деятельностью;
  • CAN (Шаблон:Lang-en2) — кампусная сеть, объединяет локальные сети близко расположенных зданий;
  • MAN (Шаблон:Lang-en2) — городские сети между учреждениями в пределах одного или нескольких городов, связывающие много локальных вычислительных сетей;
  • WAN (Шаблон:Lang-en2) — глобальная сеть, покрывающая большие географические регионы, включающие в себя как локальные сети, так и прочие телекоммуникационные сети и устройства. Пример WAN — сети с коммутацией пакетов (Шаблон:Lang-en2), через которую могут «разговаривать» между собой различные компьютерные сети. Глобальные сети являются открытыми и ориентированы на обслуживание любых пользователей.

По архитектуре:

  • клиент-сервер<ref name=":0"></ref>;
  • одноранговая сеть (децентрализованная или пиринговая сеть).

По типу сетевой топологии:

  • шина
  • кольцо
  • двойное кольцо
  • звезда
  • ячеистая
  • решётка
  • дерево
  • смешанная топология
  • Fat Tree

Стеки протоколов

Шаблон:Main При реализации компьютерной сети могут использоваться различные наборы протоколов, некоторые из них:

Уровни

Сетевая модель OSI:

  • Прикладной уровень
  • Уровень представления информации
  • Сеансовый уровень
  • Транспортный уровень
  • Сетевой уровень
    • Коммутация
    • Маршрутизация
  • Канальный уровень (уровень связывания данных)
  • Физический уровень

Спецификация IEEE 802 разделяет канальный уровень на два подуровня — MAC (Media Access Control) регулирует доступ к разделяемой физической среде, LLC (Logical Link Control) обеспечивает обслуживание сетевого уровня.

Присвоение имени хосту (hostname)

Имя хоста — это, по сути, «паспорт» устройства. Как имя человека отличает его среди миллионов других, так и hostname помогает системам определить, кто есть кто в инфраструктуре. Назначение имени хоста не является формальностью: это обязательное условие корректной работы журналов, удалённого доступа и взаимодействия с DNS-системами.

Команда и путь для изменения имени хоста

mcedit /etc/hostname

Простая на первый взгляд операция становится фундаментом корректной идентификации машины. Имя должно быть полным, то есть включать домен.

Пример значения

rtr.example-team.irpo

Почему не просто «rtr»? Потому что в корпоративной среде может быть несколько сетей, в которых есть узлы с одинаковыми названиями, но разными доменами. Добавление домена делает имя уникальным в глобальном контексте.

Настройка доменного имени на устройстве

Если hostname — это имя, то domainname — это фамилия. Он указывает на принадлежность узла к определённой административной области, например, `example-team.irpo`. Это важно не только для логики, но и для таких систем, как NIS/YP, Kerberos и других сетевых служб, завязанных на имя домена.

Команда

domainname example-team.irpo

Некоторые системы могут не использовать доменное имя напрямую, но это не значит, что его можно игнорировать. Его наличие позволяет избежать недоразумений в комплексной инфраструктуре.

---

Проверка и подготовка сетевых интерфейсов

В любой операционной системе сетевая карта отображается как сетевой интерфейс. Это как порт для общения с внешним миром. Без интерфейса машина остаётся в изоляции, «глухая» ко всему происходящему вокруг.

ip -c a

Вывод этой команды показывает состояние интерфейсов. Нужно уметь различать физические (eth0, ens192 и т.п.) и логические (например, bridge или VLAN-интерфейсы). Цветная подсветка помогает визуально отличить активные адаптеры от неактивных.

---

Добавление недостающих адаптеров

Виртуальные машины не всегда создаются с нужным количеством интерфейсов. На этапе моделирования сети важно, чтобы каждая подсеть была связана с отдельным адаптером. Это позволяет реализовать более реалистичную и гибкую архитектуру. В VMware Player, например, можно добавить адаптер через кнопку "Add device".

Почему нельзя использовать один адаптер на все случаи? Потому что тогда у вас не будет возможности сегментировать трафик, ограничивать доступ между подсетями или проводить трассировку маршрутов.

---

Назначение статического IP-адреса

Выдача статического IP — это как закрепление адреса за офисом в многоквартирном доме. Такой адрес не меняется при перезапуске, его можно зарегистрировать в DNS, настроить на него доступ из других сетей, и он будет оставаться постоянным.

iface ens224 inet static
  address 192.168.1.10
  netmask 255.255.255.0
  gateway 192.168.1.1

Неверная настройка хотя бы одного из параметров может привести к «молчанию» машины — она не сможет выйти в сеть или, что хуже, начнёт мешать другим, если IP уже занят.

---

Использование DHCP

Автоматическая выдача IP-адресов через DHCP упрощает жизнь, особенно в динамических или временных средах. Однако важно понимать, что DHCP удобен только там, где не требуется предсказуемость адресации.

iface ens224 inet dhcp

Если ваша машина будет DHCP-сервером, этот подход использовать нельзя: другие машины должны знать, куда обращаться за конфигурацией.

---

Применение конфигурации

После редактирования конфигурации интерфейса нужно активировать новые настройки. Это как включить новый план маршрутов после прокладывания дорог: сами дороги уже есть, но ими ещё никто не пользуется.

systemctl restart network

В некоторых дистрибутивах используется `ifup`/`ifdown`, но `systemctl` — это универсальный и современный способ.

---

Перезагрузка системы

Даже если hostname можно применить командой `hostnamectl set-hostname`, мы всё равно рекомендуем выполнить перезагрузку.

reboot

Это гарантирует, что все службы, включая сетевые, cron, systemd, будут работать в контексте нового имени хоста.

---

Установка FRR и настройка ISP

FRR (Free Range Routing) — это современная альтернатива Cisco IOS в мире Linux. Он позволяет реализовать OSPF, EIGRP, BGP, RIP и другие протоколы. Это не просто «софтина», а полноценный стек маршрутизации.

apt-get update
apt-get install frr
systemctl enable --now frr

После установки FRR вы получаете гибкий инструмент для настройки динамической маршрутизации между офисами и внешним миром.

---

Включение OSPF и EIGRP

В Linux службы не запускаются без явного разрешения. Даже если установлен frr, OSPF и EIGRP могут быть отключены. Это сделано из соображений безопасности.

mcedit /etc/frr/daemons
ospfd=yes
eigrpd=yes

С этого момента маршрутизатор начинает слушать запросы на портах, соответствующих протоколам маршрутизации.

---

Конфигурация frr на клиентском устройстве

FRR использует синтаксис, схожий с Cisco. Это отличный шанс для студентов получить опыт, приближённый к реальному оборудованию.

vtysh
en
conf t
router eigrp 1
network 172.16.4.0/28
network 172.16.5.0/28

Если всё сделано правильно, маршрутизаторы HQ и BR смогут обмениваться маршрутами без статических настроек.

---

Включение IP-переадресации

Без этой настройки Linux отказывается пересылать пакеты между интерфейсами. Это как если бы почтовое отделение получало письма, но не имело права их пересылать дальше.

mcedit /etc/sysctl.conf
net.ipv4.ip_forward=1
sysctl -p

---

Создание администратора

Пользователь `sshuser` — это главный системный оператор. Его UID 1010 — пример кастомной идентификации, а принадлежность к группе `wheel` даёт ему привилегии `sudo`.

useradd -u 1010 -m -G wheel sshuser
passwd sshuser

Редактирование sudoers:

%wheel ALL=(ALL:ALL) NOPASSWD: ALL

Это даёт возможность администрировать систему без постоянного запроса пароля — удобно, но опасно в реальной жизни.

---

Настройка VLAN

VLAN позволяет разделить сеть на логические сегменты. На одном интерфейсе может быть несколько подинтерфейсов: каждый со своим ID, маской и маршрутами.

iface ens224.10 inet static
  address 192.168.10.1
  netmask 255.255.255.0

Это означает, что вы можете обслуживать клиентов и серверы через один порт, но разделённо по логике.

---

Настройка OpenSSH

Для удалённого администрирования SSH обязателен. Но не менее важно — безопасность.

apt-get install openssh-server
systemctl enable --now sshd

Изменение порта на нестандартный (например, 2024) помогает избежать массовых сканирований по 22-му порту. Использование `AllowUsers` ограничивает круг пользователей.

---

Настройка DHCP-сервера

DHCP — это мозг сети, выдающий параметры новым клиентам. Он даёт им IP, маску, шлюз, DNS.

apt-get install isc-dhcp-server

Конфигурация:

subnet 192.168.38.0 netmask 255.255.255.0 {
  range 192.168.38.10 192.168.38.100;
  option routers 192.168.38.1;
  option domain-name-servers 192.168.38.2;
  option domain-name "example-team.irpo";
}

---

Настройка часового пояса

Вся системная логика, включая crontab, syslog и аудиторские журналы, опирается на время.

timedatectl set-timezone Europe/Moscow

В дальнейшем вы можете синхронизировать время с NTP-сервером или развернуть chrony.

См. также

+BR-DC - адаптеры vm network, BR-NET

mcedit /etc/hostname (ISP.au-team.irpo, BR-RTR, HQ-CLI)

domainname au-team.irpo

timedatectl set-timezone Europe/Moscow

mcedit /etc/resolv.conf

search au-team.irpo nameserver 192.168.1.2

проверить статику на всех адаптерах, скопировать папки (cp)

/etc/net/ifaces/ens192/options - (vm network - dhcp)

/etc/net/ifaces/ens192/ipv4address

/etc/net/ifaces/ens192/ipv4route

systemctl restart network

ip -c a

CLI static to HQ-NET - ipv4 192.168.1.3/29

route 192.168.1.1

для адаптера vm network - подключение dhcp

HQ-SRV static to HQ-NET - 192.168.1.2/29 HQ-SRV route to HQ-RTR - 192.168.1.1

HQ-RTR static to HQ-NET - 192.168.1.1/29

HQ-RTR static to ISP-HQ - 172.16.40.2/28

HQ-RTR route to ISP-HQ - 172.16.40.1

ISP static to ISP-BR - 172.16.50.1/28

ISP static to ISP-HQ - 172.16.40.1/28

ISP static to INTERNET - 10.10.2.1/29

BR-RTR static to BR-NET - 192.168.3.1/29

BR-RTR static to ISP-BR - 172.16.50.2/28

BR-RTR route to ISP-BR - 172.16.50.1

BR-SRV static to BR-NET - 192.168.3.2/29 BR-SRV route to BR-NET - 192.168.3.1

ping ya.ru