Образец задания для ДЭ — модуль 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:
enable
conf t
hostname hq-rtr
ip-domain-name au-team.irpo
write memory

BR-RTR:
enable
conf t
hostname br-rtr
ip-domain-name au-team.irpo
write memory

На всех устройствах необходимо сконфигурировать IPv4. Локальная сеть в сторону 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
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-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
root@hq-srv:
cd /etc/net/ifaces/<имя_сетевой_карты>
nano ipv4address
192.168.100.2/27
nano ipv4route
default via 192.168.100.1

TYPE=eth
DISABLED=no
BOOTPROTO=static
SYSTEMD_BOOTPROTO=static
CONFIG_IPV4=yes
SYSTEMD_CONTROLLED=no
NM_CONTROLLED=no
root@br-srv:
cd /etc/net/ifaces/<имя_сетевой_карты>
nano options
192.168.0.2/28
nano ipv4route
default via 192.168.0.1

2. Настройка доступа к сети Интернет на ISP

Интерфейс, подключённый к магистральному провайдеру, получает адрес по DHCP. Интерфейсы в сторону HQ-RTR и BR-RTR настраиваются статически в сетях 172.16.1.0/28 и 172.16.2.0/28.

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/<интерфейс_в_сторону_HQ-RTR>
nano ipv4address
172.16.1.1/28
systemctl restart network

cd /etc/net/ifaces/<интерфейс_в_сторону_BR-RTR>
touch options
touch ipv4address
nano options
nano ipv4address
172.16.2.1/28
systemctl restart network
В /etc/net/sysctl.conf:
net.ipv4.ip_forward = 1

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 с паролем P@ssw0rd. Пользователь должен запускать sudo без ввода пароля. На маршрутизаторах создайте пользователя net_admin.

useradd sshuser -u 2026
passwd sshuser
usermod -aG wheel sshuser
echo "sshuser ALL=(ALL:ALL) NOPASSWD: ALL" >> /etc/sudoers
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

4. Коммутация в сегменте HQ

  • Трафик HQ-SRV должен принадлежать VLAN 100.
  • Трафик HQ-CLI должен принадлежать VLAN 200.
  • Необходимо предусмотреть передачу трафика управления в VLAN 999.
  • На HQ-RTR нужно реализовать маршрутизацию всех VLAN через один сетевой порт.

5. Безопасный удалённый доступ

На серверах HQ-SRV и BR-SRV настройте безопасный доступ по SSH: порт 2026, только пользователь sshuser, не более двух попыток входа, баннер “Authorized access only”.

touch /etc/openssh/banner
echo "Authorized access only" > /etc/openssh/banner

В sshd_config:
Port 2026
AllowUsers sshuser
MaxAuthTries 2
Banner /etc/openssh/banner

systemctl restart sshd
systemctl status sshd

6. IP-туннель между HQ и BR

На выбор используется GRE или IP in IP. Ниже приведён пример для GRE.

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. Динамическая маршрутизация

Используется link-state протокол. В примере применяется OSPF с защитой MD5 на интерфейсе туннеля.

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(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. DHCP для HQ-CLI

DHCP-сервер размещается на маршрутизаторе HQ-RTR. Для клиента HQ-CLI указывается адрес шлюза, DNS-сервера и доменный суффикс.

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

10. Инфраструктура DNS

Основной DNS-сервер реализуется на HQ-SRV. Используется bind и создаются прямые и обратные зоны.

apt-get update && apt-get install bind bind-utils -y
nano /etc/bind/options.conf
systemctl restart bind
journalctl -xeu bind
rndc-confgen > /etc/bind/rndc.key
sed -i '6,$d' /etc/bind/rndc.key
named-checkconf
named-checkconf -z
systemctl start bind
systemctl status bind
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
; /etc/bind/zone

[root@hq-srv zone]# cat au-team.irpo
; BIND reverse data file for empty rfc1918 zone
;
; DO NOT EDIT THIS FILE - it is used for multiple zones.
; Instead, copy it and use that copy.
;
$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
; [root@hq-srv zone]# cat 100.168.192.in-addr.arpa
; BIND reverse data file for empty rfc1918 zone
;
; DO NOT EDIT THIS FILE - it is used for multiple zones.
; Instead, copy it and use that copy.
;
$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.
; [root@hq-srv zone]# cat 200.168.192.in-addr.arpa
; BIND reverse data file for empty rfc1918 zone
;
; DO NOT EDIT THIS FILE - it is used for multiple zones.
; Instead, copy it and use that copy.
;
$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-cli.au-team.irpo.
chown -R root:named /var/lib/bind/etc/zone/*

11. Часовой пояс

timedatectl set-timezone Europe/Moscow
ntp timezone utc+3
show ntp timezone