Решение первого модуля Демоэкзамена СиСА 2025

Необходимо разработать и настроить инфраструктуру информационно- коммуникационной системы согласно предложенной топологии (см. Рисунок 1)

Задание включает базовую настройку устройств:

  • присвоение имен устройствам
    • расчет IP-адресации
    • настройку коммутации и маршрутизации

В ходе проектирования и настройки сетевой инфраструктуры следует вести отчет о своих действиях, включая таблицы и схемы, предусмотренные в задании

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

Итоговый отчет по окончании работы следует сохранить на диске рабочего места и задать имя файла — ФамилияУчастникаМодуль1 без учёта расширения

Рисунок 1. Топология сети

Таблица 1

Имя виртуальной машиныОперативная памятьЦентральный процессор, ядерНакопительОперационная система
ISP1 Гб1 ядро5 ГбДистрибутив Альт JeOS или аналог
HQ-RTR1 Гб в случае использования дистрибутива Linux1 ядро в случае использования10 ГбАльт JeOS или аналог
    
BR-RTR1 Гб в случае использования дистрибутива Linux1 ядро в случае использования дистрибутива Linux10 ГбАльт JeOS или аналог
HQ-SRV2 Гб1 ядро10 ГбОС Альт сервер или аналог
BR-SRV2 Гб1 ядро10 ГбОС Альт сервер или аналог
HQ-CLI2 Гб2 ядра15 ГбОС Альт рабочая станция или аналог
Итого9 в случае использования ОС Альт или аналога7 в случае использования ОС Альт или аналога60 Гб   

Все возможные изменения будут выделены в тексте (Вот так)

Модуль 1. Настройка сетевой инфраструктуры — инструкция по выполнению

0. Что нельзя автоматизировать (настройка в Proxmox)

Скрипты настраивают всё внутри ВМ. Но есть вещи, которые делаются в свойствах ВМ в Proxmox:

Не забудьте указать тэг VLAN на ВМ HQ-SRV и HQ-CLI

Память, CPU, диск

Характеристики ВМ указаны в Таблице 1 задания. При создании ВМ:

ВМRAMCPUДиск
ISP1 ГБ1 ядро5 ГБ
HQ-RTR1 ГБ1 ядро10 ГБ
BR-RTR1 ГБ1 ядро10 ГБ
HQ-SRV2 ГБ1 ядро10 ГБ
BR-SRV2 ГБ1 ядро10 ГБ
HQ-CLI2 ГБ2 ядра15 ГБ

Порядок выполнения

Рекомендуемый порядок: ISP → HQ-RTR → BR-RTR → HQ-SRV → BR-SRV → HQ-CLI

Маршрутизаторы (ISP, HQ-RTR, BR-RTR) первыми, потому что серверы ссылаются на них как на шлюзы. Машины внутри одного офиса (HQ) зависят от HQ-RTR.


В каждом разделе ниже:

  • Сначала ручная настройка с пояснением команд
  • Затем блок для копипаста — можно вставить в консоль ВМ одной портянкой

1. ISP — магистральный маршрутизатор

Роль: шлюз в интернет для HQ и BR. Раздаёт NAT, соединяет два офиса с «провайдером».

ИнтерфейсIP/сетьНазначение
enp7s1DHCPВ сторону провайдера
enp7s2172.16.1.1/28В сторону HQ-RTR
enp7s3172.16.2.1/28В сторону BR-RTR

Ручная настройка

# 1. Имя устройства (п.1 задания)
hostnamectl set-hostname ISP.au-team.irpo

# 2. Настройка интерфейсов
cd /etc/net/ifaces/

# Интерфейс в сторону HQ-RTR (п.2 — сеть 172.16.1.0/28). 
mkdir -p enp7s2
echo "TYPE=eth" > enp7s2/options
echo "172.16.1.1/28" > enp7s2/ipv4address

# Интерфейс в сторону BR-RTR (п.2 — сеть 172.16.2.0/28)
mkdir -p enp7s3
echo "TYPE=eth" > enp7s3/options
echo "172.16.2.1/28" > enp7s3/ipv4address

# 3. Включаем IP forwarding (чтобы пакеты ходили между интерфейсами)
sed -i 's/net.ipv4.ip_forward = 0/net.ipv4.ip_forward = 1/' /etc/net/sysctl.conf
systemctl restart network

# 4. Проверяем что интерфейсы поднялись
ip -br a
# 5. NAT — динамическая трансляция для HQ-RTR и BR-RTR (п.2, п.8)
apt-get update && apt-get install iptables tzdata -y

# Маскарадинг: все кто выходят через enp7s1 (интернет) получают адрес ISP
iptables -t nat -A POSTROUTING -o enp7s1 -j MASQUERADE
iptables-save >> /etc/sysconfig/iptables
systemctl enable --now iptables

