Модуль 1: настройка сетевой инфраструктуры

Здесь только «Задание 1. Настройка сетевой инфраструктуры». Все машины считаются ALT Linux. Порядок базовой настройки одинаковый: сначала сеть и resolv.conf, затем обновление индекса и установка пакетов, затем имя и часовой пояс. Каждая команда и каждая строка конфигурации снабжена объяснением и проверкой.

EcoRouter: КИМ допускает его для HQ-RTR и BR-RTR. Основной текст ниже использует синтаксис ALT Linux; при EcoRouter заменяется только синтаксис CLI, а адресация и логика проверок остаются теми же.

Не входит в Модуль 1: NTP/Chrony, reverse proxy и прочие пункты Заданий 2–3. Они не добавлены в команды, проверки и чек-лист.

Учётные данные учебного стенда

user / resu — учебный вход; su - / toor — root. Не переносите эти пароли за пределы стенда.

Приоритет источников: КИМ → «Демоэкзамен (уровень Чайник).docx» → остальные материалы. Реальные имена сетевых портов всё равно сверяются на стенде до настройки.

Схема стенда и адресация

Demo lab · module 1Логическая схема стенда
Топология: Internet — ISP — HQ-RTR и BR-RTR; HQ-SRV и HQ-CLI находятся в офисе HQ, BR-FW и BR-SRV — в офисе BR
УстройствоИнтерфейс/сегментIPШлюзРоль
ISPens18 / ISP-WANDHCPDHCPПровайдер
ISPens19 / ISP-HQ172.16.1.1/28—К HQ-RTR
ISPens20 / ISP-BR172.16.2.1/28—К BR-RTR
HQ-RTRens18172.16.1.2/28172.16.1.1ISP-HQ
HQ-RTRvlan100192.168.1.1/28—VLAN 100
HQ-RTRvlan200192.168.2.1/28—VLAN 200/DHCP
HQ-RTRvlan999192.168.3.1/29—VLAN 999
HQ-RTRgre110.10.10.1/30—GRE
BR-RTRens18172.16.2.2/28172.16.2.1ISP-BR
BR-RTRens19172.16.4.1/30—FW-NET
BR-RTRgre110.10.10.2/30—GRE
BR-FWens18172.16.4.2/30172.16.4.1К BR-RTR
BR-FWens19172.16.5.1/28—BR-NET
HQ-SRVens18192.168.1.2/28192.168.1.1DNS/SSH
HQ-CLIens18DHCP: 192.168.2.2–.10/28192.168.2.1Клиент
BR-SRVens18172.16.5.2/28172.16.5.1SSH

1. Базовая настройка устройств

Порядок работы

  1. Сначала на каждой машине: интерфейсы, адреса и маршруты, DNS, IPv4 forwarding; затем systemctl restart network и ip -br a.
  2. Затем: apt-get update, отдельная установка пакетов, имя устройства и часовой пояс. tzdata ставится до timedatectl.
  3. После базы: пользователи, NAT и сервисы по роли. Конфигурацию VLAN выполняйте в следующем разделе сразу после установки Open vSwitch.

Каждая карточка относится к одной машине и одной задаче. В блоке «Команды» вводите строки сверху вниз; в следующем блоке с именем файла показано ровно что записать в этот файл. После них идут пояснение и проверка.

Порядок обязателен: после записи всех файлов в /etc/net/ifaces на конкретной машине выполняется systemctl restart network, затем ip -br a. В файле /etc/net/sysctl.conf не пишется новая строка, а меняется существующая: 0 на 1 в строке с net.ipv4.ip_forward; применение подтверждается перезапуском сети и sysctl net.ipv4.ip_forward. Подгрузка параметров из другого системного файла здесь не используется.
ОбщееПроверить интерфейсы и получить root
Что делаем: Перед любой настройкой определить реальные имена карт и перейти в root.
Команды
ip -br a
su -
whoami
Команда или строкаЧто делает и что будет, если пропустить
ip -br aВыводит краткий список интерфейсов, адресов и состояний. Если не проверить его, можно назначить адрес не тому адаптеру.
su -Открывает сеанс root; пароль учебного стенда — toor. Если не перейти в root, запись системных файлов и запуск служб завершатся отказом в доступе.
whoamiПодтверждает текущего пользователя. Если пропустить проверку, можно незаметно выполнять команды не от root.
Зачем это нужно: Имена портов в виртуальном образе могут отличаться от примера; их нельзя угадывать.
Проверка: В выводе whoami указано root; реальные порты сопоставлены с ens18/ens19/ens20 из схемы.

ISP

ISPСеть, резолвер и пересылка IPv4
Что делаем: Сначала настроить WAN, оба офисных сегмента, DNS для самой машины и маршрутизацию.

Сначала создайте каталог интерфейса. Затем создайте перечисленные файлы внутри него и вставьте в каждый точное содержимое.

Каталог интерфейса: /etc/net/ifaces/ens18
1. Создать каталог
mkdir /etc/net/ifaces/ens18
Файл внутри каталога: options
Открыть или создать файл
vim /etc/net/ifaces/ens18/options
Что записать в файл
BOOTPROTO=dhcp
TYPE=eth
Каталог интерфейса: /etc/net/ifaces/ens19
1. Создать каталог
mkdir /etc/net/ifaces/ens19
Файл внутри каталога: options
Открыть или создать файл
vim /etc/net/ifaces/ens19/options
Что записать в файл
BOOTPROTO=static
TYPE=eth
Файл внутри каталога: ipv4address
Открыть или создать файл
vim /etc/net/ifaces/ens19/ipv4address
Что записать в файл
172.16.1.1/28
Каталог интерфейса: /etc/net/ifaces/ens20
1. Создать каталог
mkdir /etc/net/ifaces/ens20
Файл внутри каталога: options
Открыть или создать файл
vim /etc/net/ifaces/ens20/options
Что записать в файл
BOOTPROTO=static
TYPE=eth
Файл внутри каталога: ipv4address
Открыть или создать файл
vim /etc/net/ifaces/ens20/ipv4address
Что записать в файл
172.16.2.1/28
Отдельный системный файл: /etc/resolv.conf
Открыть файл
vim /etc/resolv.conf
Что записать в файл
nameserver 192.168.20.10
Отдельный системный файл: /etc/net/sysctl.conf
Открыть файл
vim /etc/net/sysctl.conf
Что изменить в файле
Найдите в файле строку с net.ipv4.ip_forward (сейчас там стоит 0)
и поменяйте 0 на 1:  net.ipv4.ip_forward = 1
Важно: Файл уже существует. Меняется только эта строка: остальные настройки в файле не трогайте и не стирайте. Вторую такую же строку в конец не добавляйте, правьте ту, что есть.
После записи файлов — выполнить в терминале
Команда
systemctl restart network
Команда
ip -br a
Команда
sysctl net.ipv4.ip_forward
Зачем это нужно: ISP является внешним маршрутизатором для обоих офисов.
Проверка: ens18 получает адрес по DHCP; ens19 имеет 172.16.1.1/28; ens20 имеет 172.16.2.1/28; net.ipv4.ip_forward = 1.
Пояснения к строкам и последствия пропуска
Команда или строкаЧто делает и что будет, если пропустить
mkdir /etc/net/ifaces/ens18Создаёт каталог конфигурации WAN-интерфейса. Без него редактору некуда записать параметры ens18.
vim /etc/net/ifaces/ens18/optionsОткрывает параметры DHCP для ens18. Без настройки WAN ISP не получит внешний адрес.
mkdir /etc/net/ifaces/ens19Создаёт каталог интерфейса к HQ-RTR. Если пропустить, сеть ISP-HQ не будет описана.
vim /etc/net/ifaces/ens19/optionsОткрывает тип и режим ens19. Без файла интерфейс не поднимется как статический Ethernet.
vim /etc/net/ifaces/ens19/ipv4addressОткрывает адрес ISP в сети ISP-HQ. Без него HQ-RTR не получит шлюз 172.16.1.1.
mkdir /etc/net/ifaces/ens20Создаёт каталог интерфейса к BR-RTR. Если пропустить, сеть ISP-BR не будет описана.
vim /etc/net/ifaces/ens20/optionsОткрывает тип и режим ens20. Без файла интерфейс не поднимется как статический Ethernet.
vim /etc/net/ifaces/ens20/ipv4addressОткрывает адрес ISP в сети ISP-BR. Без него BR-RTR не получит шлюз 172.16.2.1.
vim /etc/resolv.confОткрывает список DNS-серверов ISP. Без резолвера apt-get не сможет находить репозитории по именам.
vim /etc/net/sysctl.confОткрывает системные сетевые параметры. Если не изменить ip_forward, ISP не будет маршрутизировать пакеты офисов. Откройте файл, найдите существующую строку ip_forward и поменяйте 0 на 1. Остальные строки не трогайте и не добавляйте вторую такую же строку: если стереть файл или продублировать строку, потеряются другие настройки или применится не то значение.
systemctl restart networkПеречитывает файлы /etc/net/ifaces и /etc/net/sysctl.conf. Без перезапуска новые адреса и пересылка пакетов могут не примениться.
ip -br aПоказывает адреса после перезапуска. Если не проверить, ошибка в маске или интерфейсе останется незамеченной.
sysctl net.ipv4.ip_forwardПоказывает фактическое значение пересылки IPv4. Без проверки нельзя убедиться, что маршрутизация включилась.
BOOTPROTO=dhcpПросит получить адрес для ens18 по DHCP. Если строку не добавить, ISP не получит внешний адрес и маршрут по умолчанию.
TYPE=ethУказывает, что ens18 — Ethernet-интерфейс. Без типа сеть может не распознать способ поднятия интерфейса.
BOOTPROTO=staticЗадаёт статический режим для ens19 и ens20. Без этой строки адреса офисных сегментов не будут фиксированными.
TYPE=ethУказывает Ethernet-тип ens19 и ens20. Если пропустить, статические интерфейсы могут не подняться.
172.16.1.1/28Назначает ISP адрес в ISP-HQ. Без него HQ-RTR не сможет выйти к провайдеру.
172.16.2.1/28Назначает ISP адрес в ISP-BR. Без него BR-RTR не сможет выйти к провайдеру.
nameserver 192.168.20.10Задаёт DNS из учебной методички для самой ISP. Без строки разрешение имён для обновления пакетов может не работать.
net.ipv4.ip_forward=1Включает пересылку IPv4. Если оставить существующее значение 0, ISP не будет передавать трафик между офисами и WAN.
ISPУстановить нужные пакеты
Что делаем: После настройки сети обновить индекс пакетов и отдельно установить требуемые компоненты.
Команды
apt-get update
apt-get install -y tzdata sudo iptables
Команда или строкаЧто делает и что будет, если пропустить
apt-get updateОбновляет сведения о пакетах из репозиториев. Без этого установка может не найти актуальные пакеты.
apt-get install -y tzdata sudo iptablesУстанавливает данные часовых поясов, sudo и iptables. Без iptables не получится настроить NAT; без tzdata нельзя корректно выбрать часовой пояс.
Зачем это нужно: Пакеты ставятся только после доступности сети и DNS.
Проверка: Команда завершилась без ошибок; пакеты tzdata, sudo и iptables установлены.
ISPИмя и часовой пояс
Что делаем: После установки tzdata задать имя машины и Europe/Samara.
Команды
hostnamectl set-hostname ISP
timedatectl set-timezone Europe/Samara
Команда или строкаЧто делает и что будет, если пропустить
hostnamectl set-hostname ISPЗадаёт постоянное имя ISP. Если пропустить, имя в проверках и журналах не совпадёт со схемой.
timedatectl set-timezone Europe/SamaraВыбирает часовой пояс после установки tzdata. Если пропустить, время и отметки в отчёте будут неверными.
Зачем это нужно: Временная зона задаётся строго после установки tzdata.
Проверка: hostname возвращает ISP; timedatectl показывает Time zone: Europe/Samara.
ISPПреобразование адресов и сохранение правил
Что делаем: Настроить NAT на WAN ens18, записать правило на диск и включить службу.
Команды
iptables -t nat -A POSTROUTING -o ens18 -j MASQUERADE
iptables-save > /etc/sysconfig/iptables
systemctl enable --now iptables
iptables -t nat -S
systemctl is-enabled iptables
Команда или строкаЧто делает и что будет, если пропустить
iptables -t nat -A POSTROUTING -o ens18 -j MASQUERADEДобавляет правило NAT: пакеты, уходящие через ens18, получают внешний адрес ISP. Если пропустить, офисы не выйдут в интернет.
iptables-save > /etc/sysconfig/iptablesЗаписывает текущие правила NAT в файл. Без этого после перезагрузки машина перестанет выпускать офисы в интернет.
systemctl enable --now iptablesНемедленно запускает iptables и включает автозапуск. Если пропустить, сохранённые правила могут не загружаться после перезагрузки.
iptables -t nat -SПоказывает правила таблицы NAT. Без проверки нельзя увидеть опечатку в исходящем интерфейсе.
systemctl is-enabled iptablesПоказывает, включён ли автозапуск. Если не проверить, NAT может исчезнуть при следующем запуске машины.
Зачем это нужно: NAT на ISP необходим для общего выхода стенда во внешнюю сеть.
Проверка: Есть строка -A POSTROUTING -o ens18 -j MASQUERADE; iptables имеет состояние enabled.

HQ-RTR

HQ-RTRWAN, резолвер и пересылка IPv4
Что делаем: Настроить связь с ISP, маршрут по умолчанию, DNS и маршрутизацию до установки пакетов.

Сначала создайте каталог интерфейса. Затем создайте перечисленные файлы внутри него и вставьте в каждый точное содержимое.

