Необходимо разработать и настроить инфраструктуру информационно- коммуникационной системы согласно предложенной топологии (см. Рисунок 1)
Задание включает базовую настройку устройств:
- присвоение имен устройствам
- расчет IP-адресации
- настройку коммутации и маршрутизации
В ходе проектирования и настройки сетевой инфраструктуры следует вести отчет о своих действиях, включая таблицы и схемы, предусмотренные в задании
По каждому пункту задания, требующего отчёт, составить текстовый документ, название которого должно содержать индекс пункта и краткое описание. Текстовый документ должен содержать текстовую информацию и может включать снимки экрана, кадрированные таким образом, чтобы относящаяся к выполнению задания информация на снимках была читаемой.
Итоговый отчет по окончании работы следует сохранить на диске рабочего места и задать имя файла — ФамилияУчастникаМодуль1 без учёта расширения
Рисунок 1. Топология сети
Таблица 1
| Имя виртуальной машины | Оперативная память | Центральный процессор, ядер | Накопитель | Операционная система |
| ISP | 1 Гб | 1 ядро | 5 Гб | Дистрибутив Альт JeOS или аналог |
| HQ-RTR | 1 Гб в случае использования дистрибутива Linux | 1 ядро в случае использования | 10 Гб | Альт JeOS или аналог |
| BR-RTR | 1 Гб в случае использования дистрибутива Linux | 1 ядро в случае использования дистрибутива Linux | 10 Гб | Альт JeOS или аналог |
| HQ-SRV | 2 Гб | 1 ядро | 10 Гб | ОС Альт сервер или аналог |
| BR-SRV | 2 Гб | 1 ядро | 10 Гб | ОС Альт сервер или аналог |
| HQ-CLI | 2 Гб | 2 ядра | 15 Гб | ОС Альт рабочая станция или аналог |
| Итого | 9 в случае использования ОС Альт или аналога | 7 в случае использования ОС Альт или аналога | 60 Гб | — |
Все возможные изменения будут выделены в тексте (Вот так)
Модуль 1. Настройка сетевой инфраструктуры — инструкция по выполнению
0. Что нельзя автоматизировать (настройка в Proxmox)
Скрипты настраивают всё внутри ВМ. Но есть вещи, которые делаются в свойствах ВМ в Proxmox:
Не забудьте указать тэг VLAN на ВМ HQ-SRV и HQ-CLI
Память, CPU, диск
Характеристики ВМ указаны в Таблице 1 задания. При создании ВМ:
| ВМ | RAM | CPU | Диск |
|---|---|---|---|
| ISP | 1 ГБ | 1 ядро | 5 ГБ |
| HQ-RTR | 1 ГБ | 1 ядро | 10 ГБ |
| BR-RTR | 1 ГБ | 1 ядро | 10 ГБ |
| HQ-SRV | 2 ГБ | 1 ядро | 10 ГБ |
| BR-SRV | 2 ГБ | 1 ядро | 10 ГБ |
| HQ-CLI | 2 ГБ | 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/сеть | Назначение |
|---|---|---|
| enp7s1 | DHCP | В сторону провайдера |
| enp7s2 | 172.16.1.1/28 | В сторону HQ-RTR |
| enp7s3 | 172.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 | Назначение |
|---|---|---|---|
| enp7s1 | 172.16.1.2/28 | — | В сторону ISP |
| enp7s2 | транк | — | Транковый порт в сторону HQ-SRV/HQ-CLI |
| enp7s2.100 | 192.168.100.1/27 | 100 | Управление + HQ-SRV |
| enp7s2.200 | 192.168.200.1/28 | 200 | Клиентская сеть HQ-CLI |
| enp7s2.999 | 192.168.99.1/29 | 999 | Сеть управления |
| gre1 | 10.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/сеть | Назначение |
|---|---|---|
| enp7s1 | 172.16.2.2/28 | В сторону ISP |
| enp7s2 | 192.168.10.1/28 | Локальная сеть BR |
| gre1 | 10.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/сеть | Назначение |
|---|---|---|
| enp7s1 | 192.168.100.2/27 | VLAN 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/сеть | Назначение |
|---|---|---|
| enp7s1 | 192.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/сеть | Назначение |
|---|---|---|
| enp7s1 | DHCP (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”
Обсуждение закрыто.