# 6. Часовой пояс (п.11)
timedatectl set-timezone Asia/Yekaterinburg

Копипаст (весь ISP одним блоком)

hostnamectl set-hostname ISP.au-team.irpo
cd /etc/net/ifaces/
mkdir -p enp7s2
echo "TYPE=eth" > enp7s2/options
echo "172.16.1.1/28" > enp7s2/ipv4address
mkdir -p enp7s3
echo "TYPE=eth" > enp7s3/options
echo "172.16.2.1/28" > enp7s3/ipv4address
sed -i 's/net.ipv4.ip_forward = 0/net.ipv4.ip_forward = 1/' /etc/net/sysctl.conf
systemctl restart network
ip -br a
apt-get update && apt-get install iptables tzdata -y
iptables -t nat -A POSTROUTING -o enp7s1 -j MASQUERADE
iptables-save >> /etc/sysconfig/iptables
systemctl enable --now iptables
timedatectl set-timezone Asia/Yekaterinburg

Проверка

hostname                          # должно быть ISP.au-team.irpo
ip -br a                          # enp7s2=172.16.1.1, enp7s3=172.16.2.1
iptables -t nat -L POSTROUTING -v # должна быть строчка MASQUERADE на enp7s1
ping 172.16.1.2                   # пингуем HQ-RTR (после его настройки)
ping 172.16.2.2                   # пингуем BR-RTR (после его настройки)

2. HQ-RTR — маршрутизатор офиса HQ

Роль: ядро сети HQ. Маршрутизация между VLAN, DHCP-сервер для HQ-CLI, OSPF-туннель в BR, NAT в интернет.

ИнтерфейсIP/сетьVLANНазначение
enp7s1172.16.1.2/28В сторону ISP
enp7s2транкТранковый порт в сторону HQ-SRV/HQ-CLI
enp7s2.100192.168.100.1/27100Управление + HQ-SRV
enp7s2.200192.168.200.1/28200Клиентская сеть HQ-CLI
enp7s2.999192.168.99.1/29999Сеть управления
gre110.10.10.1/30Туннель в BR-RTR

Ручная настройка

# 1. Имя устройства (п.1)
hostnamectl set-hostname HQ-RTR.au-team.irpo

# 2. Интерфейсы
cd /etc/net/ifaces/

# Интерфейс в сторону ISP (п.2)
mkdir -p enp7s1
echo "TYPE=eth" > enp7s1/options
echo "172.16.1.2/28" > enp7s1/ipv4address
echo "default via 172.16.1.1" > enp7s1/ipv4route
echo "nameserver 192.168.100.2" > /etc/net/ifaces/enp7s1/resolv.conf
echo "search au-team.irpo" >> /etc/net/ifaces/enp7s1/resolv.conf
# 3. Коммутация — VLAN-интерфейсы на одном физическом порту enp7s2 (п.4)
mkdir -p enp7s2 
echo "TYPE=eth" > enp7s2/options 

# VLAN 100 — сеть управления (не более 32 адресов → /27)
mkdir -p enp7s2.100 
echo "TYPE=vlan" > enp7s2.100/options 
echo "HOST=enp7s2" >> enp7s2.100/options 
echo "VID=100" >> enp7s2.100/options 
echo "BOOTPROTO=static" >> enp7s2.100/options 
echo "192.168.100.1/27" > enp7s2.100/ipv4address 

# VLAN 200 — клиентская сеть (не менее 16 адресов → /28)
mkdir -p enp7s2.200 
echo "TYPE=vlan" > enp7s2.200/options 
echo "HOST=enp7s2" >> enp7s2.200/options 
echo "VID=200" >> enp7s2.200/options 
echo "BOOTPROTO=static" >> enp7s2.200/options 
echo "192.168.200.1/28" > enp7s2.200/ipv4address 

# VLAN 999 — сеть управления (не более 8 адресов → /29)
mkdir -p enp7s2.999 
echo "TYPE=vlan" > enp7s2.999/options 
echo "HOST=enp7s2" >> enp7s2.999/options 
echo "VID=999" >> enp7s2.999/options 
echo "BOOTPROTO=static" >> enp7s2.999/options 
echo "192.168.99.1/29" > enp7s2.999/ipv4address
# 4. GRE-туннель в BR-RTR (п.6)
mkdir -p gre1
echo "TYPE=iptun" > gre1/options
echo "TUNTYPE=gre" >> gre1/options
echo "TUNLOCAL=172.16.1.2" >> gre1/options      # наш адрес
echo "TUNREMOTE=172.16.2.2" >> gre1/options     # адрес BR-RTR
echo "TUNTTL=64" >> gre1/options
echo "TUNOPTIONS='ttl 64'" >> gre1/options
echo "10.10.10.1/30" > gre1/ipv4address