Каталог интерфейса: /etc/net/ifaces/ens18
1. Создать каталог
mkdir /etc/net/ifaces/ens18
Файл внутри каталога: options
Открыть или создать файл
vim /etc/net/ifaces/ens18/options
Что записать в файл
BOOTPROTO=static
TYPE=eth
Файл внутри каталога: ipv4address
Открыть или создать файл
vim /etc/net/ifaces/ens18/ipv4address
Что записать в файл
172.16.1.2/28
Файл внутри каталога: ipv4route
Открыть или создать файл
vim /etc/net/ifaces/ens18/ipv4route
Что записать в файл
default via 172.16.1.1
Отдельный системный файл: /etc/resolv.conf
Открыть файл
vim /etc/resolv.conf
Что записать в файл
nameserver 192.168.20.10
Отдельный системный файл: /etc/net/sysctl.conf
Открыть файл
vim /etc/net/sysctl.conf
Что изменить в файле
Найдите в файле строку с net.ipv4.ip_forward (сейчас там стоит 0)
и поменяйте 0 на 1:  net.ipv4.ip_forward = 1
Важно: Файл уже существует. Меняется только эта строка: остальные настройки в файле не трогайте и не стирайте. Вторую такую же строку в конец не добавляйте, правьте ту, что есть.
После записи файлов — выполнить в терминале
Команда
systemctl restart network
Команда
ip -br a
Команда
ip route
Команда
sysctl net.ipv4.ip_forward
Зачем это нужно: HQ-RTR должен сначала получить рабочую сеть, затем устанавливать OVS, FRR и DHCP.
Проверка: ens18 имеет 172.16.1.2/28; в ip route есть default via 172.16.1.1; net.ipv4.ip_forward = 1.
Пояснения к строкам и последствия пропуска
Команда или строкаЧто делает и что будет, если пропустить
mkdir /etc/net/ifaces/ens18Создаёт каталог WAN-интерфейса HQ-RTR. Без него параметры ens18 нельзя сохранить.
vim /etc/net/ifaces/ens18/optionsОткрывает параметры статического Ethernet для ens18. Если пропустить, интерфейс не получит нужный режим.
vim /etc/net/ifaces/ens18/ipv4addressОткрывает файл адреса HQ-RTR в ISP-HQ. Без адреса 172.16.1.2 не будет связи с ISP.
vim /etc/net/ifaces/ens18/ipv4routeОткрывает маршрут по умолчанию. Без него трафик к удалённым сетям и репозиториям не уйдёт через ISP.
vim /etc/resolv.confОткрывает DNS-настройку HQ-RTR. Если пропустить, apt-get не сможет разрешать имена репозиториев.
vim /etc/net/sysctl.confОткрывает системные сетевые параметры. Без исправления ip_forward HQ-RTR не станет шлюзом VLAN. Откройте файл, найдите существующую строку ip_forward и поменяйте 0 на 1. Остальные строки не трогайте и не добавляйте вторую такую же строку: если стереть файл или продублировать строку, потеряются другие настройки или применится не то значение.
systemctl restart networkПрименяет настройки ens18, резолвера и пересылки IPv4. Если пропустить, файлы останутся только на диске.
ip -br aПоказывает адрес ens18 после перезапуска. Без этой проверки можно не заметить ошибку адреса или маски.
ip routeПоказывает маршрут по умолчанию. Если его не проверить, NAT и обновление пакетов могут не иметь пути к ISP.
sysctl net.ipv4.ip_forwardПоказывает включённую пересылку. Без проверки нельзя убедиться, что ядро реально маршрутизирует VLAN.
BOOTPROTO=staticВключает статический режим ens18. Если не задать его, адрес HQ-RTR может измениться или не появиться.
TYPE=ethУказывает Ethernet-тип ens18. Без строки сетевой сценарий может не поднять карту.
172.16.1.2/28Назначает HQ-RTR адрес к ISP. Без него не будет соединения с 172.16.1.1.
default via 172.16.1.1Задаёт ISP маршрутом по умолчанию. Без строки HQ-RTR не сможет отправлять внешний трафик.
nameserver 192.168.20.10Задаёт DNS учебного стенда для самого HQ-RTR. Если строку пропустить, обновление пакетов по именам может не работать.
net.ipv4.ip_forward=1Включает пересылку IPv4 между VLAN, GRE и WAN. Если оставить 0, клиенты не смогут использовать HQ-RTR как шлюз.
HQ-RTRУстановить нужные пакеты
Что делаем: После сети отдельно установить компоненты маршрутизатора и сервисов.
Команды
apt-get update
apt-get install -y tzdata sudo iptables openvswitch frr dhcp-server
Команда или строкаЧто делает и что будет, если пропустить
apt-get updateОбновляет индекс пакетов после появления сети и DNS. Без обновления установка может использовать устаревший список.
apt-get install -y tzdata sudo iptables openvswitch frr dhcp-serverУстанавливает часовые пояса, sudo, NAT, OVS, FRR и DHCP-сервер. Если пропустить хотя бы нужный пакет, соответствующая команда или служба будет отсутствовать.
Зачем это нужно: Этот список покрывает роль HQ-RTR: шлюз VLAN, NAT, OVS, OSPF и DHCP.
Проверка: Установка завершилась без ошибок; установлены tzdata, sudo, iptables, openvswitch, frr и dhcp-server.
HQ-RTRИмя, часовой пояс и net_admin
Что делаем: После установки tzdata задать FQDN, время и учётную запись администратора.
Команды
hostnamectl set-hostname hq-rtr.au-team.irpo
timedatectl set-timezone Europe/Samara
useradd net_admin -G wheel
passwd net_admin
# Введите пароль P@ssw0rd два раза
vim /etc/sudoers
Содержимое /etc/sudoers
net_admin ALL=(ALL) NOPASSWD: ALL
Команда или строкаЧто делает и что будет, если пропустить
hostnamectl set-hostname hq-rtr.au-team.irpoЗадаёт FQDN HQ-RTR. Если пропустить, имя в DNS, отчёте и проверках не совпадёт.
timedatectl set-timezone Europe/SamaraЗадаёт Europe/Samara после установки tzdata. Без команды время в журналах и отчёте будет неверным.
useradd net_admin -G wheelСоздаёт net_admin и добавляет его в wheel. Если пропустить, требуемой учётной записи администратора не будет.
passwd net_adminЗапрашивает пароль net_admin. Введите пароль P@ssw0rd два раза. Если не задать пароль, пользователь не сможет войти.
# Введите пароль P@ssw0rd два разаЭто подсказка к двум запросам passwd, а не команда. Если ввести другой пароль, проверка учётной записи не пройдёт.
vim /etc/sudoersОткрывает правила sudo после установки пакета sudo. Если не записать правило, net_admin не получит требуемые права.
net_admin ALL=(ALL) NOPASSWD: ALLРазрешает net_admin выполнять команды через sudo без повторного пароля. Без строки пользователь не выполнит административные действия по требованию задания.
Зачем это нужно: HQ-RTR должен иметь требуемые имя, часовой пояс и администратора.
Важно: После правки sudoers не допускайте синтаксических ошибок: они могут заблокировать sudo.
Проверка: hostname — hq-rtr.au-team.irpo; timedatectl — Europe/Samara; id net_admin показывает пользователя и группу wheel.
HQ-RTRПреобразование адресов и сохранение правил
Что делаем: Добавить требуемый КИМ NAT на HQ-RTR и сделать его постоянным.
Команды
iptables -t nat -A POSTROUTING -o ens18 -j MASQUERADE
iptables-save > /etc/sysconfig/iptables
systemctl enable --now iptables
iptables -t nat -S
test -s /etc/sysconfig/iptables
systemctl is-enabled iptables
Команда или строкаЧто делает и что будет, если пропустить
iptables -t nat -A POSTROUTING -o ens18 -j MASQUERADEДобавляет MASQUERADE для трафика, уходящего к ISP через ens18. Если пропустить, VLAN HQ не выйдут в интернет.
iptables-save > /etc/sysconfig/iptablesЗаписывает текущие правила NAT в файл. Без этого после перезагрузки машина перестанет выпускать офис в интернет.
systemctl enable --now iptablesЗапускает службу iptables сейчас и включает её на будущие загрузки. Если пропустить, сохранённые правила не гарантированно применятся после перезапуска.
iptables -t nat -SПоказывает текущее правило MASQUERADE. Если не проверить, можно не заметить ошибочный интерфейс.
test -s /etc/sysconfig/iptablesПроверяет, что файл правил существует и не пустой. Если не выполнить проверку, сохранение NAT можно ошибочно считать выполненным.
systemctl is-enabled iptablesПоказывает состояние автозапуска. Без проверки не видно, переживёт ли NAT перезагрузку.
Зачем это нужно: КИМ требует NAT на HQ-RTR; одно правило без сохранения и службы недостаточно.
Проверка: В правилах есть POSTROUTING через ens18; файл /etc/sysconfig/iptables не пустой; служба iptables — enabled.

HQ-SRV

HQ-SRVСеть и резолвер
Что делаем: Сначала назначить адрес сервера DNS/SSH, шлюз и начальный DNS.

Сначала создайте каталог интерфейса. Затем создайте перечисленные файлы внутри него и вставьте в каждый точное содержимое.

Каталог интерфейса: /etc/net/ifaces/ens18
1. Создать каталог
mkdir /etc/net/ifaces/ens18
Файл внутри каталога: options
Открыть или создать файл
vim /etc/net/ifaces/ens18/options
Что записать в файл
BOOTPROTO=static
TYPE=eth
Файл внутри каталога: ipv4address
Открыть или создать файл
vim /etc/net/ifaces/ens18/ipv4address
Что записать в файл
192.168.1.2/28
Файл внутри каталога: ipv4route
Открыть или создать файл
vim /etc/net/ifaces/ens18/ipv4route
Что записать в файл
default via 192.168.1.1
Отдельный системный файл: /etc/resolv.conf
Открыть файл
vim /etc/resolv.conf
Что записать в файл
nameserver 192.168.20.10
После записи файлов — выполнить в терминале
Команда
systemctl restart network
Команда
ip -br a
Команда
ip route
Зачем это нужно: HQ-SRV сначала должен стать доступным по постоянному адресу, затем на нём запускаются DNS и SSH.
Проверка: ens18 — 192.168.1.2/28; default via 192.168.1.1.
Пояснения к строкам и последствия пропуска
Команда или строкаЧто делает и что будет, если пропустить
mkdir /etc/net/ifaces/ens18Создаёт каталог интерфейса HQ-SRV. Если пропустить, нельзя сохранить сетевые файлы ens18.
vim /etc/net/ifaces/ens18/optionsОткрывает статический режим Ethernet. Без него сервер не поднимет VLAN 100 с постоянным адресом.
vim /etc/net/ifaces/ens18/ipv4addressОткрывает адрес сервера. Если не записать его, DNS и SSH не будут доступны по 192.168.1.2.
vim /etc/net/ifaces/ens18/ipv4routeОткрывает маршрут по умолчанию. Без шлюза сервер не достигнет других подсетей и внешнего DNS.
vim /etc/resolv.confОткрывает начальный DNS для самой HQ-SRV. Если пропустить, пакетный менеджер не разрешит имена до запуска dnsmasq.
systemctl restart networkПрименяет все изменённые файлы /etc/net/ifaces. Если пропустить, новый адрес и шлюз не заработают.
ip -br aПоказывает адрес ens18 после применения. Без проверки можно не заметить ошибочную маску.
ip routeПоказывает шлюз по умолчанию. Если не проверить, связи с BR-SRV может не быть.
BOOTPROTO=staticФиксирует статическую настройку сервера. Без строки IP DNS/SSH может измениться или отсутствовать.
TYPE=ethЗадаёт Ethernet-тип ens18. Без него сетевой сценарий может не поднять интерфейс.
192.168.1.2/28Назначает HQ-SRV адрес в VLAN 100. Если пропустить, DHCP-клиенты не найдут DNS 192.168.1.2.
default via 192.168.1.1Задаёт HQ-RTR шлюзом. Без строки HQ-SRV не сможет обращаться к BR-NET и интернету.
nameserver 192.168.20.10Даёт HQ-SRV начальный внешний DNS из методички. Без строки обновление пакетов до запуска dnsmasq может не работать.
HQ-SRVУстановить нужные пакеты
Что делаем: После сети установить часовой пояс, sudo, DNS и SSH.
Команды
apt-get update
apt-get install -y tzdata sudo dnsmasq openssh
Команда или строкаЧто делает и что будет, если пропустить
apt-get updateОбновляет список пакетов. Без этого установка может использовать старые метаданные.
apt-get install -y tzdata sudo dnsmasq opensshУстанавливает tzdata, sudo, DNS-сервер dnsmasq и OpenSSH. Если пропустить пакет, соответствующая служба не установится.
Зачем это нужно: HQ-SRV совмещает роли DNS и SSH-сервера.
Проверка: Пакеты tzdata, sudo, dnsmasq и openssh установлены без ошибок.
HQ-SRVИмя, часовой пояс и sshuser
Что делаем: Задать FQDN и после tzdata создать учётную запись для SSH.
Команды
hostnamectl set-hostname hq-srv.au-team.irpo
timedatectl set-timezone Europe/Samara
useradd sshuser -u 2027 -G wheel
passwd sshuser
# Введите пароль P@ssw0rd два раза
vim /etc/sudoers
Содержимое /etc/sudoers
sshuser ALL=(ALL) NOPASSWD: ALL
Команда или строкаЧто делает и что будет, если пропустить
hostnamectl set-hostname hq-srv.au-team.irpoЗадаёт FQDN HQ-SRV. Без него имя сервера в DNS и проверках не совпадёт.
timedatectl set-timezone Europe/SamaraЗадаёт часовой пояс после tzdata. Если пропустить, отметки журналов будут неверными.
useradd sshuser -u 2027 -G wheelСоздаёт sshuser с UID 2027 и группой wheel. Если пропустить, SSH-пользователь с требуемым UID не появится.
passwd sshuserЗапрашивает пароль sshuser. Введите пароль P@ssw0rd два раза. Без пароля вход по SSH не пройдёт.
# Введите пароль P@ssw0rd два разаПодсказка к двум запросам passwd, а не команда. Если задать другой пароль, проверка учётной записи не пройдёт.
vim /etc/sudoersОткрывает настройки sudo. Если правило не добавить, sshuser не сможет выполнять требуемые команды через sudo.
sshuser ALL=(ALL) NOPASSWD: ALLРазрешает sshuser выполнять sudo без пароля. Если строку пропустить, права пользователя не соответствуют настройке из методички.
Зачем это нужно: Пользователь sshuser используется в проверке защищённого SSH.
Проверка: id sshuser показывает uid=2027; timedatectl показывает Europe/Samara.

