Модуль 1. Настройка сетевой инфраструктуры — инструкция по выполнению
0.1. Параметры, которые могут измениться в задании
Ниже — всё, что в типичном варианте Модуля 1 легко подменить без переписывания топологии и пунктов задания. В образце инструкции указаны значения из примерного задание; на экзамене они могут быть другими.
Сводная таблица [ИЗМ]
| Параметр | Образец в инструкции | Пункт задания | Где править в инструкции |
|---|---|---|---|
| Домен (FQDN, DNS-суффикс) | au-team.irpo |
п.1, п.9, п.10, табл. 3 | hostname всех ВМ; search, dhcp-option=15; зоны BIND |
| Сеть ISP ↔ HQ-RTR | 172.16.1.0/28 |
п.2 | ISP enp7s2, HQ-RTR enp7s1, GRE TUNLOCAL/TUNREMOTE, DNS docker |
| Сеть ISP ↔ BR-RTR | 172.16.2.0/28 |
п.2 | ISP enp7s3, BR-RTR enp7s1, GRE, DNS web |
| VLAN HQ-SRV | 100 |
п.4 | enp7s2.100, VID=100 на HQ-RTR и HQ-SRV |
| VLAN HQ-CLI | 200 |
п.4, п.9 | enp7s2.200, DHCP interface=, HQ-CLI |
| VLAN управления | 999 |
п.4 | enp7s2.999, VID=999 |
| Маска/подсеть VLAN 100 (≤32 хоста) | 192.168.100.0/27 |
п.1 | HQ-RTR .100, HQ-SRV, табл. 2, DNS A/PTR |
| Маска/подсеть VLAN 200 (≥16 хостов) | 192.168.200.0/28 |
п.1, п.9 | HQ-RTR .200, DHCP pool, HQ-CLI, DNS |
| Маска/подсеть VLAN 999 (≤8 хостов) | 192.168.99.0/29 |
п.1 | HQ-RTR .999, DNS |
| Маска/подсеть BR-SRV (≤16 хостов) | 192.168.10.0/28 |
п.1 | BR-RTR enp7s2, BR-SRV, DNS |
| Подсеть GRE-туннеля | 10.10.10.0/30 |
п.6 (в задании не задана явно — выбирает участник) | gre1 на HQ-RTR и BR-RTR, ping-проверки |
| Имя пользователя SSH | sshuser |
п.3, п.5 | useradd, AllowUsers, sudoers |
Пароль sshuser / net_admin |
P@ssw0rd |
п.3 | chpasswd на серверах и маршрутизаторах |
UID пользователя sshuser |
2026 |
п.3 | useradd -u на HQ-SRV, BR-SRV |
| Порт SSH | 2026 |
п.5 | Port в sshd_config |
| Текст баннера SSH | Authorized access only |
п.5 | /etc/openssh/banner |
| Число попыток SSH | 2 |
п.5 | MaxAuthTries (редко меняют) |
| DNS forwarder (upstream) | 77.88.8.8 |
п.10 | forwarders в BIND; в задании также 77.88.8.7, 77.88.8.3 |
Записи табл. 3 (docker, web, …) |
см. §4 HQ-SRV | п.10 | файлы зон BIND, PTR |
| Пароль OSPF (в задании не указан — выбор участника; на экзамене могут задать) | P@$$word |
п.7 | ip ospf authentication-key в FRR |
| Часовой пояс | Asia/Yekaterinburg / Europe/Moscow |
п.11 | timedatectl set-timezone |
Что обычно не меняют (инвариант логики)
- Топология: ISP — HQ-RTR — HQ-SRV / HQ-CLI; ISP — BR-RTR — BR-SRV.
- Требования: приватные адреса RFC1918; расчёт масок по числу хостов (≤32 → /27, ≥16 → /28, ≤8 → /29, ≤16 → /28); один физический порт + subinterface/VLAN на HQ-RTR; GRE или IPIP; link-state только на туннеле; NAT на ISP и на офисных маршрутизаторах; DHCP на HQ-RTR для клиентской VLAN; основной DNS на HQ-SRV.
- Имена ролей устройств: ISP, HQ-RTR, BR-RTR, HQ-SRV, BR-SRV, HQ-CLI (как в рисунке топологии).
- Ресурсы ВМ — таблица 1 в задании.
Если в задании не указана своя сеть (только размер сегмента)
В п.1 задания часто задают лишь вместимость сегмента («не более 32 адресов», «не менее 16» и т.д.), без нового номера сети. Тогда на экзамене обычно меняют только маску подсети (префикс), а хостовую часть адресов можно не трогать:
| Сегмент (п.1) | Было в образце | Достаточно заменить на |
|---|---|---|
| VLAN 100, ≤32 хоста | 192.168.100.1/27, .2/27 |
192.168.100.1/[ИЗМ]28 (другой префикс по расчёту) — октеты .100.1 и .100.2 не меняют |
| VLAN 200, ≥16 хостов | 192.168.200.1/28 |
только /28 → /27 и т.п., пул DHCP .2–.14 пересчитать по новой маске |
| VLAN 999, ≤8 хостов | 192.168.99.1/29 |
только маску; адрес .99.1 можно оставить |
| BR-SRV, ≤16 хостов | 192.168.10.1/28, .2/28 |
только маску у шлюза и сервера |
Пересчёт маски по числу хостов: ≤32 → /27, ≥16 и ≤32 → /27 или /28, ≤16 → /28, ≤8 → /29 (см. RFC и методичку). Шлюз по-прежнему .1, сервер HQ-SRV — .2, HQ-CLI в DNS — .10, если задание не требует иного.
Если в п.2 явно указана сеть (172.16.1.0/28) — меняются и сеть, и маска (например 172.16.5.0/29); тогда правятся все связанные адреса и записи DNS для docker / web.
Как пользоваться пометками [ИЗМ] в командах
- Откройте актуальный лист задания и таблицы 2–3.
- Заполните для себя столбец «значение на экзамене» (можно копировать таблицу выше в блокнот).
- Перед запуском команд замените все значения
[ИЗМ]; если в п.1 нет новой сети — сначала попробуйте сменить только префикс вipv4addressи в DHCP/DNS, не меняя октеты хоста. - После смены сети или VLAN пересчитайте: шлюзы,
dhcp-range, PTR,TUNLOCAL/TUNREMOTE(адреса интерфейсов к ISP).
Пример (только маска): требование «не более 16 адресов» для VLAN 100 → было /27, стало /28: на HQ-RTR в enp7s2.100/ipv4address строка 192.168.100.1/27 → 192.168.100.1/28; на HQ-SRV — 192.168.100.2/27 → 192.168.100.2/28.
Пример (сеть и VLAN): VLAN 150, сеть 10.10.100.0/27 — меняются каталоги enp7s2.150, VID, все IP и зоны DNS.
0. Что нельзя автоматизировать (настройка в Proxmox)
Скрипты настраивают всё внутри ВМ. Но есть вещи, которые делаются в свойствах ВМ в Proxmox:
Память, 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 не дана новая сеть — см. §0.1 (часто достаточно сменить только маску).
1. ISP — магистральный маршрутизатор
Роль: шлюз в интернет для HQ и BR. Раздаёт NAT, соединяет два офиса с «провайдером».
| Интерфейс | IP/сеть | Назначение |
|---|---|---|
| enp7s1 | DHCP | В сторону провайдера |
| enp7s2 | [ИЗМ] 172.16.1.1/28 |
В сторону HQ-RTR (п.2) |
| enp7s3 | [ИЗМ] 172.16.2.1/28 |
В сторону BR-RTR (п.2) |
Правка файлов (кратко)
| Файл | Что сделать |
|---|---|
/etc/net/ifaces/enp7s2/ipv4address |
Одна строка: [ИЗМ] 172.16.1.1/28 (п.2 — сеть задана явно, меняется и адрес сети, и маска) |
/etc/net/ifaces/enp7s3/ipv4address |
Одна строка: [ИЗМ] 172.16.2.1/28 |
/etc/net/ifaces/enp7s2/options, enp7s3/options |
Добавить строку TYPE=eth (если каталоги уже созданы) |
/etc/net/sysctl.conf |
Строку net.ipv4.ip_forward = 0 заменить на net.ipv4.ip_forward = 1 |
После правок: systemctl restart network. Ниже — те же шаги командами.
Ручная настройка
# 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
Проверка
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 (п.1, п.4) |
| enp7s2.200 | [ИЗМ] 192.168.200.1/28 |
[ИЗМ] 200 | HQ-CLI, DHCP (п.1, п.4, п.9) |
| enp7s2.999 | [ИЗМ] 192.168.99.1/29 |
[ИЗМ] 999 | Управление (п.4) |
| gre1 | [ИЗМ] 10.10.10.1/30 |
— | Туннель в BR-RTR (п.6) |
Правка файлов (кратко)
Сеть к ISP (п.2, сеть указана явно):
| Файл | Действие |
|---|---|
/etc/net/ifaces/enp7s1/ipv4address |
[ИЗМ] 172.16.1.2/28 |
/etc/net/ifaces/enp7s1/ipv4route |
default via **[ИЗМ]**172.16.1.1 |
/etc/net/ifaces/enp7s1/resolv.conf |
nameserver **[ИЗМ]**192.168.100.2 и search **[ИЗМ]**au-team.irpo |
VLAN на enp7s2 (п.1 — часто меняют только маску, хост .1 оставляют):
| Файл | Действие |
|---|---|
.../enp7s2.100/options |
Строки TYPE=vlan, HOST=enp7s2, VID=**[ИЗМ]**100, BOOTPROTO=static |
.../enp7s2.100/ipv4address |
192.168.100.1/[ИЗМ]27 — при смене только вместимости: хост .1 тот же, меняется префикс |
.../enp7s2.200/ipv4address |
192.168.200.1/[ИЗМ]28 (аналогично) |
.../enp7s2.999/ipv4address |
192.168.99.1/[ИЗМ]29 |
Туннель и сервисы:
| Файл | Действие |
|---|---|
/etc/net/ifaces/gre1/options |
TUNLOCAL=**[ИЗМ]**172.16.1.2, TUNREMOTE=**[ИЗМ]**172.16.2.2, TUNTYPE=gre |
/etc/net/ifaces/gre1/ipv4address |
[ИЗМ] 10.10.10.1/30 |
/etc/dnsmasq.conf.d/hq-cli.conf |
Создать: interface=enp7s2.**[ИЗМ]**200, dhcp-range=**[ИЗМ]**…, dhcp-option=3/6/15 — см. команды ниже |
/etc/frr/daemons |
ospfd=no → ospfd=yes |
/etc/frr/frr.conf |
В interface gre1 — ip ospf authentication-key **[ИЗМ]**… (п.7) |
Ручная настройка
# 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 — HQ-SRV [ИЗМ: номер VLAN, подсеть/маска по п.1 и п.4]
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 — HQ-CLI [ИЗМ: номер VLAN, подсеть/маска, пул DHCP — п.1, п.4, п.9]
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 — управление [ИЗМ: номер VLAN, подсеть/маска — п.1, п.4]
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 # [ИЗМ] пароль п.3
# 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 # [ИЗМ] имя VLAN-интерфейса
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 = HQ-SRV
echo "dhcp-option=15,au-team.irpo" >> /etc/dnsmasq.conf.d/hq-cli.conf # [ИЗМ] суффикс п.9
systemctl enable --now dnsmasq
# 8. OSPF — динамическая маршрутизация через GRE-туннель (п.7)
# Включаем ospfd в FRR
sed -i 's/ospfd=no/ospfd=yes/' /etc/frr/daemons
# Конфигурация OSPF с аутентификацией [ИЗМ: пароль п.7, если указан в задании]
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
Проверка
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-SRV (п.1) |
| gre1 | [ИЗМ] 10.10.10.2/30 |
Туннель (п.6) |
Правка файлов (кратко)
| Файл | Действие |
|---|---|
/etc/net/ifaces/enp7s1/ipv4address |
[ИЗМ] 172.16.2.2/28 |
/etc/net/ifaces/enp7s1/ipv4route |
default via **[ИЗМ]**172.16.2.1 |
/etc/net/ifaces/enp7s2/ipv4address |
192.168.10.1/[ИЗМ]28 — при п.1 без новой сети часто меняют только префикс |
/etc/net/ifaces/gre1/ipv4address |
[ИЗМ] 10.10.10.2/30 |
/etc/net/ifaces/gre1/options |
TUNLOCAL=**[ИЗМ]**172.16.2.2, TUNREMOTE=**[ИЗМ]**172.16.1.2 |
/etc/frr/frr.conf |
Как на HQ-RTR: OSPF на gre1 и enp7s2, ключ [ИЗМ] |
Ручная настройка
# 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
Проверка
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 |
Правка файлов (кратко)
| Файл | Действие |
|---|---|
/etc/net/ifaces/enp7s1/ipv4address |
192.168.100.2/[ИЗМ]27 — часто только маска; октет .100.2 не менять |
/etc/net/ifaces/enp7s1/ipv4route |
default via 192.168.100.1 (шлюз; при смене только маски на RTR — та же .1) |
/etc/openssh/sshd_config |
#Port 22 → Port **[ИЗМ]**2026; #MaxAuthTries 6 → MaxAuthTries 2; в конец: AllowUsers **[ИЗМ]**sshuser; #Banner none → Banner /etc/openssh/banner |
/etc/openssh/banner |
Одна строка: [ИЗМ] Authorized access only |
/etc/sudoers.d/sshuser |
Строка sshuser ALL=(ALL) NOPASSWD:ALL |
/etc/bind/options.conf |
В forwarders указать [ИЗМ] 77.88.8.8 (или из п.10) |
/etc/bind/local.conf |
Добавить блоки zone для [ИЗМ] au-team.irpo, 168.192.in-addr.arpa, 16.172.in-addr.arpa |
/etc/bind/zone/au-team.irpo.zone |
A-записи по табл. 3; IP [ИЗМ] — при смене только маски локальных сетей адреса .1, .2, .10 обычно те же |
Ручная настройка
# 1. Имя устройства (п.1)
hostnamectl set-hostname HQ-SRV.au-team.irpo
# 2. Пользователь sshuser (п.3) [ИЗМ: uid, имя, пароль]
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 (п.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 # [ИЗМ] forwarder п.10
sed -i '/forwarders { 77.88.8.8; };/adnssec-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 Asia/Yekaterinburg
Проверка
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 |
Правка файлов (кратко)
| Файл | Действие |
|---|---|
/etc/net/ifaces/enp7s1/ipv4address |
192.168.10.2/[ИЗМ]28 — часто только префикс |
/etc/net/ifaces/enp7s1/ipv4route |
default via 192.168.10.1 |
/etc/net/ifaces/enp7s1/resolv.conf |
nameserver **[ИЗМ]**192.168.100.2, search **[ИЗМ]**au-team.irpo |
/etc/openssh/sshd_config, /etc/openssh/banner |
Как на HQ-SRV (п.5): порт [ИЗМ], баннер, AllowUsers |
/etc/sudoers.d/sshuser |
sshuser ALL=(ALL) NOPASSWD:ALL |
Ручная настройка
# 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 Asia/Yekaterinburg
Проверка
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 |
Правка файлов (кратко)
| Файл | Действие |
|---|---|
/etc/net/ifaces/enp7s1/options |
TYPE=eth и BOOTPROTO=dhcp |
/etc/net/ifaces/enp7s1.200/options |
Если нужен VLAN: TYPE=vlan, HOST=enp7s1, VID=**[ИЗМ]**200, BOOTPROTO=dhcp |
Пул и шлюз задаются на HQ-RTR в dnsmasq; при смене только маски VLAN 200 на RTR клиент подхватит адрес из нового диапазона после systemctl restart network.
Ручная настройка
# 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 Asia/Yekaterinburg
Важно для VLAN: если трафик до HQ-CLI идёт через VLAN 200, нужно настроить VLAN-интерфейс так же как на HQ-RTR. Создать
enp7s1.200с VID=200 и BOOTPROTO=dhcp.
Проверка
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
Приложение А. Сводная таблица IP-адресов (Таблица 2)
Значения ниже — образец для варианта из задание.txt. На экзамене все адреса и маски пересчитываются по актуальному заданию (см. §0.1).
| Устройство | IP-адрес | Шлюз по умолчанию |
|---|---|---|
| ISP (enp7s2) | [ИЗМ] 172.16.1.1/28 | — |
| ISP (enp7s3) | [ИЗМ] 172.16.2.1/28 | — |
| HQ-RTR (enp7s1) | [ИЗМ] 172.16.1.2/28 | [ИЗМ] 172.16.1.1 |
| HQ-RTR (enp7s2.100) | [ИЗМ] 192.168.100.1/27 | — |
| HQ-RTR (enp7s2.200) | [ИЗМ] 192.168.200.1/28 | — |
| HQ-RTR (enp7s2.999) | [ИЗМ] 192.168.99.1/29 | — |
| HQ-RTR (gre1) | [ИЗМ] 10.10.10.1/30 | — |
| BR-RTR (enp7s1) | [ИЗМ] 172.16.2.2/28 | [ИЗМ] 172.16.2.1 |
| BR-RTR (enp7s2) | [ИЗМ] 192.168.10.1/28 | — |
| BR-RTR (gre1) | [ИЗМ] 10.10.10.2/30 | — |
| HQ-SRV | [ИЗМ] 192.168.100.2/27 | [ИЗМ] 192.168.100.1 |
| BR-SRV | [ИЗМ] 192.168.10.2/28 | [ИЗМ] 192.168.10.1 |
| HQ-CLI | DHCP ([ИЗМ] 192.168.200.2–14) | [ИЗМ] 192.168.200.1 |