SysConfig Helper

🛠️ SysConfig Helper

Технический справочник по настройке Linux-инфраструктуры. Кнопкой Copy копируются только команды, значения и содержимое файлов; названия машин, разделы и примеры вывода не копируются.

Поисковые запросы для сайта

Страница подготовлена для поиска по темам Sysadmin, Linux-администрирование, настройка сетевых сервисов, настройка системных сервисов, VLAN, SSH, Samba, Docker, Ansible, NFS и iptables.

  • Sysadmin
  • Linux администрирование
  • сетевое администрирование
  • системное администрирование
  • Alt Linux
  • настройка сетевых сервисов
  • настройка системных сервисов
  • Alt Linux
  • SSH
  • VLAN
  • NAT
  • iptables
  • GRE
  • OSPF
  • FRR
  • DHCP
  • DNS
  • Samba DC
  • NFS
  • chrony
  • Ansible
  • Docker
  • MariaDB
  • Apache
  • Yandex Browser

Общее описание

Материал разделён на два практических блока: сетевое администрирование и системное администрирование.

Оборудование: 10 серверных/Just OS машин (Alt JeOS, Alt Server), 2 клиентские машины (Alt Workstation); примерная среда — Proxmox внутри VMware Workstation.

Модуль 1: Сетевое администрирование (1 час)

📋 Задание 1: Произведите базовую настройку устройств. + Задание 4: Настройте коммутацию в сегменте HQ.

Задание 1: - Настройте имена устройств согласно топологии. Используйте полное доменное имя. - На всех устройствах необходимо сконфигурировать IPv4. - IP-адрес должен быть из приватного диапазона, в случае, если сеть локальная, согласно RFC1918. - Локальная сеть в сторону HQ-SRV(VLAN 100) должна вмещать не более 32 адресов. - Локальная сеть в сторону HQ-CLI(VLAN 200) должна вмещать не менее 16 адресов. - Локальная сеть для управления(VLAN 999) должна вмещать не более 8 адресов. - Локальная сеть в сторону BR-SRV должна вмещать не более 16 адресов. - Сведения об адресах занесите в таблицу 2, в качестве примера используйте Прил_3_О1_КОД 09.02.06-1-2026-М1.

Задание 4: - Трафик HQ-SRV должен принадлежать VLAN 100. - Трафик HQ-CLI должен принадлежать VLAN 200. - Предусмотреть возможность передачи трафика управления в VLAN 999. - Реализовать на HQ-RTR маршрутизацию трафика всех указанных VLAN использованием одного сетевого адаптера ВМ/физического порта. - Сведения о настройке коммутации внесите в отчёт.

Выполнение

Настройка hostname.

ISP
КОМАНДА
hostnamectl set-hostname isp.au-team.irpo; exec bash
HQ-RTR
КОМАНДА
hostnamectl set-hostname hq-rtr.au-team.irpo; exec bash
HQ-SRV
КОМАНДА
hostnamectl set-hostname hq-srv.au-team.irpo; exec bash
HQ-CLI
КОМАНДА
hostnamectl set-hostname hq-cli.au-team.irpo; exec bash
BR-RTR
КОМАНДА
hostnamectl set-hostname br-rtr.au-team.irpo; exec bash
BR-SRV
КОМАНДА
hostnamectl set-hostname br-srv.au-team.irpo; exec bash

[ВАЖНО] ⚠️ 💡 Важно: Хоть в задании (если смотреть на отчет и таблицу) не указано дать название ISP, но его все равно нужно выдать.

[ПОДСКАЗКА] ⚠️ Примечание: Команда hostnamectl set-hostname применяет изменения немедленно без перезагрузки. Флаг ; exec bash обновляет текущую сессию shell для отображения нового hostname в приглашении командной строки.

Конфигурация IPv4 адресов.

ISP
КОМАНДА
mkdir /etc/net/ifaces/enp7s2
mkdir /etc/net/ifaces/enp7s3
ОТКРЫТЬ ФАЙЛ
vim /etc/net/ifaces/enp7s2/options
ВСТАВИТЬ В ФАЙЛ
BOOTPROTO=static
TYPE=eth
ОТКРЫТЬ ФАЙЛ
vim /etc/net/ifaces/enp7s2/ipv4address
ВСТАВИТЬ В ФАЙЛ
172.16.1.1/28
ОТКРЫТЬ ФАЙЛ
vim /etc/net/ifaces/enp7s3/options
ВСТАВИТЬ В ФАЙЛ
BOOTPROTO=static
TYPE=eth
ОТКРЫТЬ ФАЙЛ
vim /etc/net/ifaces/enp7s3/ipv4address
ВСТАВИТЬ В ФАЙЛ
172.16.2.1/28
КОМАНДА
systemctl restart network
ip -c -br a

Должен быть такой вывод у команды:

ВЫВОД
lo               UNKNOWN        127.0.0.1/8 ::1/128
enp7s1           UP             192.168.120.157/24 fe80::be24:11ff:fe74:fa7/64
enp7s2           UP             172.16.1.1/28 fe80::be24:11ff:fed1:a8dc/64
enp7s3           UP             172.16.2.1/28 fe80::be24:11ff:fed6:e399/64

[ПРИМЕЧАНИЕ] ⚠️ 💡 Примечание: Для enp7s1 вывод будет отличаться из-за того что у всех этот интерфейс зависит от их собственной локальной сети, так как это интерфейс через который идет выход в интернет с помощью Bridge из Proxmox в VMware, в VMware обязательно нужно было указать Bridge в типе сетевого подключения, тип NAT или создание отдельной Network внутри VMware может вызывать нестабильность в работе!

HQ-RTR
КОМАНДА
mkdir /etc/net/ifaces/enp7s2
mkdir /etc/net/ifaces/enp7s2.100
mkdir /etc/net/ifaces/enp7s2.200
mkdir /etc/net/ifaces/enp7s2.999
ОТКРЫТЬ ФАЙЛ
vim /etc/net/ifaces/enp7s1/options
ВСТАВИТЬ В ФАЙЛ
BOOTPROTO=static
TYPE=eth
ОТКРЫТЬ ФАЙЛ
vim /etc/net/ifaces/enp7s1/ipv4address
ВСТАВИТЬ В ФАЙЛ
172.16.1.2/28
ОТКРЫТЬ ФАЙЛ
vim /etc/net/ifaces/enp7s1/ipv4route
ВСТАВИТЬ В ФАЙЛ
default via 172.16.1.1
ОТКРЫТЬ ФАЙЛ
vim /etc/net/ifaces/enp7s1/resolv.conf
ВСТАВИТЬ В ФАЙЛ
nameserver 77.88.8.8
ОТКРЫТЬ ФАЙЛ
vim /etc/net/ifaces/enp7s2/options
ВСТАВИТЬ В ФАЙЛ
BOOTPROTO=none
TYPE=eth
ОТКРЫТЬ ФАЙЛ
vim /etc/net/ifaces/enp7s2.100/options
ВСТАВИТЬ В ФАЙЛ
BOOTPROTO=static
TYPE=vlan
VID=100
HOST=enp7s2
ОТКРЫТЬ ФАЙЛ
vim /etc/net/ifaces/enp7s2.100/ipv4address
ВСТАВИТЬ В ФАЙЛ
192.168.100.1/27
ОТКРЫТЬ ФАЙЛ
vim /etc/net/ifaces/enp7s2.200/options
ВСТАВИТЬ В ФАЙЛ
BOOTPROTO=static
TYPE=vlan
VID=200
HOST=enp7s2
ОТКРЫТЬ ФАЙЛ
vim /etc/net/ifaces/enp7s2.200/ipv4address
ВСТАВИТЬ В ФАЙЛ
192.168.200.65/28
ОТКРЫТЬ ФАЙЛ
vim /etc/net/ifaces/enp7s2.999/options
ВСТАВИТЬ В ФАЙЛ
BOOTPROTO=static
TYPE=vlan
VID=999
HOST=enp7s2
ОТКРЫТЬ ФАЙЛ
vim /etc/net/ifaces/enp7s2.999/ipv4address
ВСТАВИТЬ В ФАЙЛ
192.168.99.89/29
КОМАНДА
systemctl restart network
ip -c -br a

Должен быть такой вывод у команды:

ВЫВОД
lo               UNKNOWN        127.0.0.1/8 ::1/128
enp7s1           UP             172.16.1.2/28 fe80::be24:11ff:feda:daba/64
enp7s2           UP             fe80::be24:11ff:feae:ad50/64
enp7s2.100@enp7s2 UP             192.168.100.1/27 fe80::be24:11ff:feae:ad50/64
enp7s2.200@enp7s2 UP             192.168.200.65/28 fe80::be24:11ff:feae:ad50/64
enp7s2.999@enp7s2 UP             192.168.99.89/29 fe80::be24:11ff:feae:ad50/64

[ОСТОРОЖНО] ⚠️ 💡 Важно!: Так как VLAN созданы через network внутри Proxmox, обязательно идем в веб панель Proxmox VE, заходим в раздел Server View > Datacenter > pve. В этом разделе в открытом списке выбираем 10103, 10104 машины (HQ-SRV,HQ-CLI), заходим в настройки во вкладку Hardware, меняем в графе Network Device (net6) VLAN tag, с того который там указан (если не указан, то включаем VLAN tag, и прописываем -> 100 для HQ-CLI, и 200 для HQ-SRV.) Перезапускать машины не нужно.

HQ-SRV

⚠️ 💡 Для enp7s1 (/etc/net/ifaces/enp7s1/options) в HQ-RTR, нужно заменить

ОТКРЫТЬ ФАЙЛ
vim /etc/net/ifaces/enp7s1/options
ВСТАВИТЬ В ФАЙЛ
BOOTPROTO=dhcp
TYPE=eth
CONFIG_WIRELESS=no
SYSTEMD_BOOTPROTO=dhcp4
CONFIG_IPV4=yes
DISABLED=no
NM_CONTROLLED=no
SYSTEMD_CONTROLLED=no

На те параметры что указаны ниже

ВСТАВИТЬ / ЗНАЧЕНИЕ
BOOTPROTO=static
TYPE=eth
ОТКРЫТЬ ФАЙЛ
vim /etc/net/ifaces/enp7s1/ipv4address
ВСТАВИТЬ В ФАЙЛ
192.168.100.2/27
ОТКРЫТЬ ФАЙЛ
vim /etc/net/ifaces/enp7s1/ipv4route
ВСТАВИТЬ В ФАЙЛ
default via 192.168.100.1
ОТКРЫТЬ ФАЙЛ
vim /etc/net/ifaces/enp7s1/resolv.conf
ВСТАВИТЬ В ФАЙЛ
nameserver 77.88.8.8
КОМАНДА
systemctl restart network
ip -c -br a

Должен быть такой вывод у команды:

ВЫВОД
lo               UNKNOWN        127.0.0.1/8 ::1/128
enp7s1           UP             192.168.100.2/27 fe80::be24:11ff:fef0:121/64
BR-RTR
КОМАНДА
mkdir /etc/net/ifaces/enp7s2/
ОТКРЫТЬ ФАЙЛ
vim /etc/net/ifaces/enp7s2/options
ВСТАВИТЬ В ФАЙЛ
BOOTPROTO=static
TYPE=eth
ОТКРЫТЬ ФАЙЛ
vim /etc/net/ifaces/enp7s2/ipv4address
ВСТАВИТЬ В ФАЙЛ
192.168.3.1/28
ОТКРЫТЬ ФАЙЛ
vim /etc/net/ifaces/enp7s1/options
ВСТАВИТЬ В ФАЙЛ
BOOTPROTO=static
TYPE=eth
ОТКРЫТЬ ФАЙЛ
vim /etc/net/ifaces/enp7s1/ipv4address
ВСТАВИТЬ В ФАЙЛ
172.16.2.2/28
ОТКРЫТЬ ФАЙЛ
vim /etc/net/ifaces/enp7s1/ipv4route
ВСТАВИТЬ В ФАЙЛ
default via 172.16.2.1
ОТКРЫТЬ ФАЙЛ
vim /etc/net/ifaces/enp7s1/resolv.conf
ВСТАВИТЬ В ФАЙЛ
nameserver 77.88.8.8
КОМАНДА
systemctl restart network
ip -c -br a

Должен быть такой вывод у команды:

ВЫВОД
lo               UNKNOWN        127.0.0.1/8 ::1/128
enp7s1           UP             172.16.2.2/28 fe80::be24:11ff:fe33:b6b2/64
enp7s2           UP             192.168.3.1/28 fe80::be24:11ff:fea1:62b4/64
BR-SRV

⚠️ 💡 Для enp7s1 (/etc/net/ifaces/enp7s1/options) в HQ-RTR, нужно заменить

ОТКРЫТЬ ФАЙЛ
vim /etc/net/ifaces/enp7s1/options
ВСТАВИТЬ В ФАЙЛ
BOOTPROTO=dhcp
TYPE=eth
CONFIG_WIRELESS=no
SYSTEMD_BOOTPROTO=dhcp4
CONFIG_IPV4=yes
DISABLED=no
NM_CONTROLLED=no
SYSTEMD_CONTROLLED=no

На те параметры что указаны ниже

ВСТАВИТЬ / ЗНАЧЕНИЕ
BOOTPROTO=static
TYPE=eth
ОТКРЫТЬ ФАЙЛ
vim /etc/net/ifaces/enp7s1/ipv4address
ВСТАВИТЬ В ФАЙЛ
192.168.3.2/28
ОТКРЫТЬ ФАЙЛ
vim /etc/net/ifaces/enp7s1/ipv4route
ВСТАВИТЬ В ФАЙЛ
default via 192.168.3.1
ОТКРЫТЬ ФАЙЛ
vim /etc/net/ifaces/enp7s1/resolv.conf
ВСТАВИТЬ В ФАЙЛ
nameserver 9.9.9.9
КОМАНДА
systemctl restart network
ip -c -br a

Должен быть такой вывод у команды:

ВЫВОД
lo               UNKNOWN        127.0.0.1/8 ::1/128
enp7s1           UP             192.168.3.2/28 fe80::be24:11ff:fed0:f63a/64

[ПОДСКАЗКА] ⚠️ 💡 Примечание!: HQ-CLI будет настроен позднее так как там будет использоваться DHCP настройка, на данном этапе теперь требуется настроить проброс портов чтобы пинг начал ходить между устройствами и появился доступ в интернет со всех машин, так же все отчеты будут приведны в отдельном файле, сейчас заполнять ничего не требуется, несмотря на задание.

📋 Задание 2: Настройте доступ к сети Интернет, на маршрутизаторе ISP + Задание 8: Настройка динамической трансляции адресов.

Задание 2

Настройте адресацию на интерфейсах. (Уже выполнено здесь)

Интерфейс, подключенный к магистральному провайдеру, получает адрес по DHCP (Изначально так и есть, ничего делать не нужно)

Настройте маршрут по умолчанию, если это необходимо. (Уже выполнено здесь)

Настройте интерфейс, в сторону HQ-RTR, интерфейс подключен к сети 172.16.1.0/28 (Уже выполнено здесь)

Настройте интерфейс, в сторону BR-RTR, интерфейс подключен к сети 172.16.2.0/28 (Уже выполнено здесь)

На ISP настройте динамическую сетевую трансляцию портов для доступа к сети Интернет HQ-RTR и BR-RTR. ### Задание 8:

Настройте динамическую трансляцию адресов для обоих офисов.

Все устройства в офисах должны иметь доступ к сети Интернет

ISP
ОТКРЫТЬ ФАЙЛ
vim /etc/net/sysctl.conf
ВСТАВИТЬ В ФАЙЛ
net.ipv4.ip_forward = 1
КОМАНДА
sysctl -p
systemctl restart network
apt-get update && apt-get install iptables -y
iptables -t nat -A POSTROUTING -o enp7s1 -s 172.16.1.0/28 -j MASQUERADE
iptables -t nat -A POSTROUTING -o enp7s1 -s 172.16.2.0/28 -j MASQUERADE
КОМАНДА
iptables -A FORWARD -i ens19 -o enp7s1 -s 172.16.1.0/28 -j ACCEPT
iptables -A FORWARD -i ens20 -o enp7s1 -s 172.16.2.0/28 -j ACCEPT
iptables-save > /etc/sysconfig/iptables
systemctl enable iptables --now
systemctl restart iptables
ПРОВЕРКА
systemctl status iptables
iptables -t nat -L -n -v

Должны быть такие выводы у команд:

ВЫВОД
● iptables.service - IPv4 firewall with iptables
Loaded: loaded (/lib/systemd/system/iptables.service; enabled; vendor preset: disabled)
Active: active (exited) since Tue 2025-12-09 11:07:03 +07; 5s ago
Process: 8199 ExecStart=/etc/init.d/iptables start (code=exited, status=0/SUCCESS)
Main PID: 8199 (code=exited, status=0/SUCCESS)
        CPU: 11ms
Dec 09 11:07:03 isp.au-team.irpo systemd[1]: Starting IPv4 firewall with iptables...
Dec 09 11:07:03 isp.au-team.irpo iptables[8213]: Applying iptables firewall rules: succeeded
Dec 09 11:07:03 isp.au-team.irpo iptables[8199]: Applying iptables firewall rules: [ DONE ]
Dec 09 11:07:03 isp.au-team.irpo systemd[1]: Finished IPv4 firewall with iptables.
Chain PREROUTING (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target     prot opt in     out     source               destination
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target     prot opt in     out     source               destination
Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target     prot opt in     out     source               destination
Chain POSTROUTING (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target     prot opt in     out     source               destination
0     0 MASQUERADE  all  --  *      enp7s1  172.16.1.0/28        0.0.0.0/0
0     0 MASQUERADE  all  --  *      enp7s1  172.16.2.0/28        0.0.0.0/0

[ПОДСКАЗКА] ⚠️ 💡 Примечание!: Сразу же настроим интернет на всех устройствах, для этого потребуется повтороить настройку на всех устройствах, детали приведены ниже.

HQ-RTR
ОТКРЫТЬ ФАЙЛ
vim /etc/net/sysctl.conf
ВСТАВИТЬ В ФАЙЛ
net.ipv4.ip_forward = 1
КОМАНДА
sysctl -p
systemctl restart network
apt-get update && apt-get install iptables -y
iptables -t nat -A POSTROUTING -o enp7s1 -s 192.168.100.0/27 -j MASQUERADE
iptables -t nat -A POSTROUTING -o enp7s1 -s 192.168.200.64/28 -j MASQUERADE
КОМАНДА
iptables -t nat -A POSTROUTING -o enp7s1 -s 192.168.99.88/29 -j MASQUERADE
iptables -A FORWARD -i ens19.10 -o enp7s1 -s 192.168.100.0/27 -j ACCEPT
iptables -A FORWARD -i ens19.20 -o enp7s1 -s 192.168.200.64/28 -j ACCEPT
iptables -A FORWARD -i ens19.99 -o enp7s1 -s 192.168.99.88/29 -j ACCEPT
iptables-save > /etc/sysconfig/iptables
КОМАНДА
systemctl enable iptables --now
systemctl restart iptables
systemctl status iptables
iptables -t nat -L -n -v

Должны быть такие выводы у команд:

ВЫВОД
● iptables.service - IPv4 firewall with iptables
Loaded: loaded (/lib/systemd/system/iptables.service; enabled; vendor preset: disabled)
Active: active (exited) since Tue 2025-12-09 04:10:30 UTC; 4s ago
Process: 8484 ExecStart=/etc/init.d/iptables start (code=exited, status=0/SUCCESS)
Main PID: 8484 (code=exited, status=0/SUCCESS)
        CPU: 11ms
Dec 09 04:10:30 hq-rtr.au-team.irpo systemd[1]: Starting IPv4 firewall with iptables...
Dec 09 04:10:30 hq-rtr.au-team.irpo iptables[8498]: Applying iptables firewall rules: succeeded
Dec 09 04:10:30 hq-rtr.au-team.irpo iptables[8484]: Applying iptables firewall rules: [ DONE ]
Dec 09 04:10:30 hq-rtr.au-team.irpo systemd[1]: Finished IPv4 firewall with iptables.
Chain PREROUTING (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target     prot opt in     out     source               destination
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target     prot opt in     out     source               destination
Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target     prot opt in     out     source               destination
Chain POSTROUTING (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target     prot opt in     out     source               destination
0     0 MASQUERADE  all  --  *      enp7s1  192.168.100.0/27     0.0.0.0/0
0     0 MASQUERADE  all  --  *      enp7s1  192.168.200.64/28    0.0.0.0/0
0     0 MASQUERADE  all  --  *      enp7s1  192.168.99.88/29     0.0.0.0/0
BR-RTR
ОТКРЫТЬ ФАЙЛ
vim /etc/net/sysctl.conf
ВСТАВИТЬ В ФАЙЛ
net.ipv4.ip_forward = 1
КОМАНДА
sysctl -p
systemctl restart network
apt-get update && apt-get install iptables -y
iptables -t nat -A POSTROUTING -o enp7s1 -s 192.168.3.0/28 -j MASQUERADE
iptables -A FORWARD -i ens19 -o enp7s1 -s 192.168.3.0/28 -j ACCEPT
КОМАНДА
iptables-save > /etc/sysconfig/iptables
systemctl enable iptables --now
systemctl restart iptables
systemctl status iptables
iptables -t nat -L -n -v

Должны быть такие выводы у команд:

ВЫВОД
● iptables.service - IPv4 firewall with iptables
Loaded: loaded (/lib/systemd/system/iptables.service; enabled; vendor preset: disabled)
Active: active (exited) since Tue 2025-12-09 04:12:17 UTC; 5s ago
Process: 7872 ExecStart=/etc/init.d/iptables start (code=exited, status=0/SUCCESS)
Main PID: 7872 (code=exited, status=0/SUCCESS)
        CPU: 11ms
Dec 09 04:12:17 br-rtr.au-team.irpo systemd[1]: Starting IPv4 firewall with iptables...
Dec 09 04:12:17 br-rtr.au-team.irpo iptables[7887]: Applying iptables firewall rules: succeeded
Dec 09 04:12:17 br-rtr.au-team.irpo iptables[7872]: Applying iptables firewall rules: [ DONE ]
Dec 09 04:12:17 br-rtr.au-team.irpo systemd[1]: Finished IPv4 firewall with iptables.
Chain PREROUTING (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target     prot opt in     out     source               destination
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target     prot opt in     out     source               destination
Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target     prot opt in     out     source               destination
Chain POSTROUTING (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target     prot opt in     out     source               destination
0     0 MASQUERADE  all  --  *      enp7s1  192.168.3.0/28       0.0.0.0/0

[ВАЖНО] ⚠️ Важно: На данном этапе уже должен работать выход в Интернет на всех устройствах (кроме HQ-CLI, его настроим позже по DHCP), а также пинг между ними. Если что-то не работает, значит где-то ошибка.

📋 Задание 11: Настройте часовой пояс на всех устройствах (за исключением виртуального коммутатора, в случае его использования) согласно месту проведения экзамена.

ISP, HQ-RTR, BR-RTR

На данных устройствах необходимо предварительно установить пакет tzdata для некоторых регионов которых нет по умолчанию на Alt JeOS, в 2026 году это ISP, HQ-RTR, BR-RTR. Если для экзамена использовались машины из скрипта PavelAF.

КОМАНДА
apt-get update && apt-get install tzdata -y
timedatectl set-timezone Asia/Novosibirsk
timedatectl # Проверка

HQ-SRV, HQ-CLI, BR-SRV

На данных устройствах можно сразу установить часовой пояс, так как тут используется Alt Server и Alt Workstation, где уже есть пакет tzdata.

КОМАНДА
timedatectl set-timezone Asia/Novosibirsk
timedatectl # Проверка

📋 Задание 3: Создание локальных учетных записей.

Задание 3

Создайте локальные учетные записи на серверах HQ-SRV и BR-SRV

Создайте пользователя sshuser.

Пароль пользователя sshuser с паролем P@ssw0rd.

Идентификатор пользователя 2026.

Пользователь sshuser должен иметь возможность запускать sudo без ввода пароля.

Создайте пользователя net_admin на маршрутизаторах HQ-RTR и BR-RTR.

Пароль пользователя net_admin с паролем P@ssw0rd.

При настройке ОС на базе Linux, запускать sudo без ввода пароля.

При настройке ОС отличных от Linux пользователь должен обладать максимальными привилегиями.

HQ-SRV и BR-SRV

КОМАНДА
useradd sshuser -u 2026 -U
passwd sshuser # P@ssw0rd
usermod -a -G wheel sshuser
echo "sshuser ALL=(ALL:ALL) NOPASSWD: ALL" >> /etc/sudoers

Из под нового пользователя sshuser должен быть доступ без пароля

КОМАНДА
exit
sshuser # P@ssw0rd
sudo cat /root/.bashrc

HQ-RTR и BR-RTR

КОМАНДА
apt-get update && apt-get install sudo -y
useradd net_admin
passwd net_admin # P@ssw0rd
usermod -a -G wheel net_admin
echo "net_admin ALL=(ALL:ALL) NOPASSWD: ALL" >> /etc/sudoers

Из под нового пользователя net_admin должен быть доступ без пароля

КОМАНДА
exit
net_admin # P@ssw0rd
sudo cat /root/.bashrc

📋 Задание 5: Настройте безопасный удаленный доступ на серверах HQ-SRV и BR-SRV.

Для подключения используйте порт 2026.

Разрешите подключения только пользователю sshuser.

Ограничьте количество попыток входа до двух.

Настройте баннер «Authorized access only».

BR-SRV
КОМАНДА
apt-get update && apt-get install openssh-server -y
ОТКРЫТЬ ФАЙЛ
vim /etc/openssh/sshd_config
ВСТАВИТЬ В ФАЙЛ
Port 2026
MaxAuthTries 2
Banner /etc/openssh/sshd_banner
AllowUsers sshuser
ОТКРЫТЬ ФАЙЛ
vim /etc/openssh/sshd_banner

«Authorized access only»

КОМАНДА
systemctl enable sshd --now
systemctl restart sshd
systemctl status sshd

Должен быть такой вывод у команды:

ВЫВОД
● sshd.service - OpenSSH server daemon
Loaded: loaded (/lib/systemd/system/sshd.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2025-12-09 23:32:23 +07; 4s ago
Process: 3075 ExecStartPre=/usr/bin/ssh-keygen -A (code=exited, status=0/SUCCESS)
Process: 3077 ExecStartPre=/usr/sbin/sshd -t (code=exited, status=0/SUCCESS)
Main PID: 3078 (sshd)
Tasks: 1 (limit: 1131)
Memory: 748.0K
        CPU: 6ms
CGroup: /system.slice/sshd.service
└─ 3078 /usr/sbin/sshd -D
Dec 09 23:32:23 br-srv.au-team.irpo systemd[1]: Starting OpenSSH server daemon...
Dec 09 23:32:23 br-srv.au-team.irpo sshd[3078]: Server listening on 0.0.0.0 port 2026.
Dec 09 23:32:23 br-srv.au-team.irpo systemd[1]: Started OpenSSH server daemon.
Dec 09 23:32:23 br-srv.au-team.irpo sshd[3078]: Server listening on :: port 2026.
КОМАНДА
ssh sshuser@localhost -p 2026

Должен быть такой вывод у команды:

ВЫВОД
The authenticity of host '[localhost]:2026 ([127.0.0.1]:2026)' can't be established.
ED25519 key fingerprint is SHA256:I5hoQPp6etwA1OX7wCOKfAFLhiJ8U848g4KUIWRnjyY.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '[localhost]:2026' (ED25519) to the list of known hosts.
«Authorized access only»
sshuser@localhost's password
Last login: Tue Dec  9 23:04:42 2025
[sshuser@br-srv ~]$
HQ-SRV
КОМАНДА
apt-get update && apt-get install openssh-server -y
ОТКРЫТЬ ФАЙЛ
vim /etc/openssh/sshd_config
ВСТАВИТЬ В ФАЙЛ
Port 2026
MaxAuthTries 2
Banner /etc/openssh/sshd_banner
AllowUsers sshuser
ОТКРЫТЬ ФАЙЛ
vim /etc/openssh/sshd_banner

«Authorized access only»

КОМАНДА
systemctl enable sshd --now
systemctl restart sshd
systemctl status sshd

Должен быть такой вывод у команды:

ВЫВОД
● sshd.service - OpenSSH server daemon
Loaded: loaded (/lib/systemd/system/sshd.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2025-12-09 23:25:42 +07; 1s ago
Process: 3252 ExecStartPre=/usr/bin/ssh-keygen -A (code=exited, status=0/SUCCESS)
Process: 3254 ExecStartPre=/usr/sbin/sshd -t (code=exited, status=0/SUCCESS)
Main PID: 3255 (sshd)
Tasks: 1 (limit: 1131)
Memory: 744.0K
        CPU: 6ms
CGroup: /system.slice/sshd.service
└─ 3255 /usr/sbin/sshd -D
Dec 09 23:25:42 hq-srv.au-team.irpo systemd[1]: Starting OpenSSH server daemon...
Dec 09 23:25:42 hq-srv.au-team.irpo systemd[1]: Started OpenSSH server daemon.
Dec 09 23:25:42 hq-srv.au-team.irpo sshd[3255]: Server listening on 0.0.0.0 port 2026.
Dec 09 23:25:42 hq-srv.au-team.irpo sshd[3255]: Server listening on :: port 2026.
КОМАНДА
ssh sshuser@localhost -p 2026

Должен быть такой вывод у команды:

ВЫВОД
The authenticity of host '[localhost]:2026 ([127.0.0.1]:2026)' can't be established.
ED25519 key fingerprint is SHA256:ozykrFl1QDnyY+S2wnNx+ZVlUyxY3ct74Bj4RVkmNnI.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '[localhost]:2026' (ED25519) to the list of known hosts.
«Authorized access only»
sshuser@localhost's password
Last login: Tue Dec  9 23:03:21 2025
[sshuser@hq-srv ~]$

[!WARNING] ⚠️ 💡 Примечание: В файле баннера /etc/openssh/sshd_banner, нужно поставить 1-2 отступа вниз чтобы баннер корректно отображался, в завимости от редактора vim/nano. Иначе баннер будет наезжать на поле авторизации или на строку приглашения.

📋 Задание 6: Между офисами HQ и BR, на маршрутизаторах HQ-RTR и BR-RTR необходимо сконфигурировать ip туннель.

На выбор технологии GRE или IP in IP.

Сведения о туннеле занесите в отчёт. (Отчет будет приложен отдельным файлом)

HQ-RTR
КОМАНДА
mkdir /etc/net/ifaces/gre1
ОТКРЫТЬ ФАЙЛ
vim /etc/net/ifaces/gre1/options
ВСТАВИТЬ В ФАЙЛ
TYPE=iptun
TUNTYPE=gre
TUNLOCAL=172.16.1.2
TUNREMOTE=172.16.2.2
TUNOPTIONS='ttl 64'
ОТКРЫТЬ ФАЙЛ
vim /etc/net/ifaces/gre1/ipv4address
ВСТАВИТЬ В ФАЙЛ
10.10.0.1/30
КОМАНДА
systemctl restart network
ip -c -br a

Если все сделано верно получаем следующий вывод:

ВЫВОД
lo               UNKNOWN        127.0.0.1/8 ::1/128
enp7s1           UP             172.16.1.2/28 fe80::be24:11ff:feda:daba/64
enp7s2           UP             fe80::be24:11ff:feae:ad50/64
enp7s2.100@enp7s2 UP             192.168.100.1/27 fe80::be24:11ff:feae:ad50/64
enp7s2.200@enp7s2 UP             192.168.200.65/28 fe80::be24:11ff:feae:ad50/64
enp7s2.999@enp7s2 UP             192.168.99.89/29 fe80::be24:11ff:feae:ad50/64
gre0@NONE        DOWN
gretap0@NONE     DOWN
erspan0@NONE     DOWN
gre1@NONE        UNKNOWN        10.10.0.1/30 fe80::ac10:102/64
BR-RTR
КОМАНДА
mkdir /etc/net/ifaces/gre1
ОТКРЫТЬ ФАЙЛ
vim /etc/net/ifaces/gre1/options
ВСТАВИТЬ В ФАЙЛ
TYPE=iptun
TUNTYPE=gre
TUNLOCAL=172.16.2.2
TUNREMOTE=172.16.1.2
TUNOPTIONS='ttl 64'
ОТКРЫТЬ ФАЙЛ
vim /etc/net/ifaces/gre1/ipv4address
ВСТАВИТЬ В ФАЙЛ
10.10.0.2/30
КОМАНДА
systemctl restart network
ip -c -br a

Если все сделано верно получаем следующий вывод:

ВЫВОД
lo               UNKNOWN        127.0.0.1/8 ::1/128
enp7s1           UP             172.16.2.2/28 fe80::be24:11ff:fe33:b6b2/64
enp7s2           UP             192.168.3.1/28 fe80::be24:11ff:fea1:62b4/64
gre0@NONE        DOWN
gretap0@NONE     DOWN
erspan0@NONE     DOWN
gre1@NONE        UNKNOWN        10.10.0.2/30 fe80::ac10:202/64

[ПРИМЕЧАНИЕ] Проверка: Проверяем работоспобность пингуя по туннелю с 10.10.0.1 на 10.10.0.2 и обратно.

📋 Задание 7: Обеспечьте динамическую маршрутизацию: ресурсы одного офиса должны быть доступны из другого офиса. Для обеспечения динамической маршрутизации используйте link state протокол на ваше усмотрение.

Разрешите выбранный протокол только на интерфейсах в ip туннеле.

Маршрутизаторы должны делиться маршрутами только друг с другом.

Обеспечьте защиту выбранного протокола посредством парольной защиты.

Сведения о настройке и защите протокола занесите в отчёт. (Отдельный файл)

HQ-RTR
КОМАНДА
apt-get update && apt-get install frr -y
ОТКРЫТЬ ФАЙЛ
vim /etc/frr/daemons
ВСТАВИТЬ В ФАЙЛ
ospfd=yes
КОМАНДА
systemctl enable --now frr
systemctl restart frr
reboot
vtysh
ПРОВЕРКА
show run

Вывод:

ВЫВОД
Current configuration
!
frr version 9.0.2
frr defaults traditional
hostname hq-rtr.au-team.irpo
log file /var/log/frr/frr.log
no ipv6 forwarding
!
interface gre1
 ip ospf network broadcast
exit
!
end

[ОСТОРОЖНО] Если все было настроено верно (интерфейс gre,ospfd и нигде не было ошибки) получаем такой вывод, самое главное у вас сама по себе должна появиться строка с интрефейсом, не нужно создавать его самим на FRR, нужно выполнить все в точности как у меня, если интерфейс gre1 внутри FRR создается сам, отсекается большая часть проблем.

BR-RTR
КОМАНДА
apt-get update && apt-get install frr -y
ОТКРЫТЬ ФАЙЛ
vim /etc/frr/daemons
ВСТАВИТЬ В ФАЙЛ
ospfd=yes
КОМАНДА
systemctl enable --now frr
systemctl restart frr
reboot
vtysh
ПРОВЕРКА
show run
ВЫВОД
Current configuration
!
frr version 9.0.2
frr defaults traditional
hostname br-rtr.au-team.irpo
log file /var/log/frr/frr.log
no ipv6 forwarding
!
interface gre1
 ip ospf network broadcast
exit
!
end
HQ-RTR
КОМАНДА
hq-rtr.au-team.irpo# conf t
hq-rtr.au-team.irpo(config)# router ospf
hq-rtr.au-team.irpo(config-router)# ospf router-id 172.16.1.1
hq-rtr.au-team.irpo(config-router)# network 10.10.0.0/30 area 0
hq-rtr.au-team.irpo(config-router)# network 192.168.100.0/27 area 0
КОМАНДА
hq-rtr.au-team.irpo(config-router)# network 192.168.200.64/28 area 0
hq-rtr.au-team.irpo(config-router)# network 192.168.99.88/29 area 0
hq-rtr.au-team.irpo(config-router)# area 0 authentication
hq-rtr.au-team.irpo(config-router)# exit
hq-rtr.au-team.irpo(config)# interface gre1
КОМАНДА
hq-rtr.au-team.irpo(config-if)# ip ospf authentication-key P@ssw0rd
hq-rtr.au-team.irpo(config-if)# ip ospf authentication
hq-rtr.au-team.irpo(config-if)# no ip ospf passive
hq-rtr.au-team.irpo(config-if)# exit
hq-rtr.au-team.irpo(config)# exit
КОМАНДА
hq-rtr.au-team.irpo# wr
ПРОВЕРКА
show run

Содержание конфигурации FRR после настройки:

ВЫВОД
Current configuration
!
frr version 9.0.2
frr defaults traditional
hostname hq-rtr.au-team.irpo
log file /var/log/frr/frr.log
no ipv6 forwarding
!
interface gre1
 ip ospf authentication
 ip ospf authentication-key P@ssw0rd
 ip ospf network broadcast
 no ip ospf passive
exit
!
router ospf
 ospf router-id 172.16.1.1
 network 10.10.0.0/30 area 0
 network 192.168.99.88/29 area 0
 network 192.168.100.0/27 area 0
 network 192.168.200.64/28 area 0
 area 0 authentication
exit
!
end
BR-RTR
КОМАНДА
br-rtr.au-team.irpo# conf t
br-rtr.au-team.irpo(config)# router ospf
br-rtr.au-team.irpo(config-router)# ospf router-id 172.16.2.1
br-rtr.au-team.irpo(config-router)# network 10.10.0.0/30 area 0
br-rtr.au-team.irpo(config-router)# network 192.168.3.0/28 area 0
КОМАНДА
br-rtr.au-team.irpo(config-router)# area 0 authentication
br-rtr.au-team.irpo(config-router)# exit
br-rtr.au-team.irpo(config)# interface gre1
br-rtr.au-team.irpo(config-if)# ip ospf authentication-key P@ssw0rd
br-rtr.au-team.irpo(config-if)# ip ospf authentication
КОМАНДА
br-rtr.au-team.irpo(config-if)# no ip ospf passive
br-rtr.au-team.irpo(config-if)# exit
br-rtr.au-team.irpo(config)# exit
br-rtr.au-team.irpo# wr
ПРОВЕРКА
show run

Содержание конфигурации FRR после настройки:

ВЫВОД
Current configuration
!
frr version 9.0.2
frr defaults traditional
hostname br-rtr.au-team.irpo
log file /var/log/frr/frr.log
no ipv6 forwarding
!
interface gre1
 ip ospf authentication
 ip ospf authentication-key P@ssw0rd
 ip ospf network broadcast
 no ip ospf passive
exit
!
router ospf
 ospf router-id 172.16.2.1
 network 10.10.0.0/30 area 0
 network 192.168.3.0/28 area 0
 area 0 authentication
exit
!
end

Проверим работоспобность OSPF, для этого воспользуемся информацией о соседях полученных через OSPF, состояние должно быть Full/DR,Full/Backup.

ПРОВЕРКА
hq-rtr.au-team.irpo# show ip ospf neighbor
ВЫВОД
Neighbor ID     Pri State           Up Time         Dead Time Address         Interface                        RXmtL RqstL DBsmL
172.16.2.1        1 Full/Backup     1m01s             38.172s 10.10.0.2       gre1:10.10.0.1                       0     0     0
ПРОВЕРКА
br-rtr.au-team.irpo# show ip ospf neighbor
ВЫВОД
Neighbor ID     Pri State           Up Time         Dead Time Address         Interface                        RXmtL RqstL DBsmL
172.16.1.1        1 Full/DR         1m05s             34.321s 10.10.0.1       gre1:10.10.0.2                       0     0     0

[ПРИМЕЧАНИЕ] ⚠️ 💡 Примечание: После того как OSPF успешно работает, нужно проверить пинг, напимер с HQ-SRV попробовать пинговать BR-SRV и обратно, пинг должен успешно проходить между любыми устройствами, кроме ISP и пока не настроенного HQ-CLI.

📋 Задание 9: Настройте протокол динамической конфигурации хостов для сети в сторону HQ-CLI.

Задание 9: - Настройть нужную подсеть. - Для офиса HQ в качестве сервера DHCP выступает маршрутизатор HQ-RTR. - Клиентом является машина HQ-CLI. - Исключить из выдачи адрес маршрутизатора. - Адрес шлюза по умолчанию – адрес маршрутизатора HQ-RTR. - Адрес DNS-сервера для машины HQ-CLI – адрес сервера HQ-SRV. - DNS-суффикс для офисов HQ – au-team.irpo - Сведения о настройке протокола занесите в отчёт

HQ-RTR
КОМАНДА
apt-get update && apt-get install dhcp-server nano -y #Рекомендуется настраивать через nano для корретной табуляции внутри dhcpd.conf.
ОТКРЫТЬ ФАЙЛ
nano /etc/dhcp/dhcpd.conf.sample #Взять шаблон конфига настроек можно отсюда или готовый ниже.

Готовый конфиг

ОТКРЫТЬ ФАЙЛ
nano /etc/dhcp/dhcpd.conf
ВСТАВИТЬ В ФАЙЛ
subnet 192.168.200.64 netmask 255.255.255.240 {
option routers                  192.168.200.65;
option subnet-mask              255.255.255.240;
option domain-name              "au-team.irpo";
option domain-name-servers      192.168.100.2;
range dynamic-bootp 192.168.200.66 192.168.200.78;
default-lease-time 600;
max-lease-time 7200;
}
КОМАНДА
systemctl enable --now dhcpd
systemctl restart dhcpd

[ПРИМЕЧАНИЕ] С настройкой DHCP-сервера закончено, теперь получим IP если HQ-CLI ещё этого не сделал сам.

HQ-CLI
КОМАНДА
dhcpcd

Вывод у команды должен быть таким

dhcpcd-9.4.0 starting

DUID 00:04:a4:4f:22:43:ad:81:49:e1:b2:c7:06:fb:19:ec:1c:6a

enp7s1: soliciting a DHCP lease

enp7s1: offered 192.168.200.66 from 192.168.200.65

enp7s1: leased 192.168.200.66 for 600 seconds

enp7s1: adding route to 192.168.200.64/28

enp7s1: adding default route via 192.168.200.65

forked to background, child pid 2593

ПРОВЕРКА
ip -c -br a

Вывод:

ВЫВОД
lo               UNKNOWN        127.0.0.1/8 ::1/128
enp7s1           UP             192.168.200.66/28 fe80::be24:11ff:fec6:63e9/64
HQ-RTR

Проверка службы на возможные ошибки

ПРОВЕРКА
systemctl status dhcpd

Вывод должен быть таким

ВЫВОД
● dhcpd.service - DHCPv4 Server Daemon
Loaded: loaded (/lib/systemd/system/dhcpd.service; enabled; vendor preset: disabled)
Active: active (running) since Wed 2025-12-10 10:12:20 +07; 2min 8s ago
Docs: man:dhcpd(8)
man:dhcpd.conf(5)
Process: 3338 ExecStartPre=/etc/chroot.d/dhcpd.all (code=exited, status=0/SUCCESS)

Main PID: 3419 (dhcpd)

ВЫВОД
Tasks: 1 (limit: 529)
Memory: 4.3M
        CPU: 40ms
CGroup: /system.slice/dhcpd.service
└─ 3419 /usr/sbin/dhcpd -4 -f --no-pid
Dec 10 10:12:20 hq-rtr.au-team.irpo dhcpd[3419]: Wrote 0 leases to leases file.
Dec 10 10:12:20 hq-rtr.au-team.irpo dhcpd[3419]: Server starting service.
Dec 10 10:12:22 hq-rtr.au-team.irpo dhcpd[3419]: DHCPDISCOVER from bc:24:11:c6:63:e9 via enp7s2.200
Dec 10 10:12:23 hq-rtr.au-team.irpo dhcpd[3419]: DHCPOFFER on 192.168.200.66 to bc:24:11:c6:63:e9 (hq-cli) via enp7s2.200
Dec 10 10:12:23 hq-rtr.au-team.irpo dhcpd[3419]: DHCPREQUEST for 192.168.200.66 (192.168.200.65) from bc:24:11:c6:63:e9 (hq-cli) via enp7s2.200
Dec 10 10:12:23 hq-rtr.au-team.irpo dhcpd[3419]: DHCPACK on 192.168.200.66 to bc:24:11:c6:63:e9 (hq-cli) via enp7s2.200

[ПРИМЕЧАНИЕ] ⚠️ 💡 Примечание: После этого пинг до интернета должен заработать, можно проверрить до 1.1.1.1, пинг по доменным именам пока что не работает, так как локальный DNS на HQ-SRV будет настроен ниже.

[ОСТОРОЖНО] ⚠️ Важно: В случае перезапуска сетевой службы network на HQ-RTR, необходимо в ручную перезапускать каждый раз службу dhcpd (systemctl restart dhcpd), так как она будет сыпать ошибками и выключаться.

📋 Задание 10: Настройте инфраструктуру разрешения доменных имён для офисов HQ и BR.

Задание 10: - Основной DNS-сервер реализован на HQ-SRV - Сервер должен обеспечивать разрешение имён в сетевые адреса устройств и обратно в соответствии с таблицей 3 - В качестве DNS сервера пересылки используйте любой общедоступный DNS сервер.

Таблица 3

Устройство Запись Тип

HQ-RTR hq-rtr.au-team.irpo A,PTR

BR-RTR br-rtr.au-team.irpo A

HQ-SRV hq-srv.au-team.irpo A,PTR

HQ-CLI hq-cli.au-team.irpo A,PTR

BR-SRV br-srv.au-team.irpo A

ISP (интерфейс направленный в сторону HQ-RTR) docker.au-team.irpo A

ISP (интерфейс направленный в сторону BR-RTR) web.au-team.irpo A

HQ-SRV
КОМАНДА
apt-get update && apt-get install bind nano -y
ОТКРЫТЬ ФАЙЛ
nano /etc/bind/options.conf
ВСТАВИТЬ В ФАЙЛ
listen-on { any; };
forward first;
forwarders {9.9.9.9; };
allow-query { any; };
ОТКРЫТЬ ФАЙЛ
nano /etc/bind/local.conf
ВСТАВИТЬ В ФАЙЛ
// Add other zones here
// Зона прямого просмотра (A-записи)
zone "au-team.irpo" {
type master;
file "/etc/bind/db.au-team.irpo";

};

Примечание: // Зона обратного просмотра для сети 192.168.100.0

ВСТАВИТЬ В ФАЙЛ
zone "100.168.192.in-addr.arpa" {
type master;
file "/etc/bind/db.192.168.100";

};

Примечание: // Зона обратного просмотра для сети 192.168.200.64

ВСТАВИТЬ В ФАЙЛ
zone "64.200.168.192.in-addr.arpa" {
type master;
file "/etc/bind/db.192.168.200.64";

};

Примечание: # Обязательно 2 пробела через Enter вниз при редактировании через nano, и 1 пробел вниз через Enter при редактирование через vim, иначе не будет работать.

ОТКРЫТЬ ФАЙЛ
nano /etc/bind/db.au-team.irpo
ВСТАВИТЬ В ФАЙЛ
$TTL 86400
@   IN  SOA hq-srv.au-team.irpo. root.au-team.irpo. (
2025121001 ; serial
3600       ; refresh
1800       ; retry
604800     ; expire
86400 )    ; minimum
IN  NS  hq-srv.au-team.irpo.
hq-rtr   IN  A   192.168.100.1
br-rtr   IN  A   192.168.3.1
hq-srv   IN  A   192.168.100.2
hq-cli   IN  A   192.168.200.66
br-srv   IN  A   192.168.3.2
docker  IN   A   172.16.1.1
web     IN   A   172.16.2.1

Примечание: # Обязательно 2 пробела через Enter вниз при редактировании через nano, и 1 пробел вниз через Enter при редактирование через vim, иначе не будет работать.

ОТКРЫТЬ ФАЙЛ
nano /etc/bind/db.192.168.100
ВСТАВИТЬ В ФАЙЛ
$TTL 86400
@   IN  SOA hq-srv.au-team.irpo. root.au-team.irpo. (
2025121001
3600
1800
604800
86400 )
IN  NS  hq-srv.au-team.irpo.
1   IN  PTR  hq-rtr.au-team.irpo.
2   IN  PTR  hq-srv.au-team.irpo.

Примечание: # Обязательно 2 пробела через Enter вниз при редактировании через nano, и 1 пробел вниз через Enter при редактирование через vim, иначе не будет работать.

ОТКРЫТЬ ФАЙЛ
nano /etc/bind/db.192.168.200.64
ВСТАВИТЬ В ФАЙЛ
$TTL 86400
@   IN  SOA hq-srv.au-team.irpo. root.au-team.irpo. (
2025121001
3600
1800
604800
86400 )
IN  NS  hq-srv.au-team.irpo.
1  IN  PTR  hq-cli.au-team.irpo.

Примечание: # Обязательно 2 пробела через Enter вниз при редактировании через nano, и 1 пробел вниз через Enter при редактирование через vim, иначе не будет работать.

КОМАНДА
rm -rf /etc/net/ifaces/enp7s1/resolv.conf
systemctl restart network
ОТКРЫТЬ ФАЙЛ
nano /etc/resolvconf.conf
ВСТАВИТЬ В ФАЙЛ
name_servers=127.0.0.1
КОМАНДА
resolvconf -u
systemctl restart network

Выполним проверку

ПРОВЕРКА
cat /etc/resolv.conf | grep nameserver

Если все настроено верно получаем такой ответ

ВЫВОД
nameserver 127.0.0.1

Запускаем службу DNS

КОМАНДА
systemctl enable --now bind
systemctl restart bind
systemctl status bind
ВЫВОД
● bind.service - Berkeley Internet Name Domain (DNS)
Loaded: loaded (/lib/systemd/system/bind.service; enabled; vendor preset: disabled)
Active: active (running) since Wed 2025-12-10 10:34:08 +07; 4s ago
Process: 16785 ExecStartPre=/etc/init.d/bind rndc_keygen (code=exited, status=0/SUCCESS)
Process: 16790 ExecStartPre=/usr/sbin/named-checkconf $CHROOT -z /etc/named.conf (code=exited, status=0/SUCCESS)
Process: 16791 ExecStart=/usr/sbin/named -u named $CHROOT $RETAIN_CAPS $EXTRAOPTIONS (code=exited, status=0/SUCCESS)
Tasks: 5 (limit: 1131)
Memory: 11.0M
        CPU: 23ms
CGroup: /system.slice/bind.service
└─ 16792 /usr/sbin/named -u named
Dec 10 10:34:08 hq-srv.au-team.irpo named[16792]: network unreachable resolving './NS/IN': 2001:500:9f::42#53
Dec 10 10:34:08 hq-srv.au-team.irpo named[16792]: network unreachable resolving './NS/IN': 2001:dc3::35#53
Dec 10 10:34:08 hq-srv.au-team.irpo named[16792]: network unreachable resolving './NS/IN': 2001:503:c27::2:30#53
Dec 10 10:34:08 hq-srv.au-team.irpo named[16792]: network unreachable resolving './NS/IN': 2001:500:1::53#53
Dec 10 10:34:08 hq-srv.au-team.irpo named[16792]: network unreachable resolving './NS/IN': 2001:500:2f::f#53
Dec 10 10:34:08 hq-srv.au-team.irpo named[16792]: network unreachable resolving './NS/IN': 2001:500:2::c#53
Dec 10 10:34:08 hq-srv.au-team.irpo named[16792]: network unreachable resolving './NS/IN': 2001:500:a8::e#53
Dec 10 10:34:09 hq-srv.au-team.irpo named[16792]: managed-keys-zone: Key 20326 for zone . is now trusted (acceptance timer complete)
Dec 10 10:34:09 hq-srv.au-team.irpo named[16792]: managed-keys-zone: Key 38696 for zone . is now trusted (acceptance timer complete)
Dec 10 10:34:09 hq-srv.au-team.irpo named[16792]: resolver priming query complete

[ВАЖНО] ⚠️ Важно: Проверяем с помощью пинга соседей по их доменным именам, пробуем пинговать br-srv.au-team.irpo, hq-cli.au-team.irpo, moodle.au-team.irpo, wiki.au-team.irpo и так далее. Проверяем выход в Интернет. Далее небходимо настроить этот локальный DNS сервер для всех машин, так как на hq-cli настроен DHCP где уже прописан этот сервер, то это будет нужно сделать только на HQ-RTR,BR-RTR,BR-SRV.

HQ-RTR
ОТКРЫТЬ ФАЙЛ
vim /etc/net/ifaces/enp7s1/resolv.conf
ВСТАВИТЬ В ФАЙЛ
nameserver 192.168.100.2 # Старую запись удаляем, оставляем только новую.
КОМАНДА
systemctl restart network
systemctl restart dhcpd
BR-RTR
ОТКРЫТЬ ФАЙЛ
vim /etc/net/ifaces/enp7s1/resolv.conf
ВСТАВИТЬ В ФАЙЛ
nameserver 192.168.100.2 # Старую запись удаляем, оставляем только новую.
КОМАНДА
systemctl restart network
BR-SRV
ОТКРЫТЬ ФАЙЛ
vim /etc/net/ifaces/enp7s1/resolv.conf
ВСТАВИТЬ В ФАЙЛ
nameserver 192.168.100.2 # Старую запись удаляем, оставляем только новую.
КОМАНДА
systemctl restart network

HQ-RTR,HQ-CLI,HQ-SRV,BR-RTR,BR-SRV

КОМАНДА
ping hq-rtr.au-team.irpo
ping hq-cli.au-team.irpo
ping hq-srv.au-team.irpo
ping br-rtr.au-team.irpo
ping br-srv.au-team.irpo
КОМАНДА
ping web.au-team.irpo
ping docker.au-team.irpo

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

ВЫВОД
PING hq-rtr.au-team.irpo (192.168.100.1) 56(84) bytes of data.

64 bytes from hq-rtr.au-team.irpo (192.168.100.1): icmp_seq=1 ttl=63 time=0.988 ms

64 bytes from hq-rtr.au-team.irpo (192.168.100.1): icmp_seq=2 ttl=63 time=1.21 ms

64 bytes from hq-rtr.au-team.irpo (192.168.100.1): icmp_seq=3 ttl=63 time=1.21 ms

64 bytes from hq-rtr.au-team.irpo (192.168.100.1): icmp_seq=4 ttl=63 time=0.940 ms

ВЫВОД
PING hq-srv.au-team.irpo (192.168.100.2) 56(84) bytes of data.

64 bytes from hq-srv.au-team.irpo (192.168.100.2): icmp_seq=1 ttl=62 time=0.950 ms

64 bytes from hq-srv.au-team.irpo (192.168.100.2): icmp_seq=2 ttl=62 time=1.32 ms

64 bytes from hq-srv.au-team.irpo (192.168.100.2): icmp_seq=3 ttl=62 time=1.24 ms

64 bytes from hq-srv.au-team.irpo (192.168.100.2): icmp_seq=4 ttl=62 time=1.31 ms

ВЫВОД
PING hq-cli.au-team.irpo (192.168.200.66) 56(84) bytes of data.

64 bytes from 192.168.200.66 (192.168.200.66): icmp_seq=1 ttl=62 time=1.08 ms

64 bytes from 192.168.200.66 (192.168.200.66): icmp_seq=2 ttl=62 time=1.29 ms

64 bytes from 192.168.200.66 (192.168.200.66): icmp_seq=3 ttl=62 time=1.24 ms

64 bytes from 192.168.200.66 (192.168.200.66): icmp_seq=4 ttl=62 time=1.23 ms

ВЫВОД
PING br-rtr.au-team.irpo (192.168.3.1) 56(84) bytes of data.

64 bytes from 192.168.3.1 (192.168.3.1): icmp_seq=1 ttl=63 time=0.993 ms

64 bytes from 192.168.3.1 (192.168.3.1): icmp_seq=2 ttl=63 time=1.22 ms

64 bytes from 192.168.3.1 (192.168.3.1): icmp_seq=3 ttl=63 time=1.29 ms

64 bytes from 192.168.3.1 (192.168.3.1): icmp_seq=4 ttl=63 time=1.11 ms

ВЫВОД
PING br-srv.au-team.irpo (192.168.3.2) 56(84) bytes of data.

64 bytes from 192.168.3.2 (192.168.3.2): icmp_seq=1 ttl=62 time=1.18 ms

64 bytes from 192.168.3.2 (192.168.3.2): icmp_seq=2 ttl=62 time=1.29 ms

64 bytes from 192.168.3.2 (192.168.3.2): icmp_seq=3 ttl=62 time=1.34 ms

64 bytes from 192.168.3.2 (192.168.3.2): icmp_seq=4 ttl=62 time=1.35 ms

ВЫВОД
PING docker.au-team.irpo (172.16.1.1) 56(84) bytes of data.

64 bytes from 172.16.1.1 (172.16.1.1): icmp_seq=1 ttl=63 time=0.544 ms

64 bytes from 172.16.1.1 (172.16.1.1): icmp_seq=2 ttl=63 time=0.737 ms

64 bytes from 172.16.1.1 (172.16.1.1): icmp_seq=3 ttl=63 time=0.983 ms

64 bytes from 172.16.1.1 (172.16.1.1): icmp_seq=4 ttl=63 time=0.790 ms

ВЫВОД
PING web.au-team.irpo (172.16.2.1) 56(84) bytes of data.

64 bytes from 172.16.2.1 (172.16.2.1): icmp_seq=1 ttl=63 time=0.551 ms

64 bytes from 172.16.2.1 (172.16.2.1): icmp_seq=2 ttl=63 time=0.905 ms

64 bytes from 172.16.2.1 (172.16.2.1): icmp_seq=3 ttl=63 time=0.905 ms

64 bytes from 172.16.2.1 (172.16.2.1): icmp_seq=4 ttl=63 time=0.810 ms

[ПРИМЕЧАНИЕ] Проверямем пинг до Интернета, локальных доменных имен, все должно работать, со всех машин на все машины.

[ПОДСКАЗКА] После этих манипуляций, - Модуль 1: полностью выполнен, необходимо заполнить отчет как указано здесь.

Модуль 2: Системное администрирование (1.5 часа)

📋 Задание 1: Настройте контроллер домена Samba DC на сервере BR-SRV.

Цель раздела: поднять контроллер домена Samba DC, ввести HQ-CLI в домен, создать группу hq и пользователей hquser1–hquser5, а затем ограничить sudo для доменных пользователей только командами cat, grep и id.

  • Имя домена: au-team.irpo.
  • В домен вводится машина HQ-CLI.
  • Пользователи офиса HQ: hquser1, hquser2, hquser3, hquser4, hquser5.
  • Группа: hq.
  • Пользователи группы hq должны аутентифицироваться на HQ-CLI.
  • Повышение привилегий разрешается только для команд cat, grep, id.
BR-SRV

1. Установка пакета Samba DC

Устанавливаем пакет task-samba-dc. Команда выделена отдельно, чтобы её можно было быстро скопировать и вставить.

КОМАНДА
apt-get update && apt-get install -y task-samba-dc

2. Подготовка каталогов Samba перед развёртыванием домена

Удаляем старые конфигурации Samba, очищаем рабочие каталоги и создаём sysvol. Эти команды лучше выполнять перед provision, чтобы не словить конфликт старой конфигурации.

КОМАНДА
rm -f /etc/samba/smb.conf
КОМАНДА
rm -rf /var/lib/samba
КОМАНДА
rm -rf /var/cache/samba
КОМАНДА
mkdir -p /var/lib/samba/sysvol

3. Создание домена Samba

Запускаем интерактивное развёртывание домена. После запуска Samba задаст несколько вопросов: realm, domain, роль сервера, DNS-backend, DNS-forwarder и пароль администратора.

КОМАНДА
samba-tool domain provision

Рекомендуемые значения для интерактивного мастера:

ВСТАВИТЬ / ЗНАЧЕНИЕ
Realm [AU-TEAM.IRPO]: au-team.irpo
Domain [AU-TEAM]: au-team
Server Role (dc, member, standalone) [dc]: dc
DNS backend (SAMBA_INTERNAL, BIND9_FLATFILE, BIND9_DLZ, NONE) [SAMBA_INTERNAL]: SAMBA_INTERNAL
DNS forwarder IP address (write 'none' to disable forwarding) [77.88.8.8]: 77.88.8.8
Administrator password: P@ssw0rd
Retype password: P@ssw0rd

После успешного provision в выводе должны появиться сведения о роли сервера, имени хоста, домене DNS, домене NetBIOS и SID домена. Примерный вывод:

ВСТАВИТЬ / ЗНАЧЕНИЕ
Server Role:           active directory domain controller
КОМАНДА
Hostname:              br-srv
ВСТАВИТЬ / ЗНАЧЕНИЕ
NetBIOS Domain:        AU-TEAM
DNS Domain:            au-team.irpo
DOMAIN SID:            S-1-5-21-...

4. Настройка Kerberos и запуск службы Samba

Копируем Kerberos-конфигурацию, включаем службу Samba и запускаем её сразу.

КОМАНДА
cp /var/lib/samba/private/krb5.conf /etc/krb5.conf
КОМАНДА
systemctl enable --now samba.service

Если служба поднялась нормально, в systemctl не должно быть ошибок. В выводе provision или systemctl может быть видно создание Samba-процессов и статус службы.

5. Настройка DNS на BR-SRV

Для нормальной работы домена BR-SRV должен использовать себя как DNS-сервер. В документе используется интерфейс enp0s3; если в твоей машине интерфейс называется иначе, замени имя интерфейса в пути.

КОМАНДА
echo "search au-team.irpo" > /etc/net/ifaces/enp0s3/resolv.conf
КОМАНДА
echo "nameserver 127.0.0.1" >> /etc/net/ifaces/enp0s3/resolv.conf
КОМАНДА
systemctl restart network

6. Проверка домена и Kerberos

Проверяем, что домен поднялся и Kerberos видит билет администратора.

КОМАНДА
samba-tool domain info 127.0.0.1
ВСТАВИТЬ / ЗНАЧЕНИЕ
Forest           : au-team.irpo
Domain           : au-team.irpo
Netbios domain   : AU-TEAM
DC name          : br-srv.au-team.irpo
DC netbios name  : BR-SRV
Server site      : Default-First-Site-Name
Client site      : Default-First-Site-Name
КОМАНДА
kinit

Для kinit вводится пароль администратора домена:

ВСТАВИТЬ / ЗНАЧЕНИЕ
P@ssw0rd
КОМАНДА
klist
КОМАНДА
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: Administrator@AU-TEAM.IRPO

Valid starting       Expires              Service principal
03/02/26 09:24:12    03/02/26 19:24:12   krbtgt/AU-TEAM.IRPO@AU-TEAM.IRPO

7. Создание группы hq и пользователей hquser1–hquser5

Создаём группу hq, затем циклом создаём 5 пользователей, отключаем истечение пароля и добавляем каждого пользователя в группу hq.

КОМАНДА
samba-tool group add hq
КОМАНДА
for i in {1..5}; do
  samba-tool user add hquser$i P@ssw0rd
  samba-tool user setexpiry hquser$i --noexpiry
  samba-tool group addmembers "hq" hquser$i
ВСТАВИТЬ / ЗНАЧЕНИЕ
done

Ожидаемый смысл вывода: пользователи добавляются успешно, expiry отключается, membership в группе hq применяется.

ВСТАВИТЬ / ЗНАЧЕНИЕ
Added group hq
User 'hquser1' added successfully
Expiry for user 'hquser1' disabled.
Added members to group hq
User 'hquser2' added successfully
Expiry for user 'hquser2' disabled.
Added members to group hq
...
User 'hquser5' added successfully
Expiry for user 'hquser5' disabled.
Added members to group hq

8. Проверка состава группы hq

ПРОВЕРКА
samba-tool group listmembers hq
ВСТАВИТЬ / ЗНАЧЕНИЕ
hquser2
hquser1
hquser5
hquser3
hquser4
HQ-RTR

9. Передача DNS-адреса домена через DHCP

На HQ-RTR меняем DNS, который выдаётся DHCP-клиенту HQ-CLI, и перезапускаем DHCP-службу. В документе указан адрес 192.168.0.2. Если в твоём стенде у контроллера домена другой адрес, подставь адрес своего BR-SRV/Samba DC.

КОМАНДА
sed -i "s/option domain-name-servers 192.168.100.2;/option domain-name-servers 192.168.0.2;/g" /etc/dhcp/dhcpd.conf
КОМАНДА
systemctl restart dhcpd.service
HQ-CLI

10. Проверка DNS на клиенте

Переходим в root, перезапускаем сеть и проверяем resolv.conf.

КОМАНДА
su -
КОМАНДА
systemctl restart network
ПРОВЕРКА
cat /etc/resolv.conf
ВСТАВИТЬ / ЗНАЧЕНИЕ
# Generated by resolvconf
# Do not edit manually, use
# /etc/net/ifaces/<interface>/resolv.conf instead.
domain au-team.irpo
nameserver 192.168.0.2

11. Установка пакета для входа в домен через SSSD

КОМАНДА
apt-get update && apt-get install -y task-auth-ad-sssd

12. Ввод HQ-CLI в домен через Центр управления системой

Открываем Центр управления системой, раздел «Пользователи» → «Аутентификация». Выбираем «Домен Active Directory».

  • Домен: au-team.irpo.
  • Рабочая группа: AU-TEAM.
  • Имя компьютера: hq-cli.
  • Способ входа: SSSD, то есть вариант «в единственном домене».
  • После применения должно появиться сообщение: «Добро пожаловать в домен AU-TEAM.IRPO».

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

13. Настройка ограниченного sudo для группы hq

После перезагрузки настраиваем роль hq и отдельный файл sudoers.d/hq. В копирование вынесены отдельные команды, чтобы не приходилось вырезать их из большого блока.

КОМАНДА
roleadd hq wheel
КОМАНДА
echo "Cmnd_Alias SHELLCMD = /bin/cat, /bin/grep, /usr/bin/id" > /etc/sudoers.d/hq
КОМАНДА
echo "WHEEL_USERS ALL=(ALL:ALL) SHELLCMD" >> /etc/sudoers.d/hq

14. Финальная проверка доменного пользователя

Заходим под доменным пользователем из группы hq, например hquser1, и проверяем разрешённые команды.

КОМАНДА
sudo id
КОМАНДА
sudo cat /etc/hosts
КОМАНДА
sudo grep "127.0.0.1" /etc/hosts

Пример ожидаемого вывода для разрешённых команд:

КОМАНДА
[hquser1@hq-cli ~]$ sudo id
ВСТАВИТЬ / ЗНАЧЕНИЕ
uid=0(root) gid=0(root) группы=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel),19(...)
КОМАНДА
[hquser1@hq-cli ~]$ sudo cat /etc/hosts
ВСТАВИТЬ / ЗНАЧЕНИЕ
127.0.0.1    localhost.localdomain localhost
::1          localhost6.localdomain localhost6
КОМАНДА
[hquser1@hq-cli ~]$ sudo grep "127.0.0.1" /etc/hosts
ВСТАВИТЬ / ЗНАЧЕНИЕ
127.0.0.1    localhost.localdomain localhost

Проверяем, что лишние команды через sudo запрещены.

КОМАНДА
sudo ip a
КОМАНДА
Извините, пользователю hquser1 не разрешено выполнять «/sbin/ip a» как root на hq-cli.au-team.irpo.

Итог: Samba DC поднят на BR-SRV, HQ-CLI введён в домен, пользователи hquser1–hquser5 находятся в группе hq, а sudo для группы hq ограничен командами cat, grep и id.

📋 Задание 11: Удобным способом установите приложение Яндекс Браузер на HQ-CLI.

Задание 11: - Установку браузера отметьте в отчёте.

[ВАЖНО] Готовый отчет можно взять - тут.

Самый лучший способ: установить напрямую через пакетный менеджер.

КОМАНДА
apt-get update && apt-get install yandex-browser -y

📋 Задание 2: Сконфигурируйте файловое хранилище на сервере HQ-SRV + Задание 3: Настройте сервер сетевой файловой системы (nfs) на HQ-SRV.

Задание 2

При помощи двух подключенных к серверу дополнительных дисков размером 1 Гб сконфигурируйте дисковый массив уровня 0

Имя устройства – md0, при необходимости конфигурация массива размещается в файле /etc/mdadm.conf

Создайте раздел, отформатируйте раздел, в качестве файловой системы используйте ext4

Обеспечьте автоматическое монтирование в папку /raid

Задание 3: - В качестве папки общего доступа выберите /raid/nfs, доступ для чтения и записи исключительно для сети в сторону HQ-CLI - На HQ-CLI настройте автомонтирование в папку /mnt/nfs - Основные параметры сервера отметьте в отчёте

[ВАЖНО] Готовый отчет можно взять - тут.

HQ-SRV
ПРОВЕРКА
lsblk
mdadm -C /dev/md0 -l 0 -n 2 /dev/sd{b,c}
lsblk
mkfs.ext4 /dev/md0
echo DEVICE partitions >> /etc/mdadm.conf
КОМАНДА
mdadm --detail --scan >> /etc/mdadm.conf
mkdir /raid
ОТКРЫТЬ ФАЙЛ
mcedit /etc/fstab
ВЫВОД
/dev/md0    /raid ext4 defaults 0   0
КОМАНДА
mount -a
df -h
lsblk
apt-get update && apt-get install -y nfs-{server,utils}
mkdir /raid/nfs
КОМАНДА
chmod 766 /raid/nfs

[!WARNING] Комментируем первую строку в файле /etc/exports, в самом низу прописываем, то что идет ниже.

ОТКРЫТЬ ФАЙЛ
mcedit /etc/exports
ВСТАВИТЬ В ФАЙЛ
/raid/nfs 192.168.2.0/28(rw,no_subtree_check,no_root_squash)

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

КОМАНДА
exportfs -arv
systemctl enable --now nfs-server.service
systemctl restart nfs-server.service
HQ-CLI
КОМАНДА
apt-get update && apt-get install -y nfs-{server,utils}
mkdir /mnt/nfs
chmod 777 /mnt/nfs
ОТКРЫТЬ ФАЙЛ
mcedit /etc/fstab

192.168.1.10:/raid/nfs /mnt/nfs nfs defaults 0 0

КОМАНДА
systemctl enable --now nfs-server.service
systemctl restart nfs-server.service

Монтируем файловую систему и делаем финальную проверку RAID

КОМАНДА
mount -a
df -h

Вывод команды:

ВЫВОД
Файловая система       Размер Использовано  Дост Использовано% Cмонтировано в
udevfs                   5,0M         100K  5,0M            2% /dev
runfs                    1,3G         1,3M  1,3G            1% /run
/dev/sda2                 15G         7,1G  6,5G           53% /
tmpfs                    1,3G            0  1,3G            0% /dev/shm
tmpfs                    1,3G         4,0K  1,3G            1% /tmp
/dev/sda1                473M          55M  390M           13% /var/log
192.168.1.10:/raid/nfs   2,0G            0  1,9G            0% /mnt/nfs
tmpfs                    247M          56K  247M            1% /run/user/0
tmpfs                    247M          80K  247M            1% /run/user/812001105

[ВАЖНО] ⚠️ 💡 Примечание: Выполняем перезагрузку обоих машин и проверяем вывод через df -h на HQ-CLI, расшаренная файловая система с RAID - должна быть автоматически доступна.

📋 Задание 4: Настройте службу сетевого времени на базе сервиса chrony на маршрутизаторе ISP.

Задание 4: - Вышестоящий сервер ntp на маршрутизаторе ISP - на выбор участника. - Стратум сервера - 5 - В качестве клиентов ntp настройте: HQ-SRV, HQ-CLI, BR-RTR, BR-SRV.

ISP
КОМАНДА
apt-get update && apt-get install -y chrony tzdata
ОТКРЫТЬ ФАЙЛ
vim /etc/chrony.conf

initstepslew 10 ntp0.ntp-servers.net

pool 127.0.0.1 iburst prefer

hwtimestamp *

local stratum 5

allow 0/0

Запустим службу времени

КОМАНДА
systemctl restart chronyd
systemctl enable --now chronyd
timedatectl set-timezone Asia/Novosibirsk

В качестве клиентов настроим: HQ-SRV, HQ-CLI, BR-RTR, BR-SRV, выполнить настройку нужно идентично нижней на всех 4-ех клиентах.

КОМАНДА
apt-get update && apt-get install -y chrony tzdata
ОТКРЫТЬ ФАЙЛ
vim /etc/chrony.conf

pool 172.16.1.1 iburst prefer

КОМАНДА
systemctl restart chronyd
systemctl enable --now chronyd
timedatectl set-timezone Asia/Novosibirsk
HQ-RTR

Хоть на HQ-RTR и не настраивается chrony, но часовой пояс укажем и там тоже.

КОМАНДА
timedatectl set-timezone Asia/Novosibirsk

[ПРИМЕЧАНИЕ] ⚠️ 💡 Примечание: На HQ-CLI уже будет сервер времени, нужно лишь добавить новый pool и перезагрузить chronyd.

ISP
КОМАНДА
systemctl restart chronyd

HQ-SRV, HQ-CLI, BR-RTR, BR-SRV

ПРОВЕРКА
chronyc sources

Пример вывода:

ВЫВОД
MS Name/IP address         Stratum Poll Reach LastRx Last sample
===============================================================================
^* 172.16.1.1                    5   6    77    35   +859ns[  -23us] +/-  342us

[ПРИМЕЧАНИЕ] ⚠️ 💡 Примечание: На HQ-CLI будет 2 сервера в выводе, но приоритетный ISP.

📋 Задание 5: Сконфигурируйте ansible на сервере BR-SRV

Задание 5: - Сформируйте файл инвентаря, в инвентарь должны входить HQ-SRV, HQ-CLI, HQ-RTR и BR-RTR - Рабочий каталог ansible должен располагаться в /etc/ansible - Все указанные машины должны без предупреждений и ошибок отвечать pong на команду ping в ansible посланную с BR-SRV

BR-SRV
КОМАНДА
apt-get update && apt-get install openssh-server ansible sshpass nano -y
ОТКРЫТЬ ФАЙЛ
nano /etc/ansible/hosts
ВСТАВИТЬ В ФАЙЛ
[Alt]
hq-rtr.au-team.irpo ansible_ssh_user=net_admin ansible_ssh_pass=P@ssw0rd
hq-srv.au-team.irpo ansible_ssh_user=sshuser ansible_ssh_pass=P@ssw0rd
hq-cli.au-team.irpo ansible_ssh_user=sysadmin ansible_ssh_pass=P@ssw0rd
br-rtr.au-team.irpo ansible_ssh_user=net_admin ansible_ssh_pass=P@ssw0rd
[Alt:vars]
ansible_port=2026

......................................................

ОТКРЫТЬ ФАЙЛ
nano /etc/ansible/ansible.cfg
ВСТАВИТЬ В ФАЙЛ
[defaults]
interpreter_python = /usr/bin/python3
# some basic default values...
# uncomment this to disable SSH key host checking
host_key_checking = False

.......................................................

ПРОВЕРКА
ansible -m ping all

[ПОДСКАЗКА] Если есть положительные ответы уже на этом моменте, то там где они положительные - настройку не производим.

[ПРИМЕЧАНИЕ] В моем случае HQ-SRV уже настроен на порт 2026 с данными для авторизации что я указал выше. ### HQ-SRV

КОМАНДА
apt-get update && apt-get install openssh-server -y
ОТКРЫТЬ ФАЙЛ
vim /etc/openssh/sshd_config
ВСТАВИТЬ В ФАЙЛ
Port 2026
MaxAuthTries 2
AllowUsers sshuser
КОМАНДА
systemctl enable --now sshd
systemctl restart sshd

HQ-RTR и BR-RTR

КОМАНДА
apt-get update && apt-get install openssh-server -y
ОТКРЫТЬ ФАЙЛ
vim /etc/openssh/sshd_config
ВСТАВИТЬ В ФАЙЛ
Port 2026
MaxAuthTries 2
AllowUsers net_admin
КОМАНДА
systemctl enable --now sshd
systemctl restart sshd
HQ-CLI
КОМАНДА
apt-get update && apt-get install openssh-server -y
useradd sysadmin
passwd sysadmin
ВСТАВИТЬ / ЗНАЧЕНИЕ
P@ssw0rd
КОМАНДА
usermod -a -G remote sysadmin
ОТКРЫТЬ ФАЙЛ
vim /etc/openssh/sshd_config
ВСТАВИТЬ В ФАЙЛ
Port 2026
MaxAuthTries 2
AllowGroups wheel remote
КОМАНДА
systemctl enable --now sshd
systemctl restart sshd
BR-SRV
ПРОВЕРКА
ansible -m ping all

Вывод команды:

ВЫВОД
hq-srv.au-team.irpo | SUCCESS => {
"changed": false,
"ping": "pong"
}
br-rtr.au-team.irpo | SUCCESS => {
"changed": false,
"ping": "pong"
}
hq-rtr.au-team.irpo | SUCCESS => {
"changed": false,
"ping": "pong"
}
hq-cli.au-team.irpo | SUCCESS => {
"changed": false,
"ping": "pong"
}

[ПОДСКАЗКА] ⚠️ 💡 Важно: Проверяем чтобы вывод команды совпадал, если все совпдает, значит задание выполнено верно.

📋 Задание 6: Разверните веб приложение в docker на сервере BR-SRV.

Задание 6: - Средствами docker должен создаваться стек контейнеров с веб приложением и базой данных - Используйте образы site_latest и mariadb_latest располагающиеся в директории docker в образе Additional.iso - Основной контейнер testapp должен называться tespapp - Контейнер с базой данных должен называться db - Импортируйте образы в docker, укажите в yaml файле параметры подключения к СУБД, имя БД - testdb, пользователь testс паролем P@ssw0rd, порт приложения 8080, при необходимости другие параметры - Приложение должно быть доступно для внешних подключений через порт 8080

BR-SRV
КОМАНДА
apt-get update && apt-get install docker-ce docker-compose -y
systemctl enable --now docker.socket docker.service
systemctl restart docker.socket docker.service
mount /dev/sr0 /mnt

Проверяем точку монтирования

ПРОВЕРКА
lsblk

Сверяем вывод:

ВЫВОД
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sda      8:0    0    10G  0 disk
├─sda1   8:1    0   503M  0 part /var/log
└─sda2   8:2    0   9.5G  0 part /
sr0     11:0    1 929.7M  0 rom  /mnt

Проверяем содержимое внутри образа

КОМАНДА
ls -la /mnt
ВЫВОД
total 38
dr-xr-xr-x  1 root root   256 Nov 23  2019 .
drwxr-xr-x 24 root root  4096 Dec 11 01:08 ..
dr-xr-xr-x  1 root root   332 Nov 23  2019 docker
dr-xr-xr-x  1 root root   150 Nov 23  2019 playbook
-r-xr-xr-x  1 root root 32527 Oct 13 04:22 Users.csv
dr-xr-xr-x  1 root root   220 Nov 23  2019 web

Копируем docker с образа на систему

КОМАНДА
cp -r /mnt/docker /root/docker

Проверяем файлы

КОМАНДА
ls -la /root/docker
ВЫВОД
total 951964
dr-xr-xr-x 2 root root      4096 Dec 12 22:54 .
drwx------ 8 root root      4096 Dec 12 22:54 ..
-r-xr-xr-x 1 root root 333014016 Dec 12 22:54 mariadb_latest.tar
-r-xr-xr-x 1 root root 282003968 Dec 12 22:54 postgresql_latest.tar
-r-xr-xr-x 1 root root      2716 Dec 12 22:54 readme.txt
-r-xr-xr-x 1 root root 359760896 Dec 12 22:54 site_latest.tar

Загружаем в docker

КОМАНДА
docker load -i /root/docker/site_latest.tar
docker load -i /root/docker/mariadb_latest.tar

Сверяем и проверяем TAG, это потребуется для image: в docker-compose.yaml

КОМАНДА
docker image ls

У меня получился такой вывод:

ВЫВОД
REPOSITORY   TAG       IMAGE ID       CREATED        SIZE
site         latest    015b4b821098   2 months ago   353MB
mariadb      10.11     bc52d24721da   4 months ago   327MB
ВСТАВИТЬ В ФАЙЛ
services:
  testapp:
    image: site:latest
    container_name: testapp # В задании указано tespapp, скорее всего опечатка составителей.
    restart: always
    depends_on:
      - db
    ports:
      - "8080:8000"
    environment:
      DB_TYPE: maria
      DB_HOST: db
      DB_NAME: testdb
      DB_PORT: 3306
      DB_USER: testc
      DB_PASS: P@ssw0rd

  db:
    image: mariadb:10.11
    container_name: db
    restart: always
    environment:
      MARIADB_NAME: testdb
      MARIADB_USER: testc
      MARIADB_PASS: P@ssw0rd
      MARIADB_ROOT_PASSWORD: toor
    volumes:
      - /root/testapp/db_data:/var/lib/mysql
ОТКРЫТЬ ФАЙЛ
nano testapp/docker-compose.yaml
КОМАНДА
mkdir testapp

Создаём директорию и файл docker-compose

Переходим в директорию если ещё не перешли, и поднимаем Docker

КОМАНДА
cd testapp/
docker compose up -d
docker ps

Сверяем вывод:

ВЫВОД
CONTAINER ID   IMAGE           COMMAND                  CREATED          STATUS                         PORTS      NAMES
2f8db625ddfc   site:latest     "sh -c 'python3 -m a…"   22 seconds ago   Restarting (1) 2 seconds ago              testapp
13af1bc1529e   mariadb:10.11   "docker-entrypoint.s…"   22 seconds ago   Up 21 seconds                  3306/tcp   db
Либо может быть так:
CONTAINER ID   IMAGE           COMMAND                  CREATED       STATUS             PORTS                                       NAMES
264276eed58b   site:latest     "sh -c 'python3 -m a…"   27 seconds ago   Up 26 seconds   0.0.0.0:8080->8000/tcp, :::8080->8000/tcp   testapp
8e79d22f6fa7   mariadb:10.11   "docker-entrypoint.s…"   27 seconds ago   Up 26 seconds   3306/tcp                                    db

[ОСТОРОЖНО] На этом этапе заходим на HQ-CLI, и через Firefox пробуем зайти на 192.168.3.10:8080, если страница не открывается, то выполняем действия ниже, если открылась, задание выполнено. ### BR-SRV

КОМАНДА
docker exec -it db /bin/bash
mariadb -u root -p
toor
SHOW DATABASES;

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

ВЫВОД
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+

4 rows in set (0.001 sec)

Выполняем в точности как у меня

ВВОД В MYSQL
CREATE DATABASE testdb;
CREATE USER 'testc'@'%' IDENTIFIED BY 'P@ssw0rd';
GRANT ALL PRIVILEGES ON testdb.* TO 'testc'@'%';
FLUSH PRIVILEGES;

[ПРИМЕЧАНИЕ] Пробуем снова с HQ-CLI зайти на 192.168.3.10:8080, если страница открывается, задание выполнено.

[ПОДСКАЗКА] После изменений сайт может начать открываться не сразу, иногда нужно до 1 минуты.

📋 Задание 7: Разверните веб приложение на сервере HQ-SRV.

Задание 7

Используйте веб-сервер apache

В качестве системы управления базами данных используйте mariadb

Файлы веб приложения и дамп базы данных находятся в директории web образа Additional.iso

Выполните импорт схемы и данных из файла dump.sql в базу данных webdb

Создайте пользователя web с паролем P@ssw0rd и предоставьте ему права доступа к этой базе данных

Файлы index.php и директорию images скопируйте в каталог веб сервера apache

В файле index.php укажите правильные учётные данные для подключения к БД

Запустите веб сервер и убедитесь в работоспособности приложения

Основные параметры отметьте в отчёте

[ВАЖНО] Готовый отчет можно взять - тут.

HQ-SRV
КОМАНДА
apt-get update && apt-get install apache2 mariadb php8.2 apache2-mod_php8.2 php8.2-mysqli -y
systemctl enable --now httpd2 mariadb
systemctl restart httpd2 mariadb
mkdir /mnt/add_cd
mount /dev/sr0 /mnt/add_cd
КОМАНДА
ls -la /mnt/add_cd

Сверяем вывод:

ВЫВОД
total 38
dr-xr-xr-x 1 root root   256 Nov 23  2019 .
drwxr-xr-x 3 root root  4096 Dec 13 12:54 ..
dr-xr-xr-x 1 root root   332 Nov 23  2019 docker
dr-xr-xr-x 1 root root   150 Nov 23  2019 playbook
-r-xr-xr-x 1 root root 32527 Oct 13 04:22 Users.csv
dr-xr-xr-x 1 root root   220 Nov 23  2019 web
КОМАНДА
cp -r /mnt/add_cd/web /root/web
ls -la /root/web

Сверяем вывод:

ВЫВОД
total 36
dr-xr-xr-x 2 root root  4096 Dec 13 12:55 .
drwx------ 9 root root  4096 Dec 13 12:55 ..
-r-xr-xr-x 1 root root   415 Dec 13 12:55 dump.sql
-r-xr-xr-x 1 root root  3964 Dec 13 12:55 index.php
-r-xr-xr-x 1 root root 16780 Dec 13 12:55 logo.png
Создаем базу данных webdb
КОМАНДА
mysql -u root -e "CREATE DATABASE webdb;"

Импортируем дамп

КОМАНДА
mysql -u root webdb < /root/web/dump.sql

Проверяем импорт

КОМАНДА
mysql -u root -e "USE webdb; SHOW TABLES;"

Сверяем вывод:

ВЫВОД
+-----------------+
| Tables_in_webdb |
+-----------------+
| employees       |
+-----------------+
Создаем пользователя ‘web’ с паролем ‘P@ssw0rd’
КОМАНДА
mysql -u root -e "CREATE USER 'web'@'localhost' IDENTIFIED BY 'P@ssw0rd';"

Даем права на базу webdb

КОМАНДА
mysql -u root -e "GRANT ALL PRIVILEGES ON webdb.* TO 'web'@'localhost';"

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

КОМАНДА
mysql -u root -e "FLUSH PRIVILEGES;"

Проверяем создание пользователя

КОМАНДА
mysql -u root -e "SELECT user, host FROM mysql.user;"

Сверяем вывод:

ВЫВОД
+-------------+---------------------+
| User        | Host                |
+-------------+---------------------+
| root        | 127.0.0.1           |
| root        | ::1                 |
| root        | hq-srv.au-team.irpo |
| mariadb.sys | localhost           |
| root        | localhost           |
| web         | localhost           |
+-------------+---------------------+
КОМАНДА
cp /root/web/index.php /var/www/html/
cp /root/web/logo.png /var/www/html/
chown -R apache2:webmaster /var/www/html/
chmod 755 /var/www/html/
ls -la /var/www/html/index.php
КОМАНДА
ls -la /var/www/html/logo.png

Сверяем вывод

ВЫВОД
-r-xr-xr-x 1 apache2 webmaster 3964 Dec 14 15:25 /var/www/html/index.php
-r-xr-xr-x 1 apache2 webmaster 16780 Dec 14 15:25 /var/www/html/logo.png
ОТКРЫТЬ ФАЙЛ
vim /var/www/html/index.php

Приводим к такому виду

$username = "web";

$password = "P@ssw0rd";

$dbname = "webdb";

КОМАНДА
mv /var/www/html/index.html /var/www/html/index.html.default
ls -la /var/www/html/

Сверяем вывод:

ВЫВОД
total 44
drwxr-sr-x 3 apache2 webmaster  4096 Dec 14 15:29 .
drwxr-xr-x 9 root    webmaster  4096 Dec 14 15:24 ..
drwxrws--x 2 apache2 webmaster  4096 Oct 12  2010 addon-modules
-rw-r--r-- 1 apache2 webmaster    45 Jul 28 15:35 index.html.default
-r-xr-xr-x 1 apache2 webmaster  3968 Dec 14 15:28 index.php
-r-xr-xr-x 1 apache2 webmaster  3964 Dec 14 15:25 index.php~
-r-xr-xr-x 1 apache2 webmaster 16780 Dec 14 15:25 logo.png
КОМАНДА
systemctl restart httpd2 mariadb

[!Caution] Если перезапуск httpd2 и mariadb не происходит и зависает, то перезагружаем полностью HQ-SRV. Останавливаем процесс через ctrl+z, и прописываем reboot.

[ПРИМЕЧАНИЕ] Заходим на HQ-CLI, проверяем 192.168.1.10, должен открыться сайт, фио - DemoTest, отдел - DemoTest. Если эти поля уже заполены, значит все выполнено верно, должны корретно отображаться шрифты русского языка и логотип.

[ПОДСКАЗКА] Задание выполенено, веб-приложение работает на Apache + PHP + MariaDB, доступно по сети, выполняет CRUD-операции с базой данных сотрудников.

📋 Задание 8: На маршрутизаторах сконфигурируйте статическую трансляцию портов.

Задание 8

Пробросьте порт 8080 в порт приложения testapp BR-SRV на маршрутизаторе BR-RTR, для обеспечения работы приложения testapp извне.

Пробросьте порт 8080 в порт веб приложения на HQ-SRV на маршрутизаторе HQ-RTR, для обеспечения работы веб приложения извне.

Пробросьте порт 2026 на маршрутизаторе HQ-RTR в порт 2026 сервера HQ-SRV, для подключения к серверу по протоколу ssh из внешних сетей.

Пробросьте порт 2026 на маршрутизаторе BR-RTR в порт 2026 сервера BR-SRV, для подключения к серверу по протоколу ssh из внешних сетей.

BR-RTR
КОМАНДА
apt-get update && apt-get install iptables -y

Проброс порта 8080 для testapp (Docker приложение на BR-SRV).

КОМАНДА
iptables -t nat -A PREROUTING -p tcp --dport 8080 -j DNAT --to-destination 192.168.3.10:8080
iptables -A FORWARD -p tcp -d 192.168.3.10 --dport 8080 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

Проброс порта 2026 для SSH.

КОМАНДА
iptables -t nat -A PREROUTING -p tcp --dport 2026 -j DNAT --to-destination 192.168.3.10:2026
iptables -A FORWARD -p tcp -d 192.168.3.10 --dport 2026 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

Сохранение правил и перезапуск.

КОМАНДА
iptables-save > /etc/sysconfig/iptables
systemctl restart iptables
systemctl enable --now iptables

Выполним проверку

ПРОВЕРКА
iptables -t nat -L -n -v

Сверяем вывод:

ВЫВОД
Chain PREROUTING (policy ACCEPT 1 packets, 76 bytes)
pkts bytes target     prot opt in     out     source               destination
0     0 DNAT       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:8080 to:192.168.3.10:8080
0     0 DNAT       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:2026 to:192.168.3.10:2026
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target     prot opt in     out     source               destination
Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target     prot opt in     out     source               destination
Chain POSTROUTING (policy ACCEPT 1 packets, 76 bytes)
pkts bytes target     prot opt in     out     source               destination
HQ-RTR
КОМАНДА
apt-get update && apt-get install iptables -y

Проброс порта 8080 для веб-приложения Apache (перенаправляем на порт 80 HQ-SRV).

КОМАНДА
iptables -t nat -A PREROUTING -p tcp --dport 8080 -j DNAT --to-destination 192.168.1.10:80
iptables -A FORWARD -p tcp -d 192.168.1.10 --dport 80 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

Проброс порта 2026 для SSH.

КОМАНДА
iptables -t nat -A PREROUTING -p tcp --dport 2026 -j DNAT --to-destination 192.168.1.10:2026
iptables -A FORWARD -p tcp -d 192.168.1.10 --dport 2026 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

Сохранение правил и перезапуск.

КОМАНДА
iptables-save > /etc/sysconfig/iptables
systemctl restart iptables
systemctl enable --now iptables

Выполним проверку

ПРОВЕРКА
iptables -t nat -L -n -v

Сверяем вывод:

ВЫВОД
Chain PREROUTING (policy ACCEPT 2 packets, 116 bytes)
pkts bytes target     prot opt in     out     source               destination
0     0 DNAT       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:8080 to:192.168.1.10:80
0     0 DNAT       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:2026 to:192.168.1.10:2026
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target     prot opt in     out     source               destination
Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target     prot opt in     out     source               destination
Chain POSTROUTING (policy ACCEPT 2 packets, 116 bytes)
pkts bytes target     prot opt in     out     source               destination

[ПРИМЕЧАНИЕ] Если выводы совпадают, задание выполнено верно.

📋 Задание 9: Настройте веб-сервер nginx как обратный прокси-сервер на ISP.

Задание 9

При обращении по доменному имени web.au-team.irpo у клиента должно открываться веб-приложение на HQ-SRV.

При обращении по доменному имени docker.au-team.irpo у клиента должно открываться веб-приложение testapp.

ISP
КОМАНДА
apt-get update && apt-get install nginx nano -y
ОТКРЫТЬ ФАЙЛ
nano /etc/nginx/sites-available.d/default.conf

Содержимое default.conf

ВСТАВИТЬ В ФАЙЛ
server {
        listen 80;
        server_name web.au-team.irpo;

        location / {
                        proxy_set_header Host $host;
                        proxy_set_header X-Real-IP $remote_addr;
                        proxy_set_header X-Forwarded-For $remote_addr;
                        proxy_set_header X-Forwarded-Proto $scheme;
                        proxy_pass http://172.16.1.10:8080;
        }
}
server {
        listen 80;
        server_name docker.au-team.irpo;

        location / {
                        proxy_set_header Host $host;
                        proxy_set_header X-Real-IP $remote_addr;
                        proxy_set_header X-Forwarded-For $remote_addr;
                        proxy_set_header X-Forwarded-Proto $scheme;
                        proxy_pass http://172.16.2.10:8080;
        }
}
КОМАНДА
ln -s /etc/nginx/sites-available.d/default.conf /etc/nginx/sites-enabled.d/
systemctl enable --now nginx
systemctl restart nginx
systemctl status nginx
HQ-CLI
ОТКРЫТЬ ФАЙЛ
vim /etc/hosts
ВСТАВИТЬ В ФАЙЛ
172.16.1.1  web.au-team.irpo web
172.16.2.1  docker.au-team.irpo docker

[ПРИМЕЧАНИЕ] Открываем Firefox/Яндекс Браузер на HQ-CLI и пробуем зайти на http://web.au-team.irpo и http://docker.au-team.irpo. Если оба сайта открылись и корректно отображаются, задание выполнено.

📋 Задание 10: На маршрутизаторе ISP настройте web-based аутентификацию

Задание 10

При обращении к сайту web.au-team.irpo клиенту должно быть предложено ввести аутентификационные данные.

Логин для аутентификации: WEB. Пароль: P@ssw0rd.

Файл /etc/nginx/.htpasswd используется как хранилище учётных записей.

ISP
КОМАНДА
apt-get update && apt-get install apache2-htpasswd -y
КОМАНДА / ВВОД ПАРОЛЯ
htpasswd -c /etc/nginx/.htpasswd WEB
P@ssw0rd
ОТКРЫТЬ ФАЙЛ
nano /etc/nginx/sites-available.d/default.conf

Добавляем две строки auth_basic после proxy_pass в блоке web.au-team.irpo. Итоговое содержимое файла:

ВСТАВИТЬ В ФАЙЛ
server {
        listen 80;
        server_name web.au-team.irpo;

        location / {
                        proxy_set_header Host $host;
                        proxy_set_header X-Real-IP $remote_addr;
                        proxy_set_header X-Forwarded-For $remote_addr;
                        proxy_set_header X-Forwarded-Proto $scheme;
                        proxy_pass http://172.16.1.10:8080;
                        auth_basic "Restricted";
                        auth_basic_user_file /etc/nginx/.htpasswd;
        }
}
server {
        listen 80;
        server_name docker.au-team.irpo;

        location / {
                        proxy_set_header Host $host;
                        proxy_set_header X-Real-IP $remote_addr;
                        proxy_set_header X-Forwarded-For $remote_addr;
                        proxy_set_header X-Forwarded-Proto $scheme;
                        proxy_pass http://172.16.2.10:8080;
        }
}
КОМАНДА
systemctl restart nginx
systemctl status nginx
ВЫВОД / ПРОВЕРКА
● nginx.service - The nginx HTTP and reverse proxy server
     Loaded: loaded (/lib/systemd/system/nginx.service; disabled; vendor preset: disabled)
     Active: active (running) since Sun 2025-12-14 22:16:44 +07; 4min 31s ago
    Process: 7780 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS)
   Main PID: 7782 (nginx)
      Tasks: 11 (limit: 529)
     Memory: 8.5M
        CPU: 16ms
     CGroup: /system.slice/nginx.service
             ├─ 7782 "nginx: master process /usr/sbin/nginx -g daemon off;"
             ├─ 7783 "nginx: worker process"
             └─ 7792 "nginx: worker process"

Dec 14 22:16:44 isp.au-team.irpo nginx[7780]: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
Dec 14 22:16:44 isp.au-team.irpo nginx[7780]: nginx: configuration file /etc/nginx/nginx.conf test is successful
Dec 14 22:16:44 isp.au-team.irpo systemd[1]: Started The nginx HTTP and reverse proxy server.

[ПРИМЕЧАНИЕ] Открываем Firefox/Яндекс Браузер на HQ-CLI и пробуем зайти на http://web.au-team.irpo. Если сайт просит авторизоваться, задание выполнено верно.