Образец задания для ДЭ — модуль 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