HQ-CLI

HQ-CLIDHCP-сеть без ручного DNS
Что делаем: Включить DHCP на клиенте. Файл resolv.conf вручную не редактируется: DNS должен прийти от HQ-SRV в DHCP-аренде.

Сначала создайте каталог интерфейса. Затем создайте перечисленные файлы внутри него и вставьте в каждый точное содержимое.

Каталог интерфейса: /etc/net/ifaces/ens18
1. Создать каталог
mkdir /etc/net/ifaces/ens18
Файл внутри каталога: options
Открыть или создать файл
vim /etc/net/ifaces/ens18/options
Что записать в файл
BOOTPROTO=dhcp
TYPE=eth
После записи файлов — выполнить в терминале
Команда
systemctl restart network
Команда
ip -br a
Команда
ip route
Команда
cat /etc/resolv.conf
Зачем это нужно: На HQ-CLI ручная строка nameserver не создаётся: DNS 192.168.1.2 приходит по DHCP.
Проверка: Адрес ens18 — 192.168.2.2–192.168.2.10/28; default via 192.168.2.1; resolv.conf содержит nameserver 192.168.1.2.
Пояснения к строкам и последствия пропуска
Команда или строкаЧто делает и что будет, если пропустить
mkdir /etc/net/ifaces/ens18Создаёт каталог клиентского интерфейса. Без него нельзя сохранить DHCP-настройку.
vim /etc/net/ifaces/ens18/optionsОткрывает настройку DHCP ens18. Если пропустить, клиент не запросит адрес, шлюз и DNS.
systemctl restart networkПерезапрашивает DHCP-аренду после изменения интерфейса. Если пропустить, новые параметры DHCP не придут.
ip -br aПоказывает выданный адрес. Без проверки нельзя убедиться, что он входит в диапазон .2–.10.
ip routeПоказывает шлюз, выданный DHCP. Если не проверить, ошибка option routers останется незамеченной.
cat /etc/resolv.confПоказывает DNS, полученный по DHCP. Если не проверить, можно не заметить ручной или неправильный nameserver.
BOOTPROTO=dhcpЗапрашивает адрес, шлюз и DNS у DHCP-сервера. Без строки HQ-CLI не станет DHCP-клиентом.
TYPE=ethУказывает Ethernet-тип ens18. Без типа сеть может не поднять клиентский интерфейс.
HQ-CLIУстановить tzdata и sudo, затем имя и время
Что делаем: После сети установить требуемые пакеты, затем задать FQDN и Europe/Samara.
Команды
apt-get update
apt-get install -y tzdata sudo
hostnamectl set-hostname hq-cli.au-team.irpo
timedatectl set-timezone Europe/Samara
Команда или строкаЧто делает и что будет, если пропустить
apt-get updateОбновляет индекс пакетов. Без него установка может использовать неактуальный список.
apt-get install -y tzdata sudoУстанавливает данные часовых поясов и sudo. Если пропустить tzdata, часовой пояс может быть недоступен; без sudo не будет административной утилиты.
hostnamectl set-hostname hq-cli.au-team.irpoЗадаёт FQDN клиента. Если не выполнить команду, имя не совпадёт с таблицей адресации.
timedatectl set-timezone Europe/SamaraЗадаёт часовой пояс после tzdata. Если пропустить, время клиента будет неверным.
Зачем это нужно: Пакеты устанавливаются до timedatectl, как в требуемом порядке.
Проверка: hostname — hq-cli.au-team.irpo; timedatectl — Europe/Samara.

BR-RTR

BR-RTRWAN, сеть к BR-FW, резолвер и пересылка
Что делаем: Сначала описать оба интерфейса, маршрут, DNS и forwarding.

Сначала создайте каталог интерфейса. Затем создайте перечисленные файлы внутри него и вставьте в каждый точное содержимое.

Каталог интерфейса: /etc/net/ifaces/ens18
1. Создать каталог
mkdir /etc/net/ifaces/ens18
Файл внутри каталога: options
Открыть или создать файл
vim /etc/net/ifaces/ens18/options
Что записать в файл
BOOTPROTO=static
TYPE=eth
Файл внутри каталога: ipv4address
Открыть или создать файл
vim /etc/net/ifaces/ens18/ipv4address
Что записать в файл
172.16.2.2/28
Файл внутри каталога: ipv4route
Открыть или создать файл
vim /etc/net/ifaces/ens18/ipv4route
Что записать в файл
default via 172.16.2.1
Каталог интерфейса: /etc/net/ifaces/ens19
1. Создать каталог
mkdir /etc/net/ifaces/ens19
Файл внутри каталога: options
Открыть или создать файл
vim /etc/net/ifaces/ens19/options
Что записать в файл
BOOTPROTO=static
TYPE=eth
Файл внутри каталога: ipv4address
Открыть или создать файл
vim /etc/net/ifaces/ens19/ipv4address
Что записать в файл
172.16.4.1/30
Отдельный системный файл: /etc/resolv.conf
Открыть файл
vim /etc/resolv.conf
Что записать в файл
nameserver 192.168.20.10
Отдельный системный файл: /etc/net/sysctl.conf
Открыть файл
vim /etc/net/sysctl.conf
Что изменить в файле
Найдите в файле строку с net.ipv4.ip_forward (сейчас там стоит 0)
и поменяйте 0 на 1:  net.ipv4.ip_forward = 1
Важно: Файл уже существует. Меняется только эта строка: остальные настройки в файле не трогайте и не стирайте. Вторую такую же строку в конец не добавляйте, правьте ту, что есть.
После записи файлов — выполнить в терминале
Команда
systemctl restart network
Команда
ip -br a
Команда
ip route
Команда
sysctl net.ipv4.ip_forward
Зачем это нужно: BR-RTR соединяет ISP, GRE и BR-FW, поэтому обе стороны маршрутизации включаются до сервисов.
Проверка: ens18 — 172.16.2.2/28; ens19 — 172.16.4.1/30; default via 172.16.2.1; net.ipv4.ip_forward = 1.
Пояснения к строкам и последствия пропуска
Команда или строкаЧто делает и что будет, если пропустить
mkdir /etc/net/ifaces/ens18Создаёт каталог WAN-интерфейса BR-RTR. Без него нельзя сохранить настройки к ISP.
vim /etc/net/ifaces/ens18/optionsОткрывает статический Ethernet для ens18. Если пропустить, интерфейс к ISP не поднимется правильно.
vim /etc/net/ifaces/ens18/ipv4addressОткрывает адрес BR-RTR к ISP. Без 172.16.2.2 не будет связи с ISP.
vim /etc/net/ifaces/ens18/ipv4routeОткрывает маршрут по умолчанию. Без него нет выхода к ISP и GRE-пиру.
mkdir /etc/net/ifaces/ens19Создаёт каталог линка к BR-FW. Если пропустить, сеть FW-NET не будет описана.
vim /etc/net/ifaces/ens19/optionsОткрывает статический Ethernet для ens19. Без файла прямой линк к BR-FW не поднимется.
vim /etc/net/ifaces/ens19/ipv4addressОткрывает адрес BR-RTR в FW-NET. Без 172.16.4.1 OSPF-соседство с BR-FW невозможно.
vim /etc/resolv.confОткрывает DNS для BR-RTR. Без резолвера apt-get не сможет находить репозитории.
vim /etc/net/sysctl.confОткрывает системные параметры. Если оставить ip_forward=0, BR-RTR не станет шлюзом BR-NET. Откройте файл, найдите существующую строку ip_forward и поменяйте 0 на 1. Остальные строки не трогайте и не добавляйте вторую такую же строку: если стереть файл или продублировать строку, потеряются другие настройки или применится не то значение.
systemctl restart networkПрименяет изменения всех файлов /etc/net/ifaces и sysctl. Если пропустить, адреса и forwarding останутся неактивными.
ip -br aПоказывает адреса ens18 и ens19. Без проверки легко пропустить неверную маску.
ip routeПоказывает default via 172.16.2.1. Без проверки неизвестно, есть ли путь к ISP.
sysctl net.ipv4.ip_forwardПодтверждает включённую маршрутизацию IPv4. Без проверки трафик BR-SRV может не идти дальше BR-RTR.
BOOTPROTO=staticЗадаёт статический режим ens18 и ens19. Без строки адреса маршрутизатора не будут постоянными.
TYPE=ethУказывает Ethernet-тип обоих интерфейсов. Если пропустить, сетевой сценарий может не поднять карты.
172.16.2.2/28Назначает BR-RTR адрес к ISP. Без него не работает WAN и GRE.
default via 172.16.2.1Направляет внешний трафик к ISP. Без строки BR-RTR не достигнет внешних сетей.
172.16.4.1/30Назначает адрес BR-RTR на линке с BR-FW. Если пропустить, OSPF не получит транспорт между соседями.
nameserver 192.168.20.10Задаёт DNS учебного стенда для BR-RTR. Без строки установка пакетов по имени может не работать.
net.ipv4.ip_forward=1Включает пересылку IPv4. Если оставить 0, BR-SRV не сможет ходить через BR-RTR к HQ и WAN.
BR-RTRУстановить нужные пакеты
Что делаем: После рабочей сети установить компоненты времени, sudo, NAT и OSPF.
Команды
apt-get update
apt-get install -y tzdata sudo iptables frr
Команда или строкаЧто делает и что будет, если пропустить
apt-get updateОбновляет список пакетов. Если пропустить, пакеты могут не находиться или быть устаревшими.
apt-get install -y tzdata sudo iptables frrУстанавливает tzdata, sudo, iptables и FRR. Без iptables нет NAT, без FRR нет OSPF, без tzdata не задаётся нужный часовой пояс.
Зачем это нужно: Эти пакеты соответствуют роли BR-RTR: NAT и OSPF-маршрутизатор.
Проверка: Установлены tzdata, sudo, iptables и frr.
BR-RTRИмя, часовой пояс и net_admin
Что делаем: После tzdata задать FQDN, время и пользователя администратора.
Команды
hostnamectl set-hostname br-rtr.au-team.irpo
timedatectl set-timezone Europe/Samara
useradd net_admin -G wheel
passwd net_admin
# Введите пароль P@ssw0rd два раза
vim /etc/sudoers
Содержимое /etc/sudoers
net_admin ALL=(ALL) NOPASSWD: ALL
Команда или строкаЧто делает и что будет, если пропустить
hostnamectl set-hostname br-rtr.au-team.irpoЗадаёт FQDN BR-RTR. Если пропустить, имя не совпадёт с DNS и отчётом.
timedatectl set-timezone Europe/SamaraЗадаёт Europe/Samara после установки tzdata. Если пропустить, время логов будет неверным.
useradd net_admin -G wheelСоздаёт net_admin в группе wheel. Без команды не будет требуемого администратора.
passwd net_adminЗапрашивает пароль net_admin. Введите пароль P@ssw0rd два раза. Без установленного пароля пользователь не войдёт.
# Введите пароль P@ssw0rd два разаПодсказка для passwd, не команда. Другой пароль не пройдёт проверку учётной записи.
vim /etc/sudoersОткрывает правила sudo. Если не добавить правило, net_admin не получит административные полномочия.
net_admin ALL=(ALL) NOPASSWD: ALLДаёт net_admin sudo без повторного пароля. Если пропустить, требуемый доступ администратора не настроен.
Зачем это нужно: Маршрутизатор филиала должен иметь требуемые FQDN, время и учётную запись.
Проверка: hostname — br-rtr.au-team.irpo; id net_admin показывает пользователя и wheel.
BR-RTRПреобразование адресов и сохранение правил
Что делаем: Настроить обязательный NAT BR-RTR полностью: правило, файл и службу.
Команды
iptables -t nat -A POSTROUTING -o ens18 -j MASQUERADE
iptables-save > /etc/sysconfig/iptables
systemctl enable --now iptables
iptables -t nat -S
test -s /etc/sysconfig/iptables
systemctl is-enabled iptables
Команда или строкаЧто делает и что будет, если пропустить
iptables -t nat -A POSTROUTING -o ens18 -j MASQUERADEДобавляет NAT для трафика BR-NET, который уходит к ISP через ens18. Если пропустить, филиал не выйдет в интернет.
iptables-save > /etc/sysconfig/iptablesЗаписывает текущие правила NAT в файл. Без этого после перезагрузки машина перестанет выпускать филиал в интернет.
systemctl enable --now iptablesЗапускает iptables и включает автозапуск. Если пропустить, правило не будет надёжно восстанавливаться после перезапуска.
iptables -t nat -SПоказывает правило в таблице NAT. Если не выполнить проверку, можно пропустить ошибку в ens18.
test -s /etc/sysconfig/iptablesПодтверждает, что файл правил существует и не пуст. Если пропустить, сохранение может быть только предполагаемым.
systemctl is-enabled iptablesПоказывает, включена ли служба при старте. Без проверки NAT может исчезнуть после перезагрузки.
Зачем это нужно: Для BR-RTR недостаточно одного правила в памяти: нужны сохранение и включённая служба.
Проверка: Есть MASQUERADE через ens18; /etc/sysconfig/iptables не пуст; iptables — enabled.