# Включаем IP forwarding и применяем сеть
sed -i 's/net.ipv4.ip_forward = 0/net.ipv4.ip_forward = 1/' /etc/net/sysctl.conf
systemctl restart network
# 5. Пользователь net_admin (п.3)
useradd net_admin
echo "net_admin:P@ssw0rd" | chpasswd

# 6. Пакеты: sudo, iptables (NAT), frr (OSPF), dnsmasq (DHCP) (п.7,8,9)
apt-get update && apt-get install sudo iptables frr dnsmasq -y
echo "net_admin ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/net_admin
chmod 440 /etc/sudoers.d/net_admin
# 7. DHCP-сервер для HQ-CLI (п.9)
# Раздаём адреса в VLAN 200, кроме адреса маршрутизатора (.1)
echo "interface=enp7s2.200" > /etc/dnsmasq.conf.d/hq-cli.conf
echo "dhcp-range=192.168.200.2,192.168.200.14,12h" >> /etc/dnsmasq.conf.d/hq-cli.conf
echo "dhcp-option=3,192.168.200.1" >> /etc/dnsmasq.conf.d/hq-cli.conf       # шлюз
echo "dhcp-option=6,192.168.100.2" >> /etc/dnsmasq.conf.d/hq-cli.conf       # DNS
echo "dhcp-option=15,au-team.irpo" >> /etc/dnsmasq.conf.d/hq-cli.conf       # домен
systemctl enable --now dnsmasq
# 8. OSPF — динамическая маршрутизация через GRE-туннель (п.7)
# Включаем ospfd в FRR
sed -i 's/ospfd=no/ospfd=yes/' /etc/frr/daemons

# Конфигурация OSPF с аутентификацией
cat <<'EOT' > /etc/frr/frr.conf
interface gre1
 ip ospf area 0.0.0.0
 ip ospf authentication
 ip ospf authentication-key P@$$word
 no ip ospf passive
exit
!
interface enp7s2.100
 ip ospf area 0.0.0.0
exit
!
interface enp7s2.200
 ip ospf area 0.0.0.0
exit
!
interface enp7s2.999
 ip ospf area 0.0.0.0
exit
!
router ospf
 passive-interface default
exit
EOT
systemctl enable --now frr
# 9. NAT для офиса HQ (п.8)
iptables -t nat -A POSTROUTING -o enp7s1 -j MASQUERADE
iptables-save >> /etc/sysconfig/iptables
systemctl enable --now iptables

# 10. Часовой пояс (п.11)
timedatectl set-timezone Asia/Yekaterinburg

Копипаст (весь HQ-RTR одним блоком)

hostnamectl set-hostname HQ-RTR.au-team.irpo
cd /etc/net/ifaces/
mkdir -p enp7s1
echo "TYPE=eth" > enp7s1/options
echo "172.16.1.2/28" > enp7s1/ipv4address
echo "default via 172.16.1.1" > enp7s1/ipv4route
echo "nameserver 192.168.100.2" > /etc/net/ifaces/enp7s1/resolv.conf
echo "search au-team.irpo" >> /etc/net/ifaces/enp7s1/resolv.conf
mkdir -p enp7s2 
echo "TYPE=eth" > enp7s2/options 
mkdir -p enp7s2.100 
echo "TYPE=vlan" > enp7s2.100/options 
echo "HOST=enp7s2" >> enp7s2.100/options 
echo "VID=100" >> enp7s2.100/options 
echo "BOOTPROTO=static" >> enp7s2.100/options 
echo "192.168.100.1/27" > enp7s2.100/ipv4address 
mkdir -p enp7s2.200 
echo "TYPE=vlan" > enp7s2.200/options 
echo "HOST=enp7s2" >> enp7s2.200/options 
echo "VID=200" >> enp7s2.200/options 
echo "BOOTPROTO=static" >> enp7s2.200/options 
echo "192.168.200.1/28" > enp7s2.200/ipv4address 
mkdir -p enp7s2.999 
echo "TYPE=vlan" > enp7s2.999/options 
echo "HOST=enp7s2" >> enp7s2.999/options 
echo "VID=999" >> enp7s2.999/options 
echo "BOOTPROTO=static" >> enp7s2.999/options 
echo "192.168.99.1/29" > enp7s2.999/ipv4address
mkdir -p gre1
echo "TYPE=iptun" > gre1/options
echo "TUNTYPE=gre" >> gre1/options
echo "TUNLOCAL=172.16.1.2" >> gre1/options
echo "TUNREMOTE=172.16.2.2" >> gre1/options
echo "TUNTTL=64" >> gre1/options
echo "TUNOPTIONS='ttl 64'" >> gre1/options
echo "10.10.10.1/30" > gre1/ipv4address
sed -i 's/net.ipv4.ip_forward = 0/net.ipv4.ip_forward = 1/' /etc/net/sysctl.conf
systemctl restart network
useradd net_admin
echo "net_admin:P@ssw0rd" | chpasswd
apt-get update && apt-get install sudo iptables frr dnsmasq -y
echo "net_admin ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/net_admin
chmod 440 /etc/sudoers.d/net_admin
echo "interface=enp7s2.200" > /etc/dnsmasq.conf.d/hq-cli.conf
echo "dhcp-range=192.168.200.2,192.168.200.14,12h" >> /etc/dnsmasq.conf.d/hq-cli.conf
echo "dhcp-option=3,192.168.200.1" >> /etc/dnsmasq.conf.d/hq-cli.conf
echo "dhcp-option=6,192.168.100.2" >> /etc/dnsmasq.conf.d/hq-cli.conf
echo "dhcp-option=15,au-team.irpo" >> /etc/dnsmasq.conf.d/hq-cli.conf
systemctl enable --now dnsmasq
sed -i 's/ospfd=no/ospfd=yes/' /etc/frr/daemons
cat <<'EOT' > /etc/frr/frr.conf
interface gre1
 ip ospf area 0.0.0.0
 ip ospf authentication
 ip ospf authentication-key P@$$word
 no ip ospf passive
