Задание модуль 1
Содержание
- Произведите базовую настройку устройств
- Настройте доступ к сети Интернет на ISP
- Создайте локальные учетные записи
- Настройте коммутацию в сегменте HQ
- Настройте безопасный удаленный доступ
- IP-туннель между офисами HQ и BR
- Обеспечьте динамическую маршрутизацию
- Настройка динамической трансляции адресов
- Настройте протокол динамической конфигурации хостов (DHCP)
- Настройте инфраструктуру DNS
- Настройте часовой пояс
VLAN 999 можно не выпускать в сеть
1. Произведите базовую настройку устройств
Рисунок 1. Топология сети
- Настройте имена устройств согласно топологии. Используйте полное доменное имя
На ISP: hostnamectl set-hostname <ISP>; 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-SRV: hostnamectl set-hostname <br-srv>.<au-team.irpo>; exec bash HQ-RTR: ecorouter>enable ecorouter#conf t ecorouter(config)#hostname hq-rtr hq-rtr(config)#ip domain-name au-team.irpo hq-rtr(config)#write memory BR-RTR: ecotouter>enable ecotouter#conf t ecorouter(config)#hostname bq-rtr br-rtr(config)#ip domain-name au-team.irpo br-rtr(config)#write memory
На всех устройствах необходимо сконфигурировать IPv4:
- IP-адрес должен быть из приватного диапазона, в случае, если сеть локальная, согласно RFC1918:
- Локальная сеть в сторону HQ-SRV(VLAN 100) должна вмещать не более 32 адресов
- Локальная сеть в сторону HQ-CLI(VLAN 200) должна вмещать не менее 16 адресов
- Локальная сеть для управления(VLAN 999) должна вмещать не более 8 адресов
hq-rtr(config)#ip route 0.0.0.0/0 172.16.1.1 hq-rtr(config)#interface ISP hq-rtr(config-if)#ip address 172.16.1.2/28 hq-rtr(config-if)#exit hq-rtr(config)#port ge0 hq-rtr(config-if)#service-instance ge0/ISP hq-rtr(config-if)#encapsulation untagged hq-rtr(config-if)#connect ip interface ISP hq-rtr(config-if)#exit hq-rtr(config)#interface VLAN100 hq-rtr(config-if)#ip address 192.168.100.1/27 hq-rtr(config-if)#exit hq-rtr(config)#interface VLAN200 hq-rtr(config-if)#ip address 192.168.200.1/28 hq-rtr(config-if)#exit hq-rtr(config)#interface VLAN999 hq-rtr(config-if)#ip address 192.168.99.1/29 hq-rtr(config-if)#exit hq-rtr(config)#port ge1 hq-rtr(config-port)#service-instance ge1/VLAN100 hq-rtr(config-service-instance)#encapsulation dot1q 100 exact hq-rtr(config-service-instance)#rewrite pop 1 hq-rtr(config-service-instance)#connect ip interface VLAN100 hq-rtr(config-service-instance)#exit hq-rtr(config-port)#service-instance ge1/VLAN200 hq-rtr(config-service-instance)#encapsulation dot1q 200 exact hq-rtr(config-service-instance)#rewrite pop 1 hq-rtr(config-service-instance)#connect ip interface VLAN200 hq-rtr(config-service-instance)#exit // vlan 999 можно не присоединять а прост осоздать, это не обязанность hq-rtr(config-port)#service-instance ge1/VLAN999 hq-rtr(config-service-instance)#encapsulation dot1q 999 exact hq-rtr(config-service-instance)#rewrite pop 1 hq-rtr(config-service-instance)#connect ip interface VLAN999 hq-rtr(config-service-instance)#exit hq-rtr(config)#write memory
- Локальная сеть в сторону BR-SRV должна вмещать не более 16 адресов
br-rtr(config)#ip route 0.0.0.0/0 172.16.2.1 br-rtr(config)#interface ISP br-rtr(config-port)#ip address 172.16.2.2/28 br-rtr(config-port)# exit br-rtr(config)#port ge0 br-rtr(config-if)#service-instance ge0/ISP br-rtr(config-if)#encapsulation untagged br-rtr(config-if)#connect ip interface ISP br-rtr(config-if)#exit br-rtr(config)#interface LOCAL br-rtr(config-port)#ip address 192.168.0.1/28 br-rtr(config-port)# exit br-rtr(config)#port ge1 br-rtr(config-if)#service-instance ge1/LOCAL br-rtr(config-if)#encapsulation untagged br-rtr(config-if)#connect ip interface LOCAL br-rtr(config-if)#exit br-rtr(config)#write memory
- Сведения об адресах занесите в таблицу 2, в качестве примера используйте Прил3О1_КОД 09.02.06-1-2026-М1
root@hq-srv: cd /etc/net/ifaces/<имя сетевой карты выходящей в интернет>enp6s19/options: TYPE=eth DISABLED=no BOOTPROTO=static SYSTEMD_BOOTPROTO=static CONFIG_IPV4=yes SYSTEMD_CONTROLLED=no NM_CONTROLLED=no nano ipv4address 192.168.100.2/27 nano ipv4route default via 192.168.100.1
root@br-srv: cd /etc/net/ifaces/<имя сетевой карты выходящей в интернет>enp6s19/options: TYPE=eth DISABLED=no BOOTPROTO=static SYSTEMD_BOOTPROTO=static CONFIG_IPV4=yes SYSTEMD_CONTROLLED=no NM_CONTROLLED=no nano options 192.168.0.2/28 nano ipv4route default via 192.168.0.1
2. Настройте доступ к сети Интернет, на маршрутизаторе ISP
- Настройте адресацию на интерфейсах:
- Интерфейс, подключенный к магистральному провайдеру, получает адрес по DHCP
TYPE=eth CONFIG_IPV4=yes BOOTPROTO=dhcp SYSTEMD_BOOTPROTO=dhcp4 CONFIG_WIRELESS=no DISABLED=no NM_CONTROLLED=no SYSTEMD_CONTROLLED=no
cd /etc/net/ifaces/<имя сетевой карты выходящей в интернет>enp6s19/options:
cd /etc/net/ifaces<имя интерфейса смотрящего в торону HQ-RTR>enp6s20 nano ipv4address в файле пишем 172.16.1.1/28 TYPE=eth CONFIG_IPV4=yes BOOTPROTO=static SYSTEMD_BOOTPROTO=static CONFIG_WIRELESS=no DISABLED=no NM_CONTROLLED=no SYSTEMD_CONTROLLED=no systemctl restart network
- Настройте интерфейс, в сторону BR-RTR, интерфейс подключен к сети 172.16.2.0/28
если нет папки создаём mkdir -p enp6s21 && cd enp6s21 cd /etc/net/ifaces<имя интерфейса смотрящего в торону BR-RTR>enp6s21 Cоздать файлы: touch options touch ipv4address nano options TYPE=eth BOOTPROTO=static SYSTEMD_BOOTPROTO=static CONFIG_IPV4=yes SYSTEMD_CONTROLLED=no NM_CONTROLLED=no DISABLED=no nano ipv4address 172.16.2.1/28 systemctl restart network
- На ISP настройте динамическую сетевую трансляцию портов для доступа к сети Интернет HQ-RTR и BR-RTR.
В конфигурационном файле /etc/net/sysctl.conf в параметре net.ipv4.ip_forward = 0 заменить значение с 0 на 1.
Настройка через nftables
Установим службу nftables:
apt-get update && apt-get install -y nftables
Добаавим nftables в автозапуск и тут же проверим статус:
systemctl enable --now nftables && systemctl status nftables
Создаем таблицу для NAT (если её еще нет)
nft add table ip nat
Создаем цепочку POSTROUTING с приоритетом srcnat (100)
sudo nft add chain ip nat postrouting { type nat hook postrouting priority srcnat \; }Добавляем правила маскарадинга для ваших подсетей через интерфейс который смотрит в Интернет
sudo nft add rule ip nat postrouting ip saddr 172.16.1.0/28 oifname "enp6s19" masquerade sudo nft add rule ip nat postrouting ip saddr 172.16.2.0/28 oifname "enp6s19" masquerade
Для сохранения текущего набора правил выполните:
sudo nft list ruleset | sudo tee /etc/nftables.conf
Просмотр правил NAT (Вместо iptables -t nat -L -n -v)
nft list table ip nat
Настройка через iptables
Установим службу iptables:
apt-get update && apt-get install -y iptables
Для применения настроек необходимо перезагрузить службу network командой:
systemctl restart network systemctl start iptables iptables -t nat -A POSTROUTING -s 172.16.1.0/28 -o enp6s19 -j MASQUERADE iptables -t nat -A POSTROUTING -s 172.16.2.0/28 -o enp6s19 -j MASQUERADE iptables-save >> /etc/sysconfig/iptables iptables -t nat -L -n -v
Не забывайте проверить статус : systemctl status iptables
3. Создайте локальные учетные записи на серверах HQ-SRV и BR-SRV
- Создайте пользователя sshuser
- Пароль пользователя sshuser с паролем P@ssw0rd
- Идентификатор пользователя 2026
useradd sshuser –u 2026 #создать пользователя с uid 2026 passwd sshuser #задать пароль P@ssw0rd
- Пользователь sshuser должен иметь возможность запускать sudo без ввода пароля
usermod -aG wheel sshuser echo "sshuser ALL=(ALL:ALL) NOPASSWD: ALL" >> /etc/sudoers
- Создайте пользователя net_admin на маршрутизаторах HQ-RTR и BR-RTR
- Пароль пользователя net_admin с паролем P@ssw0rd
hq-rtr(config)#username net_admin hq-rtr(config-user)#password P@ssw0rd hq-rtr(config-user)#role admin hq-rtr(config-user)#exit hq-rtr(config)#write memory
- При настройке ОС на базе Linux, запускать sudo без ввода пароля
- При настройке ОС отличных от Linux пользователь должен обладать максимальными привилегиями.
4. Настройте коммутацию в сегменте HQ следующим образом
- Трафик HQ-SRV должен принадлежать VLAN 100
- Трафик HQ-CLI должен принадлежать VLAN 200
- Предусмотреть возможность передачи трафика управления в VLAN 999
- Реализовать на HQ-RTR маршрутизацию трафика всех указанных VLAN с использованием одного сетевого адаптера ВМ/физического порта
- Сведения о настройке коммутации внесите в отчёт
5. Настройте безопасный удаленный доступ на серверах HQ-SRV и BR-SRV
- Для подключения используйте порт 2026
- Разрешите подключения исключительно пользователю sshuser
- Ограничьте количество попыток входа до двух
- Настройте баннер «Authorized access only»
Port 2026 AllowUsers sshuser MaxAuthTries 2 Banner /etc/openssh/banner
touch banner echo "Authorized access only" > /etc/openssh/banner systemctl restart sshd systemctl status sshd
6. Между офисами HQ и BR, на маршрутизаторах HQ-RTR и BR-RTR необходимо сконфигурировать ip туннель
- На выбор технологии GRE или IP in IP
hq-rtr(config)#interface tunnel.1 hq-rtr(config-if-tunnel)#ip address 10.0.0.1/30 hq-rtr(config-if-tunnel)#ip tunnel 172.16.1.2 172.16.2.2 mode gre hq-rtr(config-if-tunnel)#exit hq-rtr(config)#write memory
br-rtr(config)#interface tunnel.1 br-rtr(config-if-tunnel)#ip address 10.0.0.2/30 br-rtr(config-if-tunnel)#ip tunnel 172.16.2.2 172.16.1.2 mode gre br-rtr(config-if-tunnel)#exit br-rtr(config)#write memory
- Сведения о туннеле занесите в отчёт.
7. Обеспечьте динамическую маршрутизацию на маршрутизаторах HQ-RTR и BR-RTR
Сети одного офиса должны быть доступны из другого офиса и наоборот. Для обеспечения динамической маршрутизации используйте link state протокол на усмотрение участника:
- Разрешите выбранный протокол только на интерфейсах ip туннеля
- Маршрутизаторы должны делиться маршрутами только друг с другом
- Обеспечьте защиту выбранного протокола посредством парольной защиты
hq-rtr(config)#router ospf 1 hq-rtr(config-router)#ospf router-id 1.1.1.1 hq-rtr(config-router)#passive-interface default hq-rtr(config-router)#no passive-interface tunnel.1 hq-rtr(config-router)#network 10.0.0.0/30 area 0 hq-rtr(config-router)#network 192.168.100.0/27 area 0 hq-rtr(config-router)#network 192.168.200.0/24 area 0 hq-rtr(config-router)#network 192.168.99.0/29 area 0 hq-rtr(config-router)#exit hq-rtr(config)#interface tunnel.1 hq-rtr(config-if-tunnel)#ip ospf authentication message-digest hq-rtr(config-if-tunnel)#ip ospf message-digest-key 1 md5 P@ssw0rd hq-rtr(config-if-tunnel)#exit hq-rtr(config)#write memory
br-rtr(config)#router ospf 1 br-rtr(config-router)#ospf router-id 2.2.2.2 br-rtr(config-router)#passive-interface default br-rtr(config-router)#no passive-interface tunnel.1 br-rtr(config-router)#network 192.168.0.0/28 area 0 br-rtr(config-router)#network 10.0.0.0/30 area 0 br-rtr(config-router)#exit br-rtr(config)#interface tunnel.1 br-rtr(config-if-tunnel)#ip ospf authentication message-digest br-rtr(config-if-tunnel)#ip ospf message-digest-key 1 md5 P@ssw0rd br-rtr(config-if-tunnel)#exit br-rtr(config)#write memory
- Сведения о настройке и защите протокола занесите в отчёт.
8. Настройка динамической трансляции адресов маршрутизаторах HQ-RTR и BR-RTR
- Настройте динамическую трансляцию адресов для обоих офисов в сторону ISP, все устройства в офисах должны иметь доступ к сети Интернет
hq-rtr(config)#interface ISP hq-rtr(config-if)#ip nat outside hq-rtr(config-if)#exit hq-rtr(config)#interface VLAN100 hq-rtr(config-if)#ip nat inside hq-rtr(config-if)#exit hq-rtr(config)#interface VLAN200 hq-rtr(config-if)#ip nat inside hq-rtr(config-if)#exit hq-rtr(config)#interface VLAN999 hq-rtr(config-if)#ip nat inside hq-rtr(config-if)#exit hq-rtr(config)#ip nat pool VLAN100 192.168.100.1-192.168.100.30 hq-rtr(config)#ip nat pool VLAN200 192.168.200.1-192.168.200.254 hq-rtr(config)#ip nat pool VLAN999 192.168.99.1-192.168.99.6 hq-rtr(config)#ip nat source dynamic inside-to-outside pool VLAN100 overload interface ISP hq-rtr(config)#ip nat source dynamic inside-to-outside pool VLAN200 overload interface ISP hq-rtr(config)#ip nat source dynamic inside-to-outside pool VLAN999 overload interface ISP hq-rtr(config)#write memory
br-rtr(config)#interface ISP br-rtr(config-if)#ip nat outside br-rtr(config-if)#exit br-rtr(config)#interface LOCAL br-rtr(config-if)#ip nat inside br-rtr(config-if)#exit br-rtr(config)#ip nat pool BR-Net 192.168.0.1-192.168.0.14 br-rtr(config)#ip nat source dynamic inside-to-outside pool BR-Net overload interface ISP br-rtr(config)#exit br-rtr#write memory
9. Настройте протокол динамической конфигурации хостов для сети в сторону HQ-CLI (DHCP)
- Настройте нужную подсеть
- В качестве сервера DHCP выступает маршрутизатор HQ-RTR
- Клиентом является машина HQ-CLI
- Исключите из выдачи адрес маршрутизатора
- Адрес шлюза по умолчанию – адрес маршрутизатора HQ-RTR
- Адрес DNS-сервера для машины HQ-CLI – адрес сервера HQ-SRV
- DNS-суффикс – au-team.irpo
hq-rtr(config)#ip pool VLAN200 192.168.200.2-192.168.200.254 hq-rtr(config)#dhcp-server 1 hq-rtr(config-dhcp-server)#pool VLAN200 1 hq-rtr(config-dhcp-server-pool)#mask 24 hq-rtr(config-dhcp-server-pool)#gateway 192.168.200.1 hq-rtr(config-dhcp-server-pool)#dns 192.168.100.2 hq-rtr(config-dhcp-server-pool)#domain-name au-team.irpo hq-rtr(config-dhcp-server-pool)#exit hq-rtr(config-dhcp-server)#exit hq-rtr(config)#int VLAN200 hq-rtr(config-if)#dhcp-server 1 hq-rtr(config-if)#exit hq-rtr(config)#write memory Building configuration...
- Сведения о настройке протокола занесите в отчёт.
10. Настройте инфраструктуру DNS
- Основной DNS-сервер реализован на HQ-SRV
- Сервер должен обеспечивать разрешение имён в сетевые адреса устройств и обратно в соответствии с таблицей 3
- В качестве DNS сервера пересылки используйте любой общедоступный DNS сервер(77.88.8.7, 77.88.8.3 или другие)
Настройка через DNSMASQ
Установка службы DNSMASQ
apt-get update && apt-get install -y dnsmasq
Либо через nano/micro вручную редактируете файл /etc/dnsmasq.conf
no-hosts server=77.88.8.8 cache-size=1000 all-servers no-negcache interface=* host-record=hq-rtr.au-team.irpo,192.168.100.1 host-record=hq-rtr.au-team.irpo,192.168.200.1 host-record=hq-rtr.au-team.irpo,192.168.99.1 host-record=hq-srv.au-team.irpo,192.168.100.2 host-record=hq-cli.au-team.irpo,192.168.200.2 address=/br-rtr.au-team.irpo/192.168.0.1 address=/br-srv.au-team.irpo/192.168.0.2 address=/docker.au-team.irpo/172.16.1.1 address=/web.au-team.irpo/172.16.2.1
... либо копируете нижнюю команду которая автоматически все отредактирует
cat <<EOF > /etc/dnsmasq.conf no-hosts server=77.88.8.8 cache-size=1000 all-servers no-negcache interface=* host-record=hq-rtr.au-team.irpo,192.168.100.1 host-record=hq-rtr.au-team.irpo,192.168.200.1 host-record=hq-rtr.au-team.irpo,192.168.99.1 host-record=hq-srv.au-team.irpo,192.168.100.2 host-record=hq-cli.au-team.irpo,192.168.200.2 address=/br-rtr.au-team.irpo/192.168.0.1 address=/br-srv.au-team.irpo/192.168.0.2 address=/docker.au-team.irpo/172.16.1.1 address=/web.au-team.irpo/172.16.2.1 EOF
Далее ищем процесс который висит на 53-ем порту:
ss -tlpn | grep :53
При его наличии убиваем его командой с указанием процесса который занимает порт 53:
kill (id process)
Включаем службу dnsmasq в автозапуск командой:
systemctl enable --now dnsmasq.service
И сразу после проверим статус:
systemctl status dnsmasq
Настройка через BIND
Установка и базовая настройка BIND (DNS-сервер)
apt-get update && apt-get install bind bind-utils -y
Настройка DNS-резолвера
cat << EOF > enp7s1/resolv.conf nameserver 192.168.100.2 echo search au-team.irpo echo domain au-team.irpo EOF
Редактирование глобальных опций BIND (/var/lib/bind/etc/options.conf)
listen-on {192.168.100.2; };
listen-on-v6 { none; };
forwarders {77.88.8.8; };
allow-query {any; };
allow-recursion {any; };
dnssec-validation no;
Добавление зон в /var/lib/bind/etc/rfc1912.conf
cat << EOF >> /var/lib/bind/etc/rfc1912.conf
zone "au-team.irpo" {
type master;
file "au-team.irpo";
};
zone "100.168.192.in-addr.arpa" {
type master;
file "100.168.192.in-addr.arpa";
};
zone "200.168.192.in-addr.arpa" {
type master;
file "200.168.192.in-addr.arpa";
};
EOFСоздание файлов зон из шаблона empty
cd /var/lib/bind/etc/zone cp /var/lib/bind/etc/zone/empty /var/lib/bind/etc/zone/au-team.irpo cp /var/lib/bind/etc/zone/empty /var/lib/bind/etc/zone/100.168.192.in-addr.arpa cp /var/lib/bind/etc/zone/empty /var/lib/bind/etc/zone/200.168.192.in-addr.arpa
Наполнение прямой зоны (au-team.irpo)
cat << EOF > /var/lib/bind/etc/zone/au-team.irpo
\$TTL 1D
@ IN SOA au-team.irpo. root.au-team.irpo. (
2025110500 ; serial
12H ; refresh
1H ; retry
1W ; expire
1H ; ncache
)
IN NS au-team.irpo.
IN A 192.168.100.2
hq-srv IN A 192.168.100.2
hq-cli IN A 192.168.200.2
hq-rtr IN A 192.168.100.1
hq-rtr IN A 192.168.200.1
hq-rtr IN A 192.168.99.1
docker IN A 172.16.1.1
web IN A 172.16.2.1
br-srv IN A 192.168.0.2
br-rtr IN A 192.168.0.1
EOFНаполнение обратных зон (PTR-записи) /var/lib/bind/etc/zone/200.168.192.in-addr.arpa
cat << EOF > /var/lib/bind/etc/zone/200.168.192.in-addr.arpa
\$TTL 1D
@ IN SOA au-team.irpo. root.au-team.irpo. (
2025110500 ; serial
12H ; refresh
1H ; retry
1W ; expire
1H ; ncache
)
IN NS au-team.irpo.
1 IN PTR hq-rtr.au-team.irpo.
2 IN PTR hq-srv.au-team.irpo.
EOFcat << EOF > /var/lib/bind/etc/zone/100.168.192.in-addr.arpa
\$TTL 1D
@ IN SOA au-team.irpo. root.au-team.irpo. (
2025110500 ; serial
12H ; refresh
1H ; retry
1W ; expire
1H ; ncache
)
IN NS au-team.irpo.
1 IN PTR hq-rtr.au-team.irpo.
2 IN PTR hq-srv.au-team.irpo.
EOFГенерация ключа rndc и проверка конфигурации (опционально)
rndc-confgen > /etc/bind/rndc.key sed -i '6,$d' /etc/bind/rndc.key named-checkconf named-checkconf -z
Установка прав и запуск службы BIND
chown -R root:named /var/lib/bind/etc/zone/* systemctl enable --now bind.service systemctl status bind
11. Настройте часовой пояс на всех устройствах (за исключением виртуального коммутатора, в случае его использования) согласно месту проведения экзамена
На устройствах с ОС «Альт» необходимо выполнить следующую команду:
timedatectl set-timezone <ЧАСОВАЯ_ЗОНА>
Например:
timedatectl set-timezone Europe/Moscow
На устройствах с ОС «EcoRouterOS» необходимо выполнить следующую команду из режима администрирования (conf t):
ntp timezone utc+<ЦИФРА>
Например:
ntp timezone utc+3
Как проверить?
На устройствах с ОС «Альт» воспользоваться утилитой timedatectl:
На устройствах с ОС «EcoRouterOS» воспользоваться командой из привилегированного режима:
show ntp timezone