BR-FW

BR-FWСеть, резолвер и пересылка IPv4
Что делаем: Настроить линк к BR-RTR, BR-NET, DNS и исправить существующее значение ip_forward.

Сначала создайте каталог интерфейса. Затем создайте перечисленные файлы внутри него и вставьте в каждый точное содержимое.

Каталог интерфейса: /etc/net/ifaces/ens18
1. Создать каталог
mkdir /etc/net/ifaces/ens18
Файл внутри каталога: options
Открыть или создать файл
vim /etc/net/ifaces/ens18/options
Что записать в файл
BOOTPROTO=static
TYPE=eth
Файл внутри каталога: ipv4address
Открыть или создать файл
vim /etc/net/ifaces/ens18/ipv4address
Что записать в файл
172.16.4.2/30
Файл внутри каталога: ipv4route
Открыть или создать файл
vim /etc/net/ifaces/ens18/ipv4route
Что записать в файл
default via 172.16.4.1
Каталог интерфейса: /etc/net/ifaces/ens19
1. Создать каталог
mkdir /etc/net/ifaces/ens19
Файл внутри каталога: options
Открыть или создать файл
vim /etc/net/ifaces/ens19/options
Что записать в файл
BOOTPROTO=static
TYPE=eth
Файл внутри каталога: ipv4address
Открыть или создать файл
vim /etc/net/ifaces/ens19/ipv4address
Что записать в файл
172.16.5.1/28
Отдельный системный файл: /etc/resolv.conf
Открыть файл
vim /etc/resolv.conf
Что записать в файл
nameserver 192.168.20.10
Отдельный системный файл: /etc/net/sysctl.conf
Открыть файл
vim /etc/net/sysctl.conf
Что изменить в файле
Найдите в файле строку с net.ipv4.ip_forward (сейчас там стоит 0)
и поменяйте 0 на 1:  net.ipv4.ip_forward = 1
Важно: Файл уже существует. Меняется только эта строка: остальные настройки в файле не трогайте и не стирайте. Вторую такую же строку в конец не добавляйте, правьте ту, что есть.
После записи файлов — выполнить в терминале
Команда
systemctl restart network
Команда
ip -br a
Команда
ip route
Команда
sysctl net.ipv4.ip_forward
Зачем это нужно: BR-FW — маршрутизатор между BR-RTR и BR-SRV; NAT на нём не настраивается, потому что КИМ требует NAT на HQ-RTR и BR-RTR.
Проверка: ens18 — 172.16.4.2/30; ens19 — 172.16.5.1/28; default via 172.16.4.1; net.ipv4.ip_forward = 1.
Пояснения к строкам и последствия пропуска
Команда или строкаЧто делает и что будет, если пропустить
mkdir /etc/net/ifaces/ens18Создаёт каталог интерфейса к BR-RTR. Без него конфигурация FW-NET не сохранится.
vim /etc/net/ifaces/ens18/optionsОткрывает статический режим ens18. Если пропустить, линк к BR-RTR не поднимется корректно.
vim /etc/net/ifaces/ens18/ipv4addressОткрывает адрес BR-FW в FW-NET. Без 172.16.4.2 не будет OSPF-соседства.
vim /etc/net/ifaces/ens18/ipv4routeОткрывает default route к BR-RTR. Без него BR-FW и BR-SRV не достигнут HQ и WAN.
mkdir /etc/net/ifaces/ens19Создаёт каталог интерфейса в BR-NET. Если пропустить, BR-SRV не получит свой шлюз.
vim /etc/net/ifaces/ens19/optionsОткрывает статический режим ens19. Без него BR-NET не поднимется.
vim /etc/net/ifaces/ens19/ipv4addressОткрывает адрес шлюза BR-SRV. Без 172.16.5.1 сервер не сможет выйти из своей сети.
vim /etc/resolv.confОткрывает DNS BR-FW. Если пропустить, apt-get не сможет разрешать имена.
vim /etc/net/sysctl.confОткрывает существующую строку ip_forward. Если не заменить 0 на 1, BR-FW не будет маршрутизировать между ens18 и ens19. Откройте файл, найдите существующую строку ip_forward и поменяйте 0 на 1. Остальные строки не трогайте и не добавляйте вторую такую же строку: если стереть файл или продублировать строку, потеряются другие настройки или применится не то значение.
systemctl restart networkПрименяет новые файлы /etc/net/ifaces и sysctl. Если пропустить, адреса и пересылка не заработают.
ip -br aПоказывает адреса ens18 и ens19. Без проверки можно не заметить ошибку в BR-NET.
ip routeПоказывает default via 172.16.4.1. Без проверки путь к HQ останется непроверенным.
sysctl net.ipv4.ip_forwardПодтверждает, что ядро пересылает IPv4. Если не проверить, BR-SRV может остаться без связи с HQ.
BOOTPROTO=staticЗадаёт статический режим ens18 и ens19. Без строки адреса могут не подниматься как постоянные.
TYPE=ethУказывает Ethernet-тип для обоих интерфейсов. Если пропустить, сеть может не поднять интерфейсы.
172.16.4.2/30Назначает BR-FW адрес к BR-RTR. Без строки OSPF-соседство недостижимо.
default via 172.16.4.1Задаёт BR-RTR шлюзом по умолчанию. Без него BR-FW не направит трафик в HQ и интернет.
172.16.5.1/28Назначает BR-FW шлюзом BR-NET. Без строки BR-SRV не сможет маршрутизироваться.
nameserver 192.168.20.10Задаёт DNS из учебной методички для BR-FW. Если пропустить, не будет разрешения имён для пакетов.
net.ipv4.ip_forward=1Заменяет существующее значение 0 на 1 и включает маршрутизацию IPv4. Если оставить 0, BR-FW не передаст трафик BR-SRV.
BR-FWУстановить нужные пакеты
Что делаем: После сети установить данные часовых поясов, sudo и FRR.
Команды
apt-get update
apt-get install -y tzdata sudo frr
Команда или строкаЧто делает и что будет, если пропустить
apt-get updateОбновляет индекс пакетов. Если пропустить, установка может не получить актуальные версии.
apt-get install -y tzdata sudo frrУстанавливает tzdata, sudo и FRR. Без frr нет OSPF; без tzdata невозможно гарантированно настроить Europe/Samara.
Зачем это нужно: На BR-FW оставлен только нужный по роли пакет маршрутизации FRR; отдельный NAT не требуется.
Проверка: Установлены tzdata, sudo и frr.
BR-FWИмя и часовой пояс
Что делаем: После установки tzdata назначить FQDN и Europe/Samara.
Команды
hostnamectl set-hostname br-fw.au-team.irpo
timedatectl set-timezone Europe/Samara
Команда или строкаЧто делает и что будет, если пропустить
hostnamectl set-hostname br-fw.au-team.irpoЗадаёт FQDN BR-FW. Если пропустить, имя в DNS и отчёте не совпадёт.
timedatectl set-timezone Europe/SamaraЗадаёт часовой пояс после tzdata. Без команды время журналов станет неверным.
Зачем это нужно: Сначала установка tzdata, потом настройка временной зоны.
Проверка: hostname — br-fw.au-team.irpo; timedatectl — Europe/Samara.

BR-SRV

BR-SRVСеть и резолвер
Что делаем: Сначала задать постоянный адрес сервера, шлюз BR-FW и DNS.

Сначала создайте каталог интерфейса. Затем создайте перечисленные файлы внутри него и вставьте в каждый точное содержимое.

Каталог интерфейса: /etc/net/ifaces/ens18
1. Создать каталог
mkdir /etc/net/ifaces/ens18
Файл внутри каталога: options
Открыть или создать файл
vim /etc/net/ifaces/ens18/options
Что записать в файл
BOOTPROTO=static
TYPE=eth
Файл внутри каталога: ipv4address
Открыть или создать файл
vim /etc/net/ifaces/ens18/ipv4address
Что записать в файл
172.16.5.2/28
Файл внутри каталога: ipv4route
Открыть или создать файл
vim /etc/net/ifaces/ens18/ipv4route
Что записать в файл
default via 172.16.5.1
Отдельный системный файл: /etc/resolv.conf
Открыть файл
vim /etc/resolv.conf
Что записать в файл
nameserver 192.168.20.10
После записи файлов — выполнить в терминале
Команда
systemctl restart network
Команда
ip -br a
Команда
ip route
Зачем это нужно: BR-SRV становится конечным сервером филиала и должен быть доступен из HQ.
Проверка: ens18 — 172.16.5.2/28; default via 172.16.5.1.
Пояснения к строкам и последствия пропуска
Команда или строкаЧто делает и что будет, если пропустить
mkdir /etc/net/ifaces/ens18Создаёт каталог интерфейса BR-SRV. Без него сетевые настройки некуда записать.
vim /etc/net/ifaces/ens18/optionsОткрывает статический Ethernet ens18. Если пропустить, сервер не поднимет постоянный адрес.
vim /etc/net/ifaces/ens18/ipv4addressОткрывает адрес BR-SRV. Без 172.16.5.2 сервер не будет доступен из HQ.
vim /etc/net/ifaces/ens18/ipv4routeОткрывает маршрут по умолчанию. Без шлюза сервер не достигнет HQ-SRV и интернета.
vim /etc/resolv.confОткрывает DNS для BR-SRV. Без него пакетный менеджер не сможет разрешать имена.
systemctl restart networkПрименяет файлы /etc/net/ifaces. Если пропустить, адрес и маршрут останутся неактивными.
ip -br aПоказывает адрес ens18. Без проверки можно не заметить ошибку в маске /28.
ip routeПоказывает default via 172.16.5.1. Если не проверить, связь с HQ может не заработать.
BOOTPROTO=staticЗадаёт статический режим BR-SRV. Без строки постоянный адрес сервера не гарантирован.
TYPE=ethУказывает Ethernet-тип ens18. Если пропустить, сетевой сценарий может не поднять интерфейс.
172.16.5.2/28Назначает BR-SRV адрес. Без строки сервер не будет доступен по SSH и ping.
default via 172.16.5.1Задаёт BR-FW шлюзом. Без строки BR-SRV не выйдет в другие сети.
nameserver 192.168.20.10Задаёт DNS из учебной методички для BR-SRV. Если пропустить, не будет разрешения имён для установки пакетов.
BR-SRVУстановить нужные пакеты
Что делаем: После сети установить компоненты времени, sudo и SSH.
Команды
apt-get update
apt-get install -y tzdata sudo openssh
Команда или строкаЧто делает и что будет, если пропустить
apt-get updateОбновляет индекс пакетов. Если пропустить, установка может использовать устаревшие метаданные.
apt-get install -y tzdata sudo opensshУстанавливает tzdata, sudo и OpenSSH. Без openssh не будет SSH-службы; без tzdata нельзя корректно выбрать часовой пояс.
Зачем это нужно: BR-SRV выполняет роль SSH-сервера.
Проверка: Установлены tzdata, sudo и openssh.
BR-SRVИмя, часовой пояс и sshuser
Что делаем: После установки tzdata задать FQDN, время, пароль и sudo для sshuser.
Команды
hostnamectl set-hostname br-srv.au-team.irpo
timedatectl set-timezone Europe/Samara
useradd sshuser -u 2027 -G wheel
passwd sshuser
# Введите пароль P@ssw0rd два раза
vim /etc/sudoers
Содержимое /etc/sudoers
sshuser ALL=(ALL) NOPASSWD: ALL
Команда или строкаЧто делает и что будет, если пропустить
hostnamectl set-hostname br-srv.au-team.irpoЗадаёт FQDN BR-SRV. Если пропустить, имя не совпадёт с DNS и проверками.
timedatectl set-timezone Europe/SamaraЗадаёт Europe/Samara после установки tzdata. Без команды время журналов будет неверным.
useradd sshuser -u 2027 -G wheelСоздаёт sshuser с UID 2027 в группе wheel. Если пропустить, требуемой учётной записи не будет.
passwd sshuserЗапрашивает пароль sshuser. Введите пароль P@ssw0rd два раза. Если не задать пароль, вход по SSH невозможен.
# Введите пароль P@ssw0rd два разаПодсказка к двум запросам passwd, не команда. Другой пароль не соответствует заданию.
vim /etc/sudoersОткрывает sudoers после установки sudo. Если не добавить правило, sshuser не получит заданные права.
sshuser ALL=(ALL) NOPASSWD: ALLРазрешает sshuser выполнять sudo без повторного пароля. Если строку пропустить, права пользователя неполные.
Зачем это нужно: Недостающие passwd и sudoers добавлены: BR-SRV проверяется так же, как HQ-SRV.
Проверка: hostname — br-srv.au-team.irpo; id sshuser показывает uid=2027; timedatectl — Europe/Samara.

2. Open vSwitch и VLAN на HQ-RTR

Где находится HQ-SW

HQ-SW — не отдельная ВМ. Это логическое имя виртуального коммутатора Open vSwitch внутри HQ-RTR; фактическое имя OVS bridge в командах — br0. Поэтому пакет openvswitch устанавливается только на HQ-RTR; здесь же создаются bridge, VLAN 100/200/999 и подключается физический порт в сторону сегмента HQ.

Сначала установите и запустите Open vSwitch в карточке HQ-RTR, затем сразу выполняйте VLAN-команды ниже. Не настраивайте VLAN до установки службы OVS.

Перед командами: на HQ-RTR подтвердите реальное имя физического порта командой ip -br a. В примере используется ens19 только если он действительно смотрит в сегмент HQ.
Проверка адресов из присланного файла: команды OVS взяты по нему, но адрес 192.168.10.1/26 для VLAN 100 не использован: /26 содержит 64 адреса и нарушает ограничение КИМ «не более 32». В этой схеме оставлен допустимый адрес 192.168.1.1/28; VLAN 200 — 192.168.2.1/28, VLAN 999 — 192.168.3.1/29.
HQ-RTRНастроить bridge br0 (виртуальный HQ-SW) и VLAN-порты
Что делаем: После установленного пакета Open vSwitch настроить VLAN 100, 200 и 999 на маршрутизаторе.

Сначала создайте каталог интерфейса. Затем создайте перечисленные файлы внутри него и вставьте в каждый точное содержимое.

Установить пакет Open vSwitch (если он ещё не установлен в базовой настройке)
Команда
apt-get install -y openvswitch
Запустить службу Open vSwitch и включить автозапуск
Команда
systemctl enable --now openvswitch
Запретить автоматическое удаление конфигурации OVS
Открыть файл
vim /etc/net/ifaces/default/options
Что изменить в файле
Найдите в файле строку OVS_REMOVE=yes
и поменяйте yes на no:  OVS_REMOVE=no
Важно: Файл уже существует. Меняется только эта строка: остальные строки не трогайте. Если стереть файл целиком, потеряются другие настройки сети.
Создать bridge — виртуальное ядро коммутатора HQ-SW
Команда
ovs-vsctl add-br br0
Передать физический порт ens19 под управление OVS
Команда
ovs-vsctl add-port br0 ens19
Добавить внутренний VLAN-порт 100 в bridge
Команда
ovs-vsctl add-port br0 vlan100
Добавить внутренний VLAN-порт 200 в bridge
Команда
ovs-vsctl add-port br0 vlan200
Добавить внутренний VLAN-порт 999 в bridge
Команда
ovs-vsctl add-port br0 vlan999
Сделать vlan100 внутренним интерфейсом OVS
Команда
ovs-vsctl set interface vlan100 type=internal
Сделать vlan200 внутренним интерфейсом OVS
Команда
ovs-vsctl set interface vlan200 type=internal
Сделать vlan999 внутренним интерфейсом OVS
Команда
ovs-vsctl set interface vlan999 type=internal
Назначить тег VLAN 100
Команда
ovs-vsctl set port vlan100 tag=100
Назначить тег VLAN 200
Команда
ovs-vsctl set port vlan200 tag=200
Назначить тег VLAN 999
Команда
ovs-vsctl set port vlan999 tag=999
Каталог интерфейса: /etc/net/ifaces/ens19
1. Создать каталог
mkdir /etc/net/ifaces/ens19
Файл внутри каталога: options
Открыть или создать файл
vim /etc/net/ifaces/ens19/options
Что записать в файл
BOOTPROTO=static
TYPE=eth
Каталог интерфейса: /etc/net/ifaces/vlan100
1. Создать каталог
mkdir /etc/net/ifaces/vlan100
Файл внутри каталога: options
Открыть или создать файл
vim /etc/net/ifaces/vlan100/options
Что записать в файл
BOOTPROTO=static
TYPE=eth
Файл внутри каталога: ipv4address
Открыть или создать файл
vim /etc/net/ifaces/vlan100/ipv4address
Что записать в файл
192.168.1.1/28
Каталог интерфейса: /etc/net/ifaces/vlan200
1. Создать каталог
mkdir /etc/net/ifaces/vlan200
Файл внутри каталога: options
Открыть или создать файл
vim /etc/net/ifaces/vlan200/options
Что записать в файл
BOOTPROTO=static
TYPE=eth
Файл внутри каталога: ipv4address
Открыть или создать файл
vim /etc/net/ifaces/vlan200/ipv4address
Что записать в файл
192.168.2.1/28
Каталог интерфейса: /etc/net/ifaces/vlan999
1. Создать каталог
mkdir /etc/net/ifaces/vlan999
Файл внутри каталога: options
Открыть или создать файл
vim /etc/net/ifaces/vlan999/options
Что записать в файл
BOOTPROTO=static
TYPE=eth
Файл внутри каталога: ipv4address
Открыть или создать файл
vim /etc/net/ifaces/vlan999/ipv4address
Что записать в файл
192.168.3.1/29
После записи файлов — выполнить в терминале
Команда
systemctl restart network openvswitch
Команда
ip -br a
Команда
ovs-vsctl show
Зачем это нужно: Один trunk переносит VLAN 100, 200 и 999 внутри виртуального коммутатора HQ-SW на HQ-RTR.
Проверка: HQ-SW содержит ens19 и internal-порты vlan100/200/999 с tag 100/200/999; ip -br a показывает .1/28, .1/28 и .1/29.
Пояснения к строкам и последствия пропуска
Команда или строкаЧто делает и что будет, если пропустить
systemctl enable --now openvswitchЗапускает OVS и включает автозапуск. Если пропустить, мост и порты не будут обслуживаться после загрузки.
vim /etc/net/ifaces/default/optionsОткрывает глобальную настройку сетевого сценария. Без OVS_REMOVE=no созданный OVS-мост может быть удалён при обработке сети. Откройте файл, найдите строку OVS_REMOVE=yes и поменяйте yes на no. Остальные строки не трогайте: если стереть файл целиком, потеряются другие настройки сети.
ovs-vsctl add-br br0Создаёт виртуальный коммутатор HQ-SW. Если пропустить, некуда подключать trunk и VLAN-порты.
ovs-vsctl add-port br0 ens19Добавляет физический порт HQ-RTR в сегмент HQ в HQ-SW. Если пропустить, VLAN не покинут HQ-RTR.
mkdir /etc/net/ifaces/vlan100 /etc/net/ifaces/vlan200 /etc/net/ifaces/vlan999Создаёт каталоги трёх internal-интерфейсов. Без каталогов файлы адресации VLAN не сохранятся.
vim /etc/net/ifaces/vlan100/optionsОткрывает тип vlan100. Если пропустить, интерфейс VLAN 100 не поднимется сетью.
vim /etc/net/ifaces/vlan100/ipv4addressОткрывает адрес шлюза VLAN 100. Без него HQ-SRV не получит шлюз.
vim /etc/net/ifaces/vlan200/optionsОткрывает тип vlan200. Если пропустить, DHCP-сегмент не поднимется.
vim /etc/net/ifaces/vlan200/ipv4addressОткрывает адрес шлюза VLAN 200. Без него HQ-CLI не получит шлюз.
vim /etc/net/ifaces/vlan999/optionsОткрывает тип vlan999. Если пропустить, сеть управления не поднимется.
vim /etc/net/ifaces/vlan999/ipv4addressОткрывает адрес шлюза VLAN 999 на HQ-RTR. Без него трафик управления не получит шлюз.
ovs-vsctl add-port br0 vlan100Добавляет internal-порт VLAN 100 в мост. Если пропустить, адрес vlan100 останется вне OVS.
ovs-vsctl set interface vlan100 type=internalДелает vlan100 внутренним портом OVS. Если пропустить, OVS не создаст интерфейс маршрутизатора.
ovs-vsctl set port vlan100 tag=100Назначает тег 100 internal-порту. Если пропустить, трафик попадёт не в тот VLAN.
ovs-vsctl add-port br0 vlan200Добавляет internal-порт VLAN 200. Если пропустить, DHCP-клиент не достигнет маршрутизатора.
ovs-vsctl set interface vlan200 type=internalСоздаёт внутренний интерфейс vlan200. Без команды OVS не даст L3-интерфейс для DHCP-сегмента.
ovs-vsctl set port vlan200 tag=200Назначает vlan200 тег 200. Если пропустить, клиентский сегмент смешается или не заработает.
ovs-vsctl add-port br0 vlan999Добавляет internal-порт VLAN 999. Если пропустить, трафик управления не получит L3-шлюз на HQ-RTR.
ovs-vsctl set interface vlan999 type=internalДелает vlan999 внутренним интерфейсом. Если пропустить, OVS не создаст порт шлюза управления.
ovs-vsctl set port vlan999 tag=999Назначает VLAN 999. Если пропустить, сеть управления не будет изолирована и доступна.
systemctl restart networkПрименяет созданные файлы /etc/net/ifaces/vlan*. Если пропустить, адреса VLAN не будут назначены после записи файлов.
ip -br aПоказывает адреса vlan100, vlan200 и vlan999. Без проверки ошибку адресации можно не увидеть.
ovs-vsctl showПоказывает мост, порт ens19 и VLAN-теги. Если не проверить, можно не заметить неверный trunk или tag.
OVS_REMOVE=noЗапрещает сетевому сценарию удалять OVS-конфигурацию. Если строку пропустить, мост может исчезнуть после перезапуска сети.
BOOTPROTO=staticЗадаёт статический режим каждого internal-интерфейса. Без строки адреса VLAN не будут постоянными.
TYPE=ethУказывает тип для vlan100, vlan200 и vlan999. Без него интерфейсы могут не подниматься сетевым сценарием.
192.168.1.1/28Назначает HQ-RTR шлюз VLAN 100. Без строки HQ-SRV не сможет маршрутизироваться.
192.168.2.1/28Назначает HQ-RTR шлюз VLAN 200. Без строки DHCP-клиенты останутся без маршрута.
192.168.3.1/29Назначает HQ-RTR шлюзом сети управления. Без строки VLAN 999 не будет иметь L3-шлюза.

3. Сквозные сервисы Модуля 1

GRE

HQ-RTRСоздать конец GRE
Что делаем: Создать GRE-интерфейс HQ-RTR и применить файл через перезапуск сети.

Сначала создайте каталог интерфейса. Затем создайте перечисленные файлы внутри него и вставьте в каждый точное содержимое.

Каталог интерфейса: /etc/net/ifaces/gre1
1. Создать каталог
mkdir /etc/net/ifaces/gre1
Файл внутри каталога: ipv4address
Открыть или создать файл
vim /etc/net/ifaces/gre1/ipv4address
Что записать в файл
10.10.10.1/30
Файл внутри каталога: options
Открыть или создать файл
vim /etc/net/ifaces/gre1/options
Что записать в файл
TUNLOCAL=172.16.1.2
TUNREMOTE=172.16.2.2
TUNTYPE=gre
TYPE=iptun
TUNTTL=64
TUNMTU=1476
TUNOPTIONS='ttl 64'
DISABLE=no
После записи файлов — выполнить в терминале
Команда
systemctl restart network
Команда
ip -br a
Команда
ping -c 3 10.10.10.2
Зачем это нужно: GRE создаёт L3-связь HQ-RTR ↔ BR-RTR для OSPF между офисами.
Проверка: gre1 имеет 10.10.10.1/30; ping 10.10.10.2 отвечает.
Пояснения к строкам и последствия пропуска
Команда или строкаЧто делает и что будет, если пропустить
mkdir /etc/net/ifaces/gre1Создаёт каталог GRE-интерфейса. Если пропустить, нельзя записать параметры туннеля.
vim /etc/net/ifaces/gre1/ipv4addressОткрывает внутренний адрес GRE. Без него OSPF не получит адрес на туннеле.
vim /etc/net/ifaces/gre1/optionsОткрывает параметры концов GRE. Если пропустить, туннель не будет создан.
systemctl restart networkПрименяет файлы /etc/net/ifaces/gre1. Если пропустить, созданные параметры останутся только в файлах.
ip -br aПоказывает адрес gre1 после перезапуска. Без проверки можно не заметить, что туннель не поднялся.
ping -c 3 10.10.10.2Проверяет второй конец GRE. Если ответов нет, неверны внешний адрес, маршрут или параметры туннеля.
10.10.10.1/30Назначает HQ-конец туннеля. Без адреса OSPF и ping по GRE не работают.
TUNLOCAL=172.16.1.2Задаёт внешний адрес HQ-RTR для инкапсуляции. Если ошибиться, пакеты GRE не выйдут к ISP.
TUNREMOTE=172.16.2.2Задаёт внешний адрес BR-RTR. Без верного удалённого конца туннель не имеет получателя.
TUNTYPE=greВыбирает тип туннеля GRE. Если пропустить, интерфейс не будет GRE.
TYPE=iptunУказывает тип интерфейса IP-туннеля. Без строки сетевой сценарий не создаст gre1.
TUNTTL=64Задаёт TTL капсулированных пакетов. Если пропустить, используется неявное значение, что усложняет повторяемость настройки.
TUNMTU=1476Уменьшает MTU с учётом GRE-заголовка. Если пропустить, крупные пакеты могут фрагментироваться или теряться.
TUNOPTIONS='ttl 64'Передаёт TTL в параметры создания GRE. Если строку пропустить, нужный TTL может не примениться.
DISABLE=noРазрешает поднимать интерфейс. Если оставить отключение, туннель не появится.
BR-RTRСоздать зеркальный конец GRE
Что делаем: Создать обратный конец GRE на BR-RTR и применить его через network restart.

Сначала создайте каталог интерфейса. Затем создайте перечисленные файлы внутри него и вставьте в каждый точное содержимое.

Каталог интерфейса: /etc/net/ifaces/gre1
1. Создать каталог
mkdir /etc/net/ifaces/gre1
Файл внутри каталога: ipv4address
Открыть или создать файл
vim /etc/net/ifaces/gre1/ipv4address
Что записать в файл
10.10.10.2/30
Файл внутри каталога: options
Открыть или создать файл
vim /etc/net/ifaces/gre1/options
Что записать в файл
TUNLOCAL=172.16.2.2
TUNREMOTE=172.16.1.2
TUNTYPE=gre
TYPE=iptun
TUNTTL=64
TUNMTU=1476
TUNOPTIONS='ttl 64'
DISABLE=no
После записи файлов — выполнить в терминале
Команда
systemctl restart network
Команда
ip -br a
Команда
ping -c 3 10.10.10.1
Зачем это нужно: Второй конец обязан зеркально указывать на HQ-RTR.
Проверка: gre1 имеет 10.10.10.2/30; ping 10.10.10.1 отвечает.
Пояснения к строкам и последствия пропуска
Команда или строкаЧто делает и что будет, если пропустить
mkdir /etc/net/ifaces/gre1Создаёт каталог туннеля BR-RTR. Если пропустить, параметры GRE некуда записать.
vim /etc/net/ifaces/gre1/ipv4addressОткрывает внутренний адрес BR-конца. Без него туннель не будет иметь L3-адрес.
vim /etc/net/ifaces/gre1/optionsОткрывает зеркальные параметры GRE. Если пропустить, GRE не создастся.
systemctl restart networkПрименяет файлы /etc/net/ifaces/gre1. Если пропустить, изменения не начнут действовать.
ip -br aПоказывает gre1 и его адрес. Без проверки можно не заметить, что интерфейс не создан.
ping -c 3 10.10.10.1Проверяет HQ-конец GRE. Если ответов нет, требуется проверить адреса внешних концов и маршрут к ISP.
10.10.10.2/30Назначает BR-конец туннеля. Без строки нет адреса для OSPF и проверки GRE.
TUNLOCAL=172.16.2.2Задаёт внешний адрес BR-RTR. Если пропустить или ошибиться, GRE не сможет отправлять инкапсулированные пакеты.
TUNREMOTE=172.16.1.2Задаёт внешний адрес HQ-RTR. Без него туннель не знает удалённый конец.
TUNTYPE=greВыбирает GRE. Без строки будет создан не тот тип или интерфейс не создастся.
TYPE=iptunУказывает IP-туннель сетевому сценарию. Если пропустить, gre1 не поднимется автоматически.
TUNTTL=64Задаёт TTL GRE. Без строки параметр становится неявным.
TUNMTU=1476Учитывает инкапсуляцию GRE. Без строки возможны проблемы с крупными пакетами.
TUNOPTIONS='ttl 64'Передаёт TTL в команду создания туннеля. Если пропустить, нужная настройка не закреплена.
DISABLE=noРазрешает поднимать gre1. Если пропустить или отключить, туннель не заработает.

OSPF с MD5

HQ-RTRВключить OSPF на GRE
Что делаем: Запустить ospfd и открыть OSPF-соседство только на GRE, защищённое MD5.
Команды
vim /etc/frr/daemons
systemctl enable --now frr
vtysh
conf t
router ospf
passive-interface default
network 10.10.10.0/30 area 0
network 192.168.1.0/28 area 0
network 192.168.2.0/28 area 0
network 192.168.3.0/29 area 0
exit
interface gre1
ip ospf authentication message-digest
ip ospf message-digest-key 1 md5 P@ssw0rd
no ip ospf passive
end
do write
show ip ospf neighbors
Содержимое /etc/frr/daemons и команды vtysh
ospfd=yes
Команда или строкаЧто делает и что будет, если пропустить
vim /etc/frr/daemonsОткрывает список демонов FRR. Если не включить ospfd, команда OSPF не появится.
systemctl enable --now frrЗапускает FRR и включает его при загрузке. Если пропустить, OSPF не начнёт работу и не переживёт перезагрузку.
vtyshОткрывает консоль FRR. Если не войти в неё, команды OSPF не будут приняты.
conf tПереходит в режим изменения конфигурации FRR. Если пропустить, последующие строки будут отвергнуты.
router ospfОткрывает настройки процесса OSPF. Без команды маршруты OSPF не настраиваются.
passive-interface defaultОтключает рассылку hello на всех интерфейсах по умолчанию. Если пропустить, соседства могут случайно появиться в пользовательских VLAN.
network 10.10.10.0/30 area 0Включает GRE-сеть в area 0. Без строки HQ-RTR не увидит BR-RTR через туннель.
network 192.168.1.0/28 area 0Объявляет VLAN 100 в OSPF. Если пропустить, BR не узнает маршрут к HQ-SRV.
network 192.168.2.0/28 area 0Объявляет VLAN 200 в OSPF. Если пропустить, BR не узнает маршрут к HQ-CLI.
network 192.168.3.0/29 area 0Объявляет management VLAN. Если пропустить, удалённый офис не узнает путь к VLAN 999.
exitВыходит из router ospf к общему режиму. Если пропустить, команда interface будет введена в неверном контексте.
interface gre1Открывает настройки GRE-интерфейса. Если пропустить, MD5 и снятие passive не применятся к GRE.
ip ospf authentication message-digestВключает MD5-аутентификацию OSPF. Без строки соседство не будет защищено и не совпадёт с BR-RTR.
ip ospf message-digest-key 1 md5 P@ssw0rdЗадаёт ключ 1 и пароль P@ssw0rd. Если пароль или номер ключа отличаются на концах, соседство не станет FULL.
no ip ospf passiveРазрешает hello и соседство на gre1. Если пропустить, passive-interface default заблокирует соседство HQ ↔ BR.
endВыходит в привилегированный режим FRR. Если пропустить, сохранение do write может быть недоступно.
do writeСохраняет конфигурацию FRR. Без команды OSPF-настройка пропадёт после перезапуска FRR.
show ip ospf neighborsПоказывает OSPF-соседей. Без проверки нельзя заметить ошибку пароля или passive-интерфейса.
ospfd=yesВключает демон OSPF в /etc/frr/daemons. Если оставить no, FRR не запустит ospfd.
Зачем это нужно: Пассивными остаются LAN-интерфейсы; рабочее HQ-соседство разрешено только на GRE.
Проверка: В vtysh show ip ospf neighbors показывает BR-RTR в состоянии FULL; show ip route ospf содержит маршруты BR.
BR-RTRВключить OSPF на GRE и на прямом линке к BR-FW
Что делаем: Настроить два активных OSPF-интерфейса: gre1 к HQ-RTR и ens19 к BR-FW, в обоих случаях с тем же MD5.
Команды
vim /etc/frr/daemons
systemctl enable --now frr
vtysh
conf t
router ospf
passive-interface default
network 10.10.10.0/30 area 0
network 172.16.4.0/30 area 0
exit
interface gre1
ip ospf authentication message-digest
ip ospf message-digest-key 1 md5 P@ssw0rd
no ip ospf passive
interface ens19
ip ospf authentication message-digest
ip ospf message-digest-key 1 md5 P@ssw0rd
no ip ospf passive
end
do write
show ip ospf neighbors
Содержимое /etc/frr/daemons и команды vtysh
ospfd=yes
Команда или строкаЧто делает и что будет, если пропустить
vim /etc/frr/daemonsОткрывает список демонов FRR. Если не включить ospfd, OSPF не запустится.
systemctl enable --now frrЗапускает FRR и включает автозапуск. Если пропустить, OSPF не будет работать после перезагрузки.
vtyshОткрывает консоль FRR. Без неё нельзя задать OSPF-команды.
conf tПереходит к изменению конфигурации. Если пропустить, конфигурационные команды будут отклонены.
router ospfОткрывает процесс OSPF. Без команды не появятся объявления сетей и настройки интерфейсов.
passive-interface defaultДелает все интерфейсы пассивными по умолчанию. Без строки можно случайно открыть OSPF там, где сосед не нужен.
network 10.10.10.0/30 area 0Включает GRE-сеть в area 0. Без строки не будет соседства с HQ-RTR.
network 172.16.4.0/30 area 0Включает прямую сеть BR-RTR ↔ BR-FW в area 0. Без строки интерфейс не участвует в OSPF.
exitВыходит из router ospf. Если пропустить, настройки interface будут введены не в тот режим.
interface gre1Открывает GRE-интерфейс. Если пропустить, MD5 и снятие passive не применятся к соседству HQ-RTR.
ip ospf authentication message-digestВключает MD5 OSPF на gre1. Без строки защита не совпадёт с HQ-RTR.
ip ospf message-digest-key 1 md5 P@ssw0rdЗадаёт MD5-пароль P@ssw0rd на gre1. Если ключ отличается от HQ-RTR, соседство не станет FULL.
no ip ospf passiveСнимает пассивность с gre1. Если пропустить, BR-RTR не будет посылать hello HQ-RTR.
interface ens19Открывает прямой интерфейс к BR-FW. Если пропустить, настройки ниже попадут не на тот интерфейс.
ip ospf authentication message-digestВключает MD5 OSPF на ens19. Без строки BR-FW и BR-RTR используют разные режимы аутентификации.
ip ospf message-digest-key 1 md5 P@ssw0rdЗадаёт тот же ключ и пароль P@ssw0rd на ens19. Если не совпадает с BR-FW, соседство не станет FULL.
no ip ospf passiveСнимает passive с ens19 и разрешает соседство с BR-FW. Если пропустить, пассивность по умолчанию блокирует hello и второго соседа не будет.
endВыходит в привилегированный режим FRR. Если пропустить, сохранение конфигурации может не выполниться.
do writeСохраняет конфигурацию FRR. Без команды OSPF-настройка пропадёт при перезапуске.
show ip ospf neighborsПоказывает оба соседства. Если не проверить, ошибка MD5 или passive останется незамеченной.
ospfd=yesВключает ospfd. Если оставить no, FRR не создаст OSPF-процесс.
Зачем это нужно: BR-RTR должен иметь два соседа: туннельный HQ-RTR и непосредственно подключённый BR-FW.
Важно: Простое объяснение: passive-interface default запрещает отправлять hello. Поэтому на ens19 обязательно нужна строка no ip ospf passive; иначе BR-FW не получит соседа, хотя GRE между HQ и BR настроен правильно.
Проверка: На BR-RTR show ip ospf neighbors показывает ровно двух соседей в FULL: HQ-RTR через gre1 и BR-FW через ens19.
BR-FWВключить OSPF к BR-RTR только на ens18
Что делаем: Настроить OSPF и MD5 на единственном прямом интерфейсе к BR-RTR.
Команды
vim /etc/frr/daemons
systemctl enable --now frr
vtysh
conf t
router ospf
passive-interface default
network 172.16.4.0/30 area 0
network 172.16.5.0/28 area 0
exit
interface ens18
ip ospf authentication message-digest
ip ospf message-digest-key 1 md5 P@ssw0rd
no ip ospf passive
end
do write
show ip ospf neighbors
Содержимое /etc/frr/daemons и команды vtysh
ospfd=yes
Команда или строкаЧто делает и что будет, если пропустить
vim /etc/frr/daemonsОткрывает список демонов. Если ospfd не включить, OSPF не запустится.
systemctl enable --now frrЗапускает FRR и включает его при загрузке. Без команды OSPF не будет работать постоянно.
vtyshОткрывает FRR CLI. Если не войти, конфигурация OSPF не будет введена.
conf tПереходит в конфигурационный режим. Если пропустить, FRR отклонит настройку.
router ospfОткрывает процесс OSPF. Без команды сети не будут объявляться.
passive-interface defaultДелает интерфейсы пассивными по умолчанию. Без строки OSPF может начать искать соседей на BR-NET.
network 172.16.4.0/30 area 0Включает линк к BR-RTR в area 0. Без него OSPF на ens18 не образует соседство.
network 172.16.5.0/28 area 0Объявляет BR-NET. Если пропустить, HQ не узнает маршрут к BR-SRV.
exitВыходит из router ospf. Без выхода интерфейсные команды окажутся в неверном контексте.
interface ens18Открывает интерфейс к BR-RTR. Если пропустить, MD5 не будет применён на прямом линке.
ip ospf authentication message-digestВключает MD5-аутентификацию OSPF на ens18. Без строки режим не совпадёт с BR-RTR.
ip ospf message-digest-key 1 md5 P@ssw0rdЗадаёт ключ 1 и пароль P@ssw0rd. Если пароль отличается от BR-RTR, соседство не станет FULL.
no ip ospf passiveСнимает passive с ens18 и разрешает hello к BR-RTR. Если пропустить, BR-FW не увидит соседа.
endВыходит в привилегированный режим. Если пропустить, сохранение не будет выполнено корректно.
do writeСохраняет конфигурацию. Без команды OSPF пропадёт после перезапуска FRR.
show ip ospf neighborsПоказывает соседа BR-RTR. Если не проверить, ошибка в MD5 останется незамеченной.
ospfd=yesВключает OSPF-демон в FRR. Без строки никакого OSPF-соседства не будет.
Зачем это нужно: BR-FW не участвует в GRE: его сосед — BR-RTR на физическом ens18.
Проверка: На BR-FW show ip ospf neighbors показывает BR-RTR в FULL; ens19 остаётся пассивным.

DHCP

HQ-RTRНастроить пул DHCP VLAN 200
Что делаем: Настроить выдачу адресов, шлюза и DNS для HQ-CLI.
Команды
vim /etc/dhcp/dhcpd.conf
cat /etc/dhcp/dhcpd.conf
Содержимое /etc/dhcp/dhcpd.conf
ddns-update-style none;
subnet 192.168.2.0 netmask 255.255.255.240 {
option routers 192.168.2.1;
option subnet-mask 255.255.255.240;
option domain-name "au-team.irpo";
option domain-name-servers 192.168.1.2;
range dynamic-bootp 192.168.2.2 192.168.2.10;
default-lease-time 21600;
max-lease-time 43200;
}
Команда или строкаЧто делает и что будет, если пропустить
vim /etc/dhcp/dhcpd.confОткрывает конфигурацию DHCP-сервера. Если не добавить пул, HQ-CLI не получит адрес, шлюз и DNS.
cat /etc/dhcp/dhcpd.confПоказывает сохранённый конфиг. Если не проверить, опечатка в диапазоне или DNS останется незамеченной.
ddns-update-style none;Отключает динамические DNS-обновления, не нужные в стенде. Если строку пропустить, DHCP может требовать другую политику обновлений.
subnet 192.168.2.0 netmask 255.255.255.240 {Описывает DHCP-подсеть VLAN 200 с маской /28. Без неё сервер не будет раздавать аренды этому сегменту.
option routers 192.168.2.1;Передаёт HQ-RTR как шлюз. Если строку пропустить, клиент не выйдет за пределы VLAN 200.
option subnet-mask 255.255.255.240;Передаёт маску /28. Без строки клиент может определить сеть неверно.
option domain-name "au-team.irpo";Передаёт домен поиска. Если пропустить, короткие имена не будут дополняться доменом.
option domain-name-servers 192.168.1.2;Передаёт HQ-SRV как DNS. Если пропустить, HQ-CLI не получит правильный nameserver.
range dynamic-bootp 192.168.2.2 192.168.2.10;Ограничивает выдачу адресами .2–.10. Если пропустить или расширить диапазон, можно нарушить план адресации.
default-lease-time 21600;Задаёт обычный срок аренды. Без строки будет использовано неявное значение, что усложняет проверку.
max-lease-time 43200;Задаёт максимальный срок аренды. Если пропустить, клиент сможет держать аренду дольше ожидаемого.
}Закрывает блок подсети. Без закрывающей скобки dhcpd не запустится из-за ошибки синтаксиса.
Зачем это нужно: DHCP выдаёт только VLAN 200 и сообщает клиенту адрес DNS HQ-SRV.
Проверка: В конфигурации есть подсеть 192.168.2.0/28, диапазон .2–.10, шлюз .1 и DNS 192.168.1.2.
HQ-RTRОграничить DHCP интерфейсом vlan200 и запустить службу
Что делаем: Сначала записать DHCPDARGS=vlan200, затем один раз включить и запустить dhcpd.
Команды
vim /etc/sysconfig/dhcpd
systemctl enable --now dhcpd
systemctl status dhcpd
cat /etc/sysconfig/dhcpd
Содержимое /etc/sysconfig/dhcpd
DHCPDARGS=vlan200
Команда или строкаЧто делает и что будет, если пропустить
vim /etc/sysconfig/dhcpdОткрывает параметры запуска dhcpd. Если не ограничить интерфейс, DHCP может отвечать в других VLAN.
systemctl enable --now dhcpdЗапускает dhcpd и включает автозапуск. Если пропустить, пул будет описан, но аренды не начнут выдаваться.
systemctl status dhcpdПоказывает состояние DHCP-службы. Без проверки не видно ошибки запуска или синтаксиса конфигурации.
cat /etc/sysconfig/dhcpdПоказывает параметр интерфейса. Если не проверить, dhcpd может слушать не vlan200.
DHCPDARGS=vlan200Ограничивает DHCP-сервер интерфейсом vlan200. Если строку пропустить, он может раздавать адреса в неверном сегменте.
Зачем это нужно: В этом шаге нет дублирующих chkconfig или service: systemctl enable --now dhcpd одновременно запускает и включает службу.
Проверка: dhcpd имеет состояние active; /etc/sysconfig/dhcpd содержит DHCPDARGS=vlan200.
HQ-CLIПерезапросить DHCP-аренду
Что делаем: После запуска dhcpd заново запросить адрес, шлюз и DNS на клиенте.
Команды
systemctl restart network
ip -br a
ip route
cat /etc/resolv.conf
Команда или строкаЧто делает и что будет, если пропустить
systemctl restart networkПерезапускает сеть и заново запрашивает DHCP-аренду. Если пропустить, HQ-CLI может продолжать использовать старые параметры.
ip -br aПоказывает полученный адрес. Если не проверить, нельзя убедиться, что адрес .2–.10.
ip routeПоказывает маршрут, полученный от DHCP. Без проверки неизвестно, пришёл ли шлюз 192.168.2.1.
cat /etc/resolv.confПоказывает DNS из DHCP. Если пропустить, нельзя подтвердить nameserver 192.168.1.2.
Зачем это нужно: На HQ-CLI в resolv.conf не создаётся ручной внешний nameserver.
Проверка: ens18 имеет 192.168.2.2–.10/28; default via 192.168.2.1; resolv.conf содержит nameserver 192.168.1.2.

DNS

HQ-SRVНастроить dnsmasq
Что делаем: Создать локальные A/PTR-записи, форвардер и запустить DNS на VLAN 100.
Команды
vim /etc/dnsmasq.conf
systemctl enable --now dnsmasq
systemctl restart dnsmasq
systemctl status dnsmasq
nslookup hq-rtr.au-team.irpo 192.168.1.2
nslookup 192.168.1.2 192.168.1.2
Содержимое /etc/dnsmasq.conf
no-resolv
domain=au-team.irpo
server=77.88.8.7
interface=ens18
address=/hq-rtr.au-team.irpo/192.168.1.1
address=/br-rtr.au-team.irpo/172.16.2.2
address=/br-fw.au-team.irpo/172.16.4.2
address=/hq-srv.au-team.irpo/192.168.1.2
address=/hq-cli.au-team.irpo/192.168.2.10
address=/br-srv.au-team.irpo/172.16.5.2
address=/docker.au-team.irpo/172.16.1.1
address=/web.au-team.irpo/172.16.2.1
ptr-record=/2.1.168.192.in-addr.arpa,hq-srv.au-team.irpo
ptr-record=/2.5.16.172.in-addr.arpa,br-srv.au-team.irpo
Команда или строкаЧто делает и что будет, если пропустить
vim /etc/dnsmasq.confОткрывает конфигурацию dnsmasq. Если не добавить записи, имена стенда не будут разрешаться.
systemctl enable --now dnsmasqЗапускает dnsmasq и включает его при загрузке. Если пропустить, конфигурация не будет обслуживать запросы.
systemctl restart dnsmasqПеречитывает изменённый dnsmasq.conf. Если пропустить, служба может продолжать использовать прежние записи.
systemctl status dnsmasqПоказывает состояние DNS-службы. Без проверки синтаксическая ошибка может остаться скрытой.
nslookup hq-rtr.au-team.irpo 192.168.1.2Проверяет прямую A-запись через HQ-SRV. Если ответ неверен, DNS-запись или служба настроены неправильно.
nslookup 192.168.1.2 192.168.1.2Проверяет обратную PTR-запись HQ-SRV. Если ответ неверен, ptr-record отсутствует или ошибочен.
no-resolvЗапрещает dnsmasq брать серверы из resolv.conf. Если пропустить, сервер может использовать непредусмотренный DNS.
domain=au-team.irpoЗадаёт домен локальных имён. Без строки локальная зона не будет иметь нужного суффикса.
server=77.88.8.7Задаёт внешний форвардер. Если пропустить, DNS не сможет пересылать незнакомые имена наружу.
interface=ens18Ограничивает прослушивание интерфейсом VLAN 100. Без строки служба может слушать не тот интерфейс.
address=/hq-rtr.au-team.irpo/192.168.1.1Создаёт A-запись HQ-RTR. Без неё это имя не разрешится.
address=/br-rtr.au-team.irpo/172.16.2.2Создаёт A-запись BR-RTR. Без неё удалённый маршрутизатор не найдётся по имени.
address=/br-fw.au-team.irpo/172.16.4.2Создаёт A-запись BR-FW. Без неё межофисный узел не разрешится по имени.
address=/hq-srv.au-team.irpo/192.168.1.2Создаёт A-запись HQ-SRV. Без неё DHCP-клиент не сможет найти DNS по имени.
address=/hq-cli.au-team.irpo/192.168.2.10Создаёт A-запись HQ-CLI с примером .10. Перед итоговой проверкой замените .10 на фактически выданный HQ-CLI адрес из ip -br a, иначе запись не будет соответствовать устройству из таблицы 3 КИМ.
address=/br-srv.au-team.irpo/172.16.5.2Создаёт A-запись BR-SRV. Без неё сервер филиала не найдётся по имени.
address=/docker.au-team.irpo/172.16.1.1Создаёт требуемую локальную запись docker. Если пропустить, имя не разрешится.
address=/web.au-team.irpo/172.16.2.1Создаёт требуемую локальную запись web. Если пропустить, имя не разрешится.
ptr-record=/2.1.168.192.in-addr.arpa,hq-srv.au-team.irpoСоздаёт PTR для 192.168.1.2. Без строки обратный DNS HQ-SRV не ответит.
ptr-record=/2.5.16.172.in-addr.arpa,br-srv.au-team.irpoСоздаёт PTR для 172.16.5.2. Без строки обратный DNS BR-SRV не ответит.
Зачем это нужно: HQ-SRV становится DNS для DHCP-клиента и остальных машин стенда.
Проверка: dnsmasq active; hq-rtr.au-team.irpo возвращает 192.168.1.1; 192.168.1.2 возвращает hq-srv.au-team.irpo.

SSH

HQ-SRVНастроить защищённый SSH на порту 2027
Что делаем: Настроить уже установленный OpenSSH для входа только sshuser.
Команды
systemctl enable --now sshd
vim /etc/openssh/sshd_config
vim /etc/openssh/bannermotd
systemctl restart sshd
systemctl status sshd
ss -lntp | grep 2027
ssh sshuser@192.168.1.2 -p 2027
Содержимое /etc/openssh/sshd_config и /etc/openssh/bannermotd
Port 2027
AllowUsers sshuser
MaxAuthTries 2
Banner /etc/openssh/bannermotd
Authorized access only
Команда или строкаЧто делает и что будет, если пропустить
systemctl enable --now sshdЗапускает sshd и включает автозапуск. Если пропустить, сервер не начнёт принимать SSH-подключения. Конфиг правится уже после запуска, поэтому ниже нужен restart.
vim /etc/openssh/sshd_configОткрывает параметры sshd. Если не записать их, служба останется на стандартном порту или разрешит лишних пользователей.
vim /etc/openssh/bannermotdОткрывает текст предупреждающего баннера. Если не создать файл, sshd не покажет требуемое сообщение.
systemctl restart sshdПерезапускает sshd, чтобы он заново прочитал sshd_config. Если пропустить, служба останется на старом порту 22 и порт 2027 не заработает.
systemctl status sshdПоказывает состояние службы (должно быть active (running)). Если не проверить, ошибку запуска, например опечатку в конфиге, можно не заметить.
ss -lntp | grep 2027Показывает прослушивание TCP-порта 2027. Если не проверить, ошибка в конфигурации порта может остаться незамеченной.
ssh sshuser@192.168.1.2 -p 2027Проверяет вход на заданный сервер как sshuser по порту 2027. Если подключение не удаётся, нужно проверить сеть, sshd и AllowUsers.
Port 2027Переносит SSH на порт 2027. Если пропустить, проверка на требуемом порту завершится ошибкой.
AllowUsers sshuserРазрешает SSH только sshuser. Без строки смогут входить другие пользователи, что нарушит ограничение.
MaxAuthTries 2Ограничивает число попыток аутентификации двумя. Если пропустить, останется менее строгий режим.
Banner /etc/openssh/bannermotdУказывает sshd файл баннера. Без строки пользователь не увидит предупреждение.
Authorized access onlyТекст баннера. Если не записать его в bannermotd, требуемое сообщение не появится.
Зачем это нужно: Одинаковая политика SSH применяется на HQ-SRV и BR-SRV.
Проверка: Порт 2027 слушается; подключение как sshuser к 192.168.1.2 показывает баннер Authorized access only и запрашивает пароль.
BR-SRVНастроить защищённый SSH на порту 2027
Что делаем: Настроить уже установленный OpenSSH для входа только sshuser.
Команды
systemctl enable --now sshd
vim /etc/openssh/sshd_config
vim /etc/openssh/bannermotd
systemctl restart sshd
systemctl status sshd
ss -lntp | grep 2027
ssh sshuser@172.16.5.2 -p 2027
Содержимое /etc/openssh/sshd_config и /etc/openssh/bannermotd
Port 2027
AllowUsers sshuser
MaxAuthTries 2
Banner /etc/openssh/bannermotd
Authorized access only
Команда или строкаЧто делает и что будет, если пропустить
systemctl enable --now sshdЗапускает sshd и включает автозапуск. Если пропустить, сервер не начнёт принимать SSH-подключения. Конфиг правится уже после запуска, поэтому ниже нужен restart.
vim /etc/openssh/sshd_configОткрывает параметры sshd. Если не записать их, служба останется на стандартном порту или разрешит лишних пользователей.
vim /etc/openssh/bannermotdОткрывает текст предупреждающего баннера. Если не создать файл, sshd не покажет требуемое сообщение.
systemctl restart sshdПерезапускает sshd, чтобы он заново прочитал sshd_config. Если пропустить, служба останется на старом порту 22 и порт 2027 не заработает.
systemctl status sshdПоказывает состояние службы (должно быть active (running)). Если не проверить, ошибку запуска, например опечатку в конфиге, можно не заметить.
ss -lntp | grep 2027Показывает прослушивание TCP-порта 2027. Если не проверить, ошибка в конфигурации порта может остаться незамеченной.
ssh sshuser@172.16.5.2 -p 2027Проверяет вход на заданный сервер как sshuser по порту 2027. Если подключение не удаётся, нужно проверить сеть, sshd и AllowUsers.
Port 2027Переносит SSH на порт 2027. Если пропустить, проверка на требуемом порту завершится ошибкой.
AllowUsers sshuserРазрешает SSH только sshuser. Без строки смогут входить другие пользователи, что нарушит ограничение.
MaxAuthTries 2Ограничивает число попыток аутентификации двумя. Если пропустить, останется менее строгий режим.
Banner /etc/openssh/bannermotdУказывает sshd файл баннера. Без строки пользователь не увидит предупреждение.
Authorized access onlyТекст баннера. Если не записать его в bannermotd, требуемое сообщение не появится.
Зачем это нужно: Одинаковая политика SSH применяется на HQ-SRV и BR-SRV.
Проверка: Порт 2027 слушается; подключение как sshuser к 172.16.5.2 показывает баннер Authorized access only и запрашивает пароль.

4. Итоговая проверка

Проверки сгруппированы по темам и машинам. У каждой команды указано, что она показывает и какой вывод считать правильным.

Адреса и маршруты

ISPip -br a; ip route
Показывает: Адреса всех карт и путь по умолчанию ISP.
Правильный результат: ens18 получил DHCP-адрес; ens19 — 172.16.1.1/28; ens20 — 172.16.2.1/28; есть маршрут наружу.
HQ-RTRip -br a; ip route; sysctl net.ipv4.ip_forward
Показывает: Адрес WAN, адреса VLAN, default route и forwarding.
Правильный результат: ens18 — 172.16.1.2/28; vlan100/200/999 — .1 с нужными масками; default via 172.16.1.1; net.ipv4.ip_forward = 1.
HQ-SRVip -br a; ip route
Показывает: Статический адрес и шлюз DNS/SSH-сервера.
Правильный результат: ens18 — 192.168.1.2/28; default via 192.168.1.1.
HQ-CLIip -br a; ip route
Показывает: DHCP-адрес и маршрут клиента.
Правильный результат: Адрес входит в 192.168.2.2–192.168.2.10/28; default via 192.168.2.1.
BR-RTRip -br a; ip route; sysctl net.ipv4.ip_forward
Показывает: Адреса ISP-BR/FW-NET, шлюз и маршрутизацию.
Правильный результат: ens18 — 172.16.2.2/28; ens19 — 172.16.4.1/30; default via 172.16.2.1; net.ipv4.ip_forward = 1.
BR-FWip -br a; ip route; sysctl net.ipv4.ip_forward
Показывает: Адреса FW-NET/BR-NET, шлюз и пересылку.
Правильный результат: ens18 — 172.16.4.2/30; ens19 — 172.16.5.1/28; default via 172.16.4.1; net.ipv4.ip_forward = 1.
BR-SRVip -br a; ip route
Показывает: Статический адрес и шлюз сервера филиала.
Правильный результат: ens18 — 172.16.5.2/28; default via 172.16.5.1.

Имена устройств и часовой пояс

ISPhostnamectl --static; timedatectl
Показывает: Имя ISP и часовой пояс устройства.
Правильный результат: Статическое имя — ISP; часовой пояс соответствует месту экзамена (в принятом варианте Europe/Samara).
HQ-RTRhostnamectl --static; timedatectl
Показывает: FQDN и часовой пояс HQ-RTR.
Правильный результат: hq-rtr.au-team.irpo; Europe/Samara.
BR-RTRhostnamectl --static; timedatectl
Показывает: FQDN и часовой пояс BR-RTR.
Правильный результат: br-rtr.au-team.irpo; Europe/Samara.
BR-FWhostnamectl --static; timedatectl
Показывает: FQDN и часовой пояс BR-FW.
Правильный результат: br-fw.au-team.irpo; Europe/Samara.
HQ-SRVhostnamectl --static; timedatectl
Показывает: FQDN и часовой пояс HQ-SRV.
Правильный результат: hq-srv.au-team.irpo; Europe/Samara.
HQ-CLIhostnamectl --static; timedatectl
Показывает: FQDN и часовой пояс HQ-CLI.
Правильный результат: hq-cli.au-team.irpo; Europe/Samara.
BR-SRVhostnamectl --static; timedatectl
Показывает: FQDN и часовой пояс BR-SRV.
Правильный результат: br-srv.au-team.irpo; Europe/Samara.
Сверка с КИМ: это проверяет п. 1 (имена из таблицы 3) и п. 11. виртуальный коммутатор HQ-SW намеренно не включён в проверку часового пояса: КИМ делает для него исключение.

Преобразование адресов и выход в интернет

ISPiptables -t nat -S; test -s /etc/sysconfig/iptables; systemctl is-enabled iptables
Показывает: Правило NAT, сохранённый файл и автозапуск ISP.
Правильный результат: Есть POSTROUTING -o ens18 -j MASQUERADE; файл правил не пуст; служба имеет состояние enabled.
HQ-RTRiptables -t nat -S; test -s /etc/sysconfig/iptables; systemctl is-enabled iptables
Показывает: Три обязательные части NAT HQ-RTR.
Правильный результат: Есть MASQUERADE через ens18; /etc/sysconfig/iptables не пуст; iptables — enabled.
BR-RTRiptables -t nat -S; test -s /etc/sysconfig/iptables; systemctl is-enabled iptables
Показывает: Три обязательные части NAT BR-RTR.
Правильный результат: Есть MASQUERADE через ens18; правила сохранены; iptables — enabled.
HQ-CLIping -c 3 77.88.8.7
Показывает: Выход HQ через NAT без зависимости от DNS.
Правильный результат: Получены ответы на все или большинство из трёх запросов.
BR-SRVping -c 3 77.88.8.7
Показывает: Выход BR-NET через BR-FW, BR-RTR и NAT.
Правильный результат: Получены ответы; при отсутствии проверить маршрут, ip_forward и MASQUERADE на BR-RTR.

OVS и VLAN

HQ-RTRovs-vsctl show; ip -br a
Показывает: Мост br0, порт trunk и адреса VLAN-шлюзов.
Правильный результат: br0 содержит физический порт в сегмент HQ и internal vlan100 tag 100, vlan200 tag 200, vlan999 tag 999; адреса .1 назначены.
HQ-RTRovs-vsctl show; ip -br a
Показывает: Виртуальный коммутатор HQ-SW внутри HQ-RTR, physical trunk и VLAN-порты.
Правильный результат: br0 содержит ens19 и internal vlan100 tag 100, vlan200 tag 200, vlan999 tag 999; адреса шлюзов назначены на HQ-RTR.

GRE

HQ-RTRip a show gre1; ping -c 3 10.10.10.2
Показывает: Состояние HQ-конца туннеля и связь с BR.
Правильный результат: gre1 имеет 10.10.10.1/30 и пинг 10.10.10.2 отвечает.
BR-RTRip a show gre1; ping -c 3 10.10.10.1
Показывает: Состояние BR-конца туннеля и связь с HQ.
Правильный результат: gre1 имеет 10.10.10.2/30 и пинг 10.10.10.1 отвечает.

OSPF

HQ-RTRvtysh -c "show ip ospf neighbors"
Показывает: Соседа HQ-RTR по GRE.
Правильный результат: Есть BR-RTR в состоянии FULL; соседство защищено MD5.
BR-RTRvtysh -c "show ip ospf neighbors"
Показывает: Оба соседства BR-RTR.
Правильный результат: Ровно два соседа в FULL: HQ-RTR через gre1 и BR-FW через ens19.
BR-FWvtysh -c "show ip ospf neighbors"; vtysh -c "show ip ospf interface ens18"
Показывает: Соседа BR-FW и параметры прямого OSPF-интерфейса.
Правильный результат: BR-RTR — FULL; ens18 использует message-digest/MD5; ens19 остаётся пассивным.
HQ-SRVping -c 3 172.16.5.2
Показывает: Сквозной путь до сервера филиала через OSPF.
Правильный результат: BR-SRV отвечает; отсутствие ответа означает проверить соседства BR-RTR ↔ BR-FW и маршруты OSPF.

DHCP

HQ-RTRcat /etc/sysconfig/dhcpd; systemctl status dhcpd; grep -E "range|domain-name-servers|option routers" /etc/dhcp/dhcpd.conf
Показывает: Интерфейс службы, её статус, диапазон, шлюз и DNS.
Правильный результат: DHCPDARGS=vlan200; dhcpd active; диапазон .2–.10, шлюз 192.168.2.1, DNS 192.168.1.2.
HQ-CLIsystemctl restart network; ip -br a; ip route; cat /etc/resolv.conf
Показывает: Новую DHCP-аренду со всеми параметрами.
Правильный результат: Адрес .2–.10/28; default via 192.168.2.1; nameserver 192.168.1.2. Вручную заданного внешнего nameserver нет.

DNS

HQ-SRVsystemctl status dnsmasq
Показывает: Запуск DNS-сервера.
Правильный результат: dnsmasq имеет состояние active (running).
HQ-CLInslookup hq-rtr.au-team.irpo 192.168.1.2
Показывает: Прямое разрешение A-записи через HQ-SRV.
Правильный результат: Ответ содержит 192.168.1.1.
HQ-CLInslookup 192.168.1.2 192.168.1.2; nslookup 172.16.5.2 192.168.1.2
Показывает: Обратные PTR-записи HQ-SRV и BR-SRV.
Правильный результат: Ответы содержат hq-srv.au-team.irpo и br-srv.au-team.irpo.
HQ-CLIfor n in hq-rtr.au-team.irpo br-rtr.au-team.irpo br-fw.au-team.irpo hq-srv.au-team.irpo hq-cli.au-team.irpo br-srv.au-team.irpo docker.au-team.irpo web.au-team.irpo; do nslookup "$n" 192.168.1.2; done
Показывает: Все A-записи таблицы 3 КИМ через основной DNS на HQ-SRV.
Правильный результат: Имена возвращают адреса из таблицы адресации: hq-rtr — 192.168.1.1, br-rtr — 172.16.2.2, br-fw — 172.16.4.2, hq-srv — 192.168.1.2, br-srv — 172.16.5.2, docker — 172.16.1.1, web — 172.16.2.1. Для hq-cli ответ обязан совпасть с фактически выданным сейчас DHCP-адресом из ip -br a.

SSH

HQ-SRVss -lntp | grep 2027; ssh sshuser@192.168.1.2 -p 2027
Показывает: Порт SSH HQ и вход разрешённого пользователя.
Правильный результат: Порт 2027 прослушивается; показан баннер Authorized access only; sshuser может войти с P@ssw0rd.
BR-SRVss -lntp | grep 2027; ssh sshuser@172.16.5.2 -p 2027
Показывает: Порт SSH BR и вход разрешённого пользователя.
Правильный результат: Порт 2027 прослушивается; показан баннер; sshuser может войти с P@ssw0rd.

Пользователи

HQ-RTRid net_admin; sudo -l -U net_admin
Показывает: Учётную запись и правило sudo HQ-RTR.
Правильный результат: Есть net_admin в группе wheel; sudo разрешён без пароля.
BR-RTRid net_admin; sudo -l -U net_admin
Показывает: Учётную запись и правило sudo BR-RTR.
Правильный результат: Есть net_admin в группе wheel; sudo разрешён без пароля.
HQ-SRVid sshuser; sudo -l -U sshuser
Показывает: UID и права SSH-пользователя HQ.
Правильный результат: sshuser имеет uid=2027; sudo разрешён без пароля.
BR-SRVid sshuser; sudo -l -U sshuser
Показывает: UID и права SSH-пользователя BR.
Правильный результат: sshuser имеет uid=2027; sudo разрешён без пароля.

5. Расхождения и ПРОВЕРИТЬ

Расхождения, зафиксированные в инструкции

  • OSPF BR-RTR ↔ BR-FW: КИМ, п. 7, разрешает OSPF на туннельных интерфейсах HQ-RTR/BR-RTR и на BR-FW — только в сторону BR-RTR. Для реального двухстороннего соседства на прямом линке 172.16.4.0/30 этого недостаточно: добавлены MD5 и no ip ospf passive на BR-RTR/ens19 и BR-FW/ens18. Это осознанное уточнение к формулировке КИМ: без него BR-FW не увидит соседа, а HQ не получит маршрут к BR-SRV.
  • NAT BR-FW: NAT на BR-FW не настраивается: КИМ требует его на ISP, HQ-RTR и BR-RTR. Это устраняет лишнее двойное преобразование адресов.
  • DNS HQ-CLI: ручная строка внешнего nameserver на HQ-CLI удалена. Правильный DNS приходит по DHCP: 192.168.1.2 (HQ-SRV).
  • A-запись HQ-CLI: КИМ (п. 10, таблица 3) требует A-запись этого устройства, но адрес приходит динамически. Пример 192.168.2.10 в dnsmasq допустим только если именно этот адрес выдан; перед финальной проверкой A-запись заменяется на текущий адрес из ip -br a на HQ-CLI.
  • sysctl: для этой настройки используется перезапуск сети, а не команда загрузки другого системного файла. Здесь правится /etc/net/sysctl.conf, поэтому параметры применяются через systemctl restart network и проверяются sysctl net.ipv4.ip_forward.

ПРОВЕРИТЬ на стенде

  • Реальные имена портов на каждой ВМ, особенно физический порт HQ-RTR в сегмент HQ.
  • Доступность DNS 192.168.20.10 и внешнего форвардера 77.88.8.7 из конкретной экзаменационной сети.
  • Имя systemd-юнита Open vSwitch и SSH в образе ALT Linux: в инструкции использованы openvswitch и sshd.
  • Что адресная таблица конкретного стенда совпадает с принятым вариантом 172.16.4.0/30 и 172.16.5.0/28.
  • После всего цикла: BR-RTR показывает двух OSPF-соседей FULL, а HQ-SRV пингует 172.16.5.2.

Типовые опечатки, которые не нужно переносить: ip_foward → ip_forward; netowork → network; Systemctl → systemctl; HR-RTR → HQ-RTR.

6. Чек-лист самостоятельной настройки

0 из 36 выполнено
ISP
0/4
HQ-RTR
0/7
HQ-SRV
0/3
HQ-CLI
0/2
BR-RTR
0/7
BR-FW
0/4
BR-SRV
0/3
Сквозные проверки
0/6
Что легко забыть
  • После каждого изменения файлов /etc/net/ifaces запустить systemctl restart network и проверить ip -br a.
  • Установить tzdata до timedatectl set-timezone, а sudo — до правки sudoers.
  • На HQ-RTR и BR-RTR сохранить NAT в /etc/sysconfig/iptables и включить службу iptables.
  • На BR-RTR снять passive и включить тот же MD5 на ens19; на BR-FW сделать то же на ens18.
  • На HQ-CLI не писать вручную nameserver 192.168.20.10: DNS 192.168.1.2 приходит по DHCP.