exit
!
interface enp7s2.100
 ip ospf area 0.0.0.0
exit
!
interface enp7s2.200
 ip ospf area 0.0.0.0
exit
!
interface enp7s2.999
 ip ospf area 0.0.0.0
exit
!
router ospf
 passive-interface default
exit
EOT
systemctl enable --now frr
iptables -t nat -A POSTROUTING -o enp7s1 -j MASQUERADE
iptables-save >> /etc/sysconfig/iptables
systemctl enable --now iptables
timedatectl set-timezone Asia/Yekaterinburg

Проверка

hostname                          # HQ-RTR.au-team.irpo
ip -br a                          # enp7s1=172.16.1.2, enp7s2.100=192.168.100.1, enp7s2.200=192.168.200.1, gre1=10.10.10.1
ping 172.16.1.1                   # пинг ISP
ping 10.10.10.2                   # пинг BR-RTR через туннель (после его настройки)
systemctl status dnsmasq          # должен быть active
systemctl status frr              # должен быть active


3. BR-RTR — маршрутизатор офиса BR

Роль: ядро сети BR. GRE-туннель в HQ, OSPF, NAT, пользователь net_admin.

ИнтерфейсIP/сетьНазначение
enp7s1172.16.2.2/28В сторону ISP
enp7s2192.168.10.1/28Локальная сеть BR
gre110.10.10.2/30Туннель в HQ-RTR

Ручная настройка

# 1. Имя устройства (п.1)
hostnamectl set-hostname BR-RTR.au-team.irpo

# 2. Интерфейсы
cd /etc/net/ifaces/

# Интерфейс в сторону ISP (п.2)
mkdir -p enp7s1
echo "TYPE=eth" > enp7s1/options
echo "172.16.2.2/28" > enp7s1/ipv4address
echo "default via 172.16.2.1" > enp7s1/ipv4route
echo "nameserver 192.168.100.2" > /etc/net/ifaces/enp7s1/resolv.conf
echo "search au-team.irpo" >> /etc/net/ifaces/enp7s1/resolv.conf

# Локальная сеть BR (п.1 — не более 16 адресов → /28)
mkdir -p enp7s2
echo "TYPE=eth" > enp7s2/options
echo "192.168.10.1/28" > enp7s2/ipv4address
# 3. GRE-туннель в HQ-RTR (п.6)
mkdir -p gre1
echo "TYPE=iptun" > gre1/options
echo "TUNTYPE=gre" >> gre1/options
echo "TUNLOCAL=172.16.2.2" >> gre1/options      # наш адрес
echo "TUNREMOTE=172.16.1.2" >> gre1/options     # адрес HQ-RTR
echo "TUNTTL=64" >> gre1/options
echo "TUNOPTIONS='ttl 64'" >> gre1/options
echo "10.10.10.2/30" > gre1/ipv4address

# Применяем
sed -i 's/ net.ipv4.ip_forward = 0/ net.ipv4.ip_forward = 1/' /etc/net/sysctl.conf
systemctl restart network
ip -br a
# 4. Пользователь net_admin (п.3)
useradd net_admin
echo "net_admin:P@ssw0rd" | chpasswd

# 5. Пакеты (п.7,8)
apt-get update && apt-get install sudo iptables frr -y
echo "net_admin ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/net_admin
chmod 440 /etc/sudoers.d/net_admin
# 6. OSPF (п.7) — анонсируем только туннель и локальную сеть
sed -i 's/ospfd=no/ospfd=yes/' /etc/frr/daemons
cat <<'EOT' > /etc/frr/frr.conf
interface gre1
 ip ospf area 0.0.0.0
 ip ospf authentication
 ip ospf authentication-key P@$$word
 no ip ospf passive
exit
!
interface enp7s2
 ip ospf area 0.0.0.0
exit
!
router ospf
 passive-interface default
exit
EOT
systemctl enable --now frr
# 7. NAT для офиса BR (п.8)
iptables -t nat -A POSTROUTING -o enp7s1 -j MASQUERADE
iptables-save >> /etc/sysconfig/iptables
systemctl enable --now iptables

# 8. Часовой пояс (п.11)
timedatectl set-timezone Asia/Yekaterinburg

Копипаст (весь BR-RTR одним блоком)

hostnamectl set-hostname BR-RTR.au-team.irpo
cd /etc/net/ifaces/
mkdir -p enp7s1
echo "TYPE=eth" > enp7s1/options
echo "172.16.2.2/28" > enp7s1/ipv4address
echo "default via 172.16.2.1" > enp7s1/ipv4route
echo "nameserver 192.168.100.2" > /etc/net/ifaces/enp7s1/resolv.conf
echo "search au-team.irpo" >> /etc/net/ifaces/enp7s1/resolv.conf
mkdir -p enp7s2
echo "TYPE=eth" > enp7s2/options
echo "192.168.10.1/28" > enp7s2/ipv4address
mkdir -p gre1
echo "TYPE=iptun" > gre1/options
echo "TUNTYPE=gre" >> gre1/options
echo "TUNLOCAL=172.16.2.2" >> gre1/options
echo "TUNREMOTE=172.16.1.2" >> gre1/options
echo "TUNTTL=64" >> gre1/options
echo "TUNOPTIONS='ttl 64'" >> gre1/options
echo "10.10.10.2/30" > gre1/ipv4address
sed -i 's/ net.ipv4.ip_forward = 0/ net.ipv4.ip_forward = 1/' /etc/net/sysctl.conf
systemctl restart network
ip -br a
useradd net_admin
echo "net_admin:P@ssw0rd" | chpasswd
apt-get update && apt-get install sudo iptables frr -y
echo "net_admin ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/net_admin
chmod 440 /etc/sudoers.d/net_admin
sed -i 's/ospfd=no/ospfd=yes/' /etc/frr/daemons
cat <<'EOT' > /etc/frr/frr.conf
interface gre1
 ip ospf area 0.0.0.0
 ip ospf authentication
 ip ospf authentication-key P@$$word
 no ip ospf passive
exit
!
interface enp7s2
 ip ospf area 0.0.0.0
exit
!
router ospf
 passive-interface default
exit
EOT
systemctl enable --now frr
iptables -t nat -A POSTROUTING -o enp7s1 -j MASQUERADE
iptables-save >> /etc/sysconfig/iptables
systemctl enable --now iptables
timedatectl set-timezone Asia/Yekaterinburg

Проверка

hostname                          # BR-RTR.au-team.irpo
ip -br a                          # enp7s1=172.16.2.2, enp7s2=192.168.10.1, gre1=10.10.10.2
ping 172.16.2.1                   # пинг ISP
ping 10.10.10.1                   # пинг HQ-RTR через туннель
ping 192.168.100.1                # пинг HQ-RTR VLAN 100 (должен прийти через OSPF)

4. HQ-SRV — сервер офиса HQ

Роль: DNS-сервер зоны au-team.irpo, SSH-сервер (порт 2026), пользователь sshuser.

ИнтерфейсIP/сетьНазначение
enp7s1192.168.100.2/27VLAN 100, управление + DNS

Ручная настройка

# 1. Имя устройства (п.1)
hostnamectl set-hostname HQ-SRV.au-team.irpo

# 2. Пользователь sshuser (п.3) — uid 2026, sudo без пароля
useradd -u 2026 sshuser
echo "sshuser:P@ssw0rd" | chpasswd
echo "sshuser ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/sshuser
chmod 440 /etc/sudoers.d/sshuser
# 3. Сеть — VLAN 100 (п.1, п.4)
cd /etc/net/ifaces/
mkdir -p enp7s1
echo "TYPE=eth" > enp7s1/options
echo "192.168.100.2/27" > enp7s1/ipv4address
echo "default via 192.168.100.1" > enp7s1/ipv4route
echo "nameserver 77.88.8.8" > /etc/net/ifaces/enp7s1/resolv.conf
systemctl restart network
ip -br a
# 4. SSH — порт 2026, только sshuser, 2 попытки, баннер (п.5)
sed -i 's/#Port 22/Port 2026/' /etc/openssh/sshd_config
sed -i 's/#MaxAuthTries 6/MaxAuthTries 2/' /etc/openssh/sshd_config
echo "" >> /etc/openssh/sshd_config
echo "AllowUsers sshuser" >> /etc/openssh/sshd_config
echo "Authorized access only" > /etc/openssh/banner
sed -i 's|#Banner none|Banner /etc/openssh/banner|' /etc/openssh/sshd_config
systemctl restart sshd
# 5. DNS-сервер bind (п.10)
apt-get update && apt-get install nano bind bind-utils -y

# Разрешаем слушать на всех интерфейсах, добавляем forwarders
sed -i 's/listen-on { 127.0.0.1; };/listen-on { any; };/' /etc/bind/options.conf
sed -i 's|//forwarders { };|forwarders { 77.88.8.8; };|' /etc/bind/options.conf
sed -i '/forwarders { 77.88.8.8; };/a\dnssec-validation no;' /etc/bind/options.conf
sed -i 's|//allow-query { localnets; };|allow-query { any; };|' /etc/bind/options.conf

# Описываем зоны в local.conf
cat >> /etc/bind/local.conf << 'EOF'
zone "au-team.irpo" {
    type master;
    file "/etc/bind/zone/au-team.irpo.zone";
};
zone "168.192.in-addr.arpa" {
    type master;
    file "/etc/bind/zone/168.192.rev";
};
zone "16.172.in-addr.arpa" {
    type master;
    file "/etc/bind/zone/16.172.rev";
};
EOF
# 6. Файлы зон DNS (п.10, Таблица 3)
mkdir -p /etc/bind/zone

# Прямая зона au-team.irpo — A-записи для всех устройств
cat > /etc/bind/zone/au-team.irpo.zone << 'EOF'
$TTL 86400
@   IN  SOA hq-srv.au-team.irpo. admin.au-team.irpo. (
                2026010101  ; Serial
                3600        ; Refresh
                1800        ; Retry
                604800      ; Expire
                86400 )     ; Minimum TTL

@           IN  NS  hq-srv.au-team.irpo.

hq-rtr      IN  A   192.168.100.1
hq-rtr      IN  A   192.168.200.1
hq-rtr      IN  A   192.168.99.1
hq-rtr      IN  A   172.16.1.2
br-rtr      IN  A   192.168.10.1
br-rtr      IN  A   172.16.2.2
hq-srv      IN  A   192.168.100.2
hq-cli      IN  A   192.168.200.10
br-srv      IN  A   192.168.10.2
docker      IN  A   172.16.1.1
web         IN  A   172.16.2.1
EOF

# Обратная зона 192.168.x.x — PTR-записи
cat > /etc/bind/zone/168.192.rev << 'EOF'
$TTL 86400
@   IN  SOA hq-srv.au-team.irpo. admin.au-team.irpo. (
                2026010101
                3600
                1800
                604800
                86400 )

@       IN  NS  hq-srv.au-team.irpo.

1.100       IN  PTR hq-rtr.au-team.irpo.
2.100       IN  PTR hq-srv.au-team.irpo.
1.200       IN  PTR hq-rtr.au-team.irpo.
10.200      IN  PTR hq-cli.au-team.irpo.
1.10       IN  PTR br-rtr.au-team.irpo.
2.10       IN  PTR br-srv.au-team.irpo.
1.99       IN  PTR hq-rtr.au-team.irpo.
EOF

# Обратная зона 172.16.x.x — PTR-записи
cat > /etc/bind/zone/16.172.rev << 'EOF'
$TTL 86400
@   IN  SOA hq-srv.au-team.irpo. admin.au-team.irpo. (
                2026010101
                3600
                1800
                604800
                86400 )

@       IN  NS  hq-srv.au-team.irpo.

1.1       IN  PTR docker.au-team.irpo.
2.1       IN  PTR hq-rtr.au-team.irpo.
1.2       IN  PTR web.au-team.irpo.
2.2       IN  PTR br-rtr.au-team.irpo.
EOF

chown named:named /etc/bind/zone/*
systemctl enable --now bind
# 7. Часовой пояс (п.11) — Москва для HQ
timedatectl set-timezone Europe/Moscow

Копипаст (весь HQ-SRV одним блоком)

hostnamectl set-hostname HQ-SRV.au-team.irpo
useradd -u 2026 sshuser
echo "sshuser:P@ssw0rd" | chpasswd
echo "sshuser ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/sshuser
chmod 440 /etc/sudoers.d/sshuser
cd /etc/net/ifaces/
mkdir -p enp7s1
echo "TYPE=eth" > enp7s1/options
echo "192.168.100.2/27" > enp7s1/ipv4address
echo "default via 192.168.100.1" > enp7s1/ipv4route
echo "nameserver 77.88.8.8" > /etc/net/ifaces/enp7s1/resolv.conf
systemctl restart network
ip -br a
sed -i 's/#Port 22/Port 2026/' /etc/openssh/sshd_config
sed -i 's/#MaxAuthTries 6/MaxAuthTries 2/' /etc/openssh/sshd_config
echo "" >> /etc/openssh/sshd_config
echo "AllowUsers sshuser" >> /etc/openssh/sshd_config
echo "Authorized access only" > /etc/openssh/banner
sed -i 's|#Banner none|Banner /etc/openssh/banner|' /etc/openssh/sshd_config
systemctl restart sshd
apt-get update && apt-get install nano bind bind-utils -y
sed -i 's/listen-on { 127.0.0.1; };/listen-on { any; };/' /etc/bind/options.conf
sed -i 's|//forwarders { };|forwarders { 77.88.8.8; };|' /etc/bind/options.conf
sed -i '/forwarders { 77.88.8.8; };/a\dnssec-validation no;' /etc/bind/options.conf
sed -i 's|//allow-query { localnets; };|allow-query { any; };|' /etc/bind/options.conf
cat >> /etc/bind/local.conf << 'EOF'
zone "au-team.irpo" {
    type master;
    file "/etc/bind/zone/au-team.irpo.zone";
};
zone "168.192.in-addr.arpa" {
    type master;
    file "/etc/bind/zone/168.192.rev";
};
zone "16.172.in-addr.arpa" {
    type master;
    file "/etc/bind/zone/16.172.rev";
};
EOF
mkdir -p /etc/bind/zone
cat > /etc/bind/zone/au-team.irpo.zone << 'EOF'
$TTL 86400
@   IN  SOA hq-srv.au-team.irpo. admin.au-team.irpo. (
                2026010101  ; Serial
                3600        ; Refresh
                1800        ; Retry
                604800      ; Expire
                86400 )     ; Minimum TTL

@           IN  NS  hq-srv.au-team.irpo.

hq-rtr      IN  A   192.168.100.1
hq-rtr      IN  A   192.168.200.1
hq-rtr      IN  A   192.168.99.1
hq-rtr      IN  A   172.16.1.2
br-rtr      IN  A   192.168.10.1
br-rtr      IN  A   172.16.2.2
hq-srv      IN  A   192.168.100.2
hq-cli      IN  A   192.168.200.10
br-srv      IN  A   192.168.10.2
docker      IN  A   172.16.1.1
web         IN  A   172.16.2.1
EOF
cat > /etc/bind/zone/168.192.rev << 'EOF'
$TTL 86400
@   IN  SOA hq-srv.au-team.irpo. admin.au-team.irpo. (
                2026010101
                3600
                1800
                604800
                86400 )

@       IN  NS  hq-srv.au-team.irpo.

1.100       IN  PTR hq-rtr.au-team.irpo.
2.100       IN  PTR hq-srv.au-team.irpo.
1.200       IN  PTR hq-rtr.au-team.irpo.
10.200      IN  PTR hq-cli.au-team.irpo.
1.10       IN  PTR br-rtr.au-team.irpo.
2.10       IN  PTR br-srv.au-team.irpo.
1.99       IN  PTR hq-rtr.au-team.irpo.
EOF
cat > /etc/bind/zone/16.172.rev << 'EOF'
$TTL 86400
@   IN  SOA hq-srv.au-team.irpo. admin.au-team.irpo. (
                2026010101
                3600
                1800
                604800
                86400 )

@       IN  NS  hq-srv.au-team.irpo.

1.1       IN  PTR docker.au-team.irpo.
2.1       IN  PTR hq-rtr.au-team.irpo.
1.2       IN  PTR web.au-team.irpo.
2.2       IN  PTR br-rtr.au-team.irpo.
EOF
chown named:named /etc/bind/zone/*
systemctl enable --now bind
timedatectl set-timezone Europe/Moscow

Проверка

hostname                          # HQ-SRV.au-team.irpo
ip -br a                          # enp7s1=192.168.100.2
systemctl status sshd             # active, port 2026
systemctl status bind             # active
nslookup hq-rtr.au-team.irpo 127.0.0.1   # должен вернуть 192.168.100.1
nslookup 192.168.100.2 127.0.0.1         # должен вернуть hq-srv.au-team.irpo

5. BR-SRV — сервер офиса BR

Роль: SSH-сервер (порт 2026), пользователь sshuser. Аналог HQ-SRV для офиса BR.

ИнтерфейсIP/сетьНазначение
enp7s1192.168.10.2/28Локальная сеть BR

Ручная настройка

# 1. Имя устройства (п.1)
hostnamectl set-hostname BR-SRV.au-team.irpo

# 2. Пользователь sshuser (п.3)
useradd -u 2026 sshuser
echo "sshuser:P@ssw0rd" | chpasswd
echo "sshuser ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/sshuser
chmod 440 /etc/sudoers.d/sshuser
# 3. Сеть (п.1)
cd /etc/net/ifaces/
mkdir -p enp7s1
echo "TYPE=eth" > enp7s1/options
echo "192.168.10.2/28" > enp7s1/ipv4address
echo "default via 192.168.10.1" > enp7s1/ipv4route
echo "nameserver 192.168.100.2" > /etc/net/ifaces/enp7s1/resolv.conf
echo "search au-team.irpo" >> /etc/net/ifaces/enp7s1/resolv.conf
systemctl restart network
ip -br a
# 4. SSH (п.5) — так же как HQ-SRV
sed -i 's/#Port 22/Port 2026/' /etc/openssh/sshd_config
sed -i 's/#MaxAuthTries 6/MaxAuthTries 2/' /etc/openssh/sshd_config
echo "" >> /etc/openssh/sshd_config
echo "AllowUsers sshuser" >> /etc/openssh/sshd_config
echo "Authorized access only" > /etc/openssh/banner
sed -i 's|#Banner none|Banner /etc/openssh/banner|' /etc/openssh/sshd_config
systemctl restart sshd

# 5. Часовой пояс (п.11)
timedatectl set-timezone Europe/Moscow

Копипаст (весь BR-SRV одним блоком)

hostnamectl set-hostname BR-SRV.au-team.irpo
useradd -u 2026 sshuser
echo "sshuser:P@ssw0rd" | chpasswd
echo "sshuser ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/sshuser
chmod 440 /etc/sudoers.d/sshuser
cd /etc/net/ifaces/
mkdir -p enp7s1
echo "TYPE=eth" > enp7s1/options
echo "192.168.10.2/28" > enp7s1/ipv4address
echo "default via 192.168.10.1" > enp7s1/ipv4route
echo "nameserver 192.168.100.2" > /etc/net/ifaces/enp7s1/resolv.conf
echo "search au-team.irpo" >> /etc/net/ifaces/enp7s1/resolv.conf
systemctl restart network
ip -br a
sed -i 's/#Port 22/Port 2026/' /etc/openssh/sshd_config
sed -i 's/#MaxAuthTries 6/MaxAuthTries 2/' /etc/openssh/sshd_config
echo "" >> /etc/openssh/sshd_config
echo "AllowUsers sshuser" >> /etc/openssh/sshd_config
echo "Authorized access only" > /etc/openssh/banner
sed -i 's|#Banner none|Banner /etc/openssh/banner|' /etc/openssh/sshd_config
systemctl restart sshd
timedatectl set-timezone Europe/Moscow

Проверка

hostname                          # BR-SRV.au-team.irpo
ip -br a                          # enp7s1=192.168.10.2
systemctl status sshd             # active, port 2026
ping 192.168.10.1                 # пинг BR-RTR
ping 192.168.100.2                # пинг HQ-SRV (через OSPF, после настройки всего)

6. HQ-CLI — клиентская машина офиса HQ

Роль: клиент, получает адрес по DHCP от HQ-RTR в VLAN 200.

ИнтерфейсIP/сетьНазначение
enp7s1DHCP (VLAN 200)Клиентская сеть, адрес от HQ-RTR

Ручная настройка

# 1. Имя устройства (п.1)
hostnamectl set-hostname HQ-CLI.au-team.irpo

# 2. Сеть — получение по DHCP (п.9)
cd /etc/net/ifaces/
mkdir -p enp7s1
echo "TYPE=eth" > enp7s1/options
echo "BOOTPROTO=dhcp" > enp7s1/options   # или через mkdir enp7s1.200 для VLAN
systemctl restart network
ip -br a
# Должен получить адрес из пула 192.168.200.2-14

# 3. Часовой пояс (п.11)
timedatectl set-timezone Europe/Moscow

Важно для VLAN: если трафик до HQ-CLI идёт через VLAN 200, нужно настроить VLAN-интерфейс так же как на HQ-RTR. Создать enp7s1.200 с VID=200 и BOOTPROTO=dhcp.

Копипаст (весь HQ-CLI одним блоком)

hostnamectl set-hostname HQ-CLI.au-team.irpo
cd /etc/net/ifaces/
mkdir -p enp7s1
echo "TYPE=eth" > enp7s1/options
echo "BOOTPROTO=dhcp" > enp7s1/options
systemctl restart network
ip -br a
timedatectl set-timezone Europe/Moscow

Проверка

hostname                          # HQ-CLI.au-team.irpo
ip -br a                          # должен быть адрес из 192.168.200.0/28
ping 192.168.200.1                # пинг шлюза (HQ-RTR VLAN 200)
ping 192.168.100.2                # пинг HQ-SRV
ping 8.8.8.8                      # пинг в интернет (через NAT)
nslookup hq-srv.au-team.irpo     # должен разрешиться через DNS

3 комментария к “Решение первого модуля Демоэкзамена СиСА 2025”

  1. Уведомление: minoxidil dermaroller beard
  2. Уведомление: valacyclovir and acyclovir difference
  3. Уведомление: orlistat reddit

Обсуждение закрыто.