Skip to content

reksaev/de26-scripts

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DE26 Scripts — подготовка к демоэкзамену 09.02.06

Репозиторий:

https://github.com/reksaev/de26-scripts

Raw-загрузчик:

wget -O /root/get.sh https://raw.githubusercontent.com/reksaev/de26-scripts/main/get.sh
sed -i 's/\r$//' /root/get.sh
chmod +x /root/get.sh

Главная логика

Скрипты лежат на GitHub.
Linux-машина скачивает нужный скрипт через wget, ты проверяешь его через mcedit, потом запускаешь через bash.

Общая схема:

GitHub → wget → файл на виртуалке → mcedit → bash

Пример:

bash /root/get.sh m1 hq-srv
mcedit /root/m1_hq-srv.sh
bash /root/m1_hq-srv.sh

Это значит:

скачать скрипт модуля 1 для HQ-SRV
открыть и проверить
запустить

Важное предупреждение

Raw-файл на GitHub должен быть многострочным.

Проверить:

head -n 20 /root/get.sh

Нормально:

#!/bin/bash
set -e

BASE1="https://raw.githubusercontent.com/reksaev/de26-scripts/main"

Плохо:

#!/bin/bash set -e BASE1="..."

Если файл слепился в одну длинную строку — его надо перезалить на GitHub с нормальными переносами строк.


Принятая адресация

VLAN HQ-SRV: 113
VLAN HQ-CLI: 213
VLAN MGMT:   813

ISP-HQ: 172.16.50.0/28
ISP-BR: 172.16.60.0/28

HQ-SRV: 10.10.113.2/27
HQ-CLI: 10.10.213.2/28
BR-SRV: 10.20.20.2/28

HQ-RTR VLAN113: 10.10.113.1
HQ-RTR VLAN213: 10.10.213.1
HQ-RTR VLAN813: 10.10.13.1

BR-RTR BR-Net: 10.20.20.1

GRE HQ-RTR: 10.10.10.1/30
GRE BR-RTR: 10.10.10.2/30

SSH port: 2013
sshuser UID: 2013
Password: P@ssw0rd
Domain: au-team.irpo

Важная логика перед запуском скриптов

Чтобы скачать скрипт через wget, Linux-машине уже нужен IP, шлюз и DNS.

На HQ-SRV и BR-SRV IP может отсутствовать после преднастроя, поэтому сначала делается быстрый ручной старт сети.

Служебный интерфейс вида 169.254.2.101/30 не трогать.

Обычно:

ens3 — рабочая экзаменационная сеть
ens4 — служебная сеть PNETLab

Модуль 1 — порядок настройки

Рекомендуемый порядок:

1. ISP — запустить скрипт, если нужно закрепить NAT/NTP.
2. HQ-RTR — команды вручную из m1/hq-rtr.txt.
3. BR-RTR — команды вручную из m1/br-rtr.txt.
4. HQ-SW — скрипт m1/hq-sw.sh, если OVS/VLAN не преднастроены.
5. HQ-SRV — быстрый старт сети руками, потом скрипт.
6. BR-SRV — быстрый старт сети руками, потом скрипт.
7. HQ-CLI — через GUI, DHCP.
8. Финальные проверки.

Быстрый старт HQ-SRV перед wget

Делается вручную на HQ-SRV от root.

mkdir -p /etc/net/ifaces/ens3

printf "TYPE=eth\nCONFIG_IPV4=yes\nBOOTPROTO=static\nDISABLED=no\nNM_CONTROLLED=no\nSYSTEMD_CONTROLLED=no\n" > /etc/net/ifaces/ens3/options

echo "10.10.113.2/27" > /etc/net/ifaces/ens3/ipv4address
echo "default via 10.10.113.1" > /etc/net/ifaces/ens3/ipv4route
echo "nameserver 77.88.8.8" > /etc/net/ifaces/ens3/resolv.conf

systemctl restart network

Проверка:

ip a
ip route
cat /etc/resolv.conf
ping -c 3 10.10.113.1
ping -c 3 77.88.8.8

Если пинги пошли, скачать загрузчик:

wget -O /root/get.sh https://raw.githubusercontent.com/reksaev/de26-scripts/main/get.sh
sed -i 's/\r$//' /root/get.sh
chmod +x /root/get.sh

Скачать и запустить скрипт М1 для HQ-SRV:

bash /root/get.sh m1 hq-srv
mcedit /root/m1_hq-srv.sh
bash /root/m1_hq-srv.sh

Быстрый старт BR-SRV перед wget

Делается вручную на BR-SRV от root.

mkdir -p /etc/net/ifaces/ens3

printf "TYPE=eth\nCONFIG_IPV4=yes\nBOOTPROTO=static\nDISABLED=no\nNM_CONTROLLED=no\nSYSTEMD_CONTROLLED=no\n" > /etc/net/ifaces/ens3/options

echo "10.20.20.2/28" > /etc/net/ifaces/ens3/ipv4address
echo "default via 10.20.20.1" > /etc/net/ifaces/ens3/ipv4route
echo "nameserver 77.88.8.8" > /etc/net/ifaces/ens3/resolv.conf

systemctl restart network

Проверка:

ip a
ip route
cat /etc/resolv.conf
ping -c 3 10.20.20.1
ping -c 3 77.88.8.8

Если пинги пошли, скачать загрузчик:

wget -O /root/get.sh https://raw.githubusercontent.com/reksaev/de26-scripts/main/get.sh
sed -i 's/\r$//' /root/get.sh
chmod +x /root/get.sh

Скачать и запустить скрипт М1 для BR-SRV:

bash /root/get.sh m1 br-srv
mcedit /root/m1_br-srv.sh
bash /root/m1_br-srv.sh

Загрузка скриптов

Модуль 1

ISP

wget -O /root/get.sh https://raw.githubusercontent.com/reksaev/de26-scripts/main/get.sh
sed -i 's/\r$//' /root/get.sh
chmod +x /root/get.sh

bash /root/get.sh m1 isp
mcedit /root/m1_isp.sh
bash /root/m1_isp.sh

HQ-SW

bash /root/get.sh m1 hq-sw
mcedit /root/m1_hq-sw.sh
bash /root/m1_hq-sw.sh

HQ-SRV

bash /root/get.sh m1 hq-srv
mcedit /root/m1_hq-srv.sh
bash /root/m1_hq-srv.sh

BR-SRV

bash /root/get.sh m1 br-srv
mcedit /root/m1_br-srv.sh
bash /root/m1_br-srv.sh

Роутеры EcoRouter

На EcoRouter .sh не запускаются.

Для роутеров использовать текстовые файлы:

m1/hq-rtr.txt
m1/br-rtr.txt
m2/hq-rtr.txt
m2/br-rtr.txt
m3/hq-rtr.txt
m3/br-rtr.txt

Команды из этих файлов вводить руками в CLI EcoRouter.


HQ-CLI

Для HQ-CLI использовать инструкции:

m1/hq-cli.md
m2/hq-cli.md
m3/hq-cli.md

Обычно HQ-CLI настраивается через GUI:

Центр управления системой → Ethernet-интерфейсы

В модуле 1:

hostname: hq-cli.au-team.irpo
IPv4: DHCP
сеть: 10.10.213.0/28
шлюз: 10.10.213.1
DNS: 10.10.113.2

Проверка:

hostname -f
ip a
ip route
cat /etc/resolv.conf
ping -c 3 10.10.213.1
ping -c 3 10.10.113.2
ping -c 3 10.20.20.2

Проверки после М1

ISP

hostname
ip a
ip route
sysctl net.ipv4.ip_forward
iptables -t nat -L -n -v
ping -c 3 77.88.8.8

HQ-RTR

show hostname
show ip interface brief
show ip route
ping 172.16.50.1
ping 172.16.60.2
ping 10.10.10.2
show ip ospf neighbor
show ip route
show ip nat translations
show ntp timezone

BR-RTR

show hostname
show ip interface brief
show ip route
ping 172.16.60.1
ping 172.16.50.2
ping 10.10.10.1
show ip ospf neighbor
show ip route
show ip nat translations
show ntp timezone

HQ-SRV

hostname -f
ip a
ip route
cat /etc/resolv.conf
systemctl status bind.service
ss -tulpn | grep 2013
ping -c 3 10.10.113.1
ping -c 3 10.20.20.2
ping -c 3 77.88.8.8

DNS:

host hq-srv.au-team.irpo
host hq-rtr.au-team.irpo
host hq-cli.au-team.irpo
host br-srv.au-team.irpo
host web.au-team.irpo
host docker.au-team.irpo

BR-SRV

hostname -f
ip a
ip route
cat /etc/resolv.conf
ss -tulpn | grep 2013
ping -c 3 10.20.20.1
ping -c 3 10.10.113.2
ping -c 3 77.88.8.8

Если GRE-туннель не пингуется

Сначала проверять не OSPF, а внешнюю связность.

На HQ-RTR:

ping 172.16.50.1
ping 172.16.60.1
ping 172.16.60.2

На BR-RTR:

ping 172.16.60.1
ping 172.16.50.1
ping 172.16.50.2

Если внешние адреса не пингуются — проблема в ISP/WAN/маршрутах.

Если внешние адреса пингуются, но GRE нет:

show interface tunnel.0
show ip interface brief

Потом проверить:

HQ-RTR → ping 10.10.10.2
BR-RTR → ping 10.10.10.1

Если HQ-CLI не получает DHCP

Проверить на HQ-RTR:

show ip interface brief
show running-config | include dhcp
show running-config | include pool

Должно быть:

vl213 = 10.10.213.1/28
pool VLAN213 = 10.10.213.2-10.10.213.14
interface vl213
 dhcp-server 1

Проверить на HQ-SW:

ovs-vsctl show

Должно быть:

ens3 trunk 113,213,813
ens4 access VLAN 113
ens5 access VLAN 213

Модуль 2 — порядок настройки

Рекомендуемый порядок:

1. HQ-SRV — NFS, RAID, Chrony, Web.
2. BR-SRV — Samba, Ansible, Docker.
3. ISP — Basic Auth / nginx.
4. HQ-CLI — домен, NFS, браузер.
5. Роутеры — команды из txt, если требуется проброс портов/NTP.

Модуль 2 — запуск скриптов

HQ-SRV

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

lsblk

Потом скачать и открыть скрипт:

bash /root/get.sh m2 hq-srv
mcedit /root/m2_hq-srv.sh

В скрипте проверить строку:

DISKS="/dev/vdb /dev/vdc /dev/vdd"

Если диски называются иначе, заменить.

Например:

DISKS="/dev/sdb /dev/sdc /dev/sdd"

Запуск:

bash /root/m2_hq-srv.sh

Важно:

m2_hq-srv.sh не запускать повторно без проверки RAID.
Если RAID уже создан и там есть данные, не перезапускать команды mdadm/mkfs без понимания.

BR-SRV

bash /root/get.sh m2 br-srv
mcedit /root/m2_br-srv.sh
bash /root/m2_br-srv.sh

ISP

bash /root/get.sh m2 isp
mcedit /root/m2_isp.sh
bash /root/m2_isp.sh

Модуль 2 — Additional.iso

Перед запуском web/docker-задач проверить:

ls -l /home/user/Additional.iso

Если ISO лежит в другом месте, поменять путь в скрипте.


Модуль 2 — проверки

Samba на BR-SRV

samba-tool group listmembers hq

Ожидается:

hquser1
hquser2
hquser3
hquser4
hquser5

NFS на HQ-SRV

exportfs -v
systemctl status nfs-server
ls -l /raid/nfs

Chrony

На HQ-SRV:

chronyc sources

На BR-SRV:

chronyc sources

Ansible на BR-SRV

ansible -i /etc/ansible/inventory all -m ping

Docker на BR-SRV

docker ps
curl http://10.20.20.2:8083

Web на HQ-SRV

systemctl status mariadb
systemctl status httpd2
curl http://10.10.113.2

Модуль 3 — порядок настройки

Рекомендуемый порядок:

1. HQ-SRV — CA, сертификаты, rsyslog, fail2ban, cups, monitoring.
2. BR-SRV — rsyslog client, ansible gathering.
3. ISP — HTTPS reverse proxy.
4. HQ-CLI — импорт CA, принтер, мониторинг, backup.
5. Роутеры — syslog/ACL команды из txt.

Модуль 3 — запуск скриптов

HQ-SRV

bash /root/get.sh m3 hq-srv
mcedit /root/m3_hq-srv.sh
bash /root/m3_hq-srv.sh

После запуска проверить сертификаты:

ls -l /root/export-certs

Там должны быть:

ca.crt
web.crt
web.key
docker.crt
docker.key

BR-SRV

bash /root/get.sh m3 br-srv
mcedit /root/m3_br-srv.sh
bash /root/m3_br-srv.sh

ISP

bash /root/get.sh m3 isp
mcedit /root/m3_isp.sh
bash /root/m3_isp.sh

Модуль 3 — сертификаты

Правильный порядок:

1. Сначала запустить m3/hq-srv.sh.
2. На HQ-SRV проверить /root/export-certs/.
3. Перенести web.crt, web.key, docker.crt, docker.key на ISP в /etc/nginx/ssl/.
4. Потом запускать m3/isp.sh.

Если сертификаты не перенести, ISP создаст временные self-signed сертификаты. Сайт может открыться, но в браузере может быть предупреждение.


Модуль 3 — HQ-CLI

HQ-CLI делается руками по инструкции:

m3/hq-cli.md

Основные задачи:

1. Импортировать CA.
2. Проверить HTTPS без предупреждений.
3. Подключить NFS.
4. Добавить PDF-принтер.
5. Открыть мониторинг.
6. Подготовить backup directory.

Импорт CA:

cp ca.crt /etc/pki/ca-trust/source/anchors/de26-ca.crt
update-ca-trust

Проверка HTTPS:

curl -I https://web.au-team.irpo
curl -I https://docker.au-team.irpo

Модуль 3 — проверки

HQ-SRV

systemctl status rsyslog
systemctl status fail2ban
systemctl status cups
systemctl status netdata
ls -l /root/export-certs

BR-SRV

systemctl status rsyslog
ls -l /etc/ansible/PC-INFO

ISP

nginx -t
systemctl status nginx

HQ-CLI

curl -I https://web.au-team.irpo
curl -I https://docker.au-team.irpo

Частые ошибки

wget не скачивает

Проверить интернет и DNS:

ping -c 3 77.88.8.8
ping -c 3 raw.githubusercontent.com

Если IP пингуется, а домен нет — проблема DNS.

Временно поставить DNS:

echo "nameserver 77.88.8.8" > /etc/resolv.conf

Permission denied при запуске

chmod +x /root/get.sh
chmod +x /root/*.sh

Или запускать через bash:

bash /root/get.sh m1 hq-srv
bash /root/m1_hq-srv.sh

Скрипт сломался после скачивания

Проверить, что он многострочный:

head -n 20 /root/m1_hq-srv.sh

Проверить bash-синтаксис:

bash -n /root/m1_hq-srv.sh

Если ошибок нет — запускать.

Неверный интерфейс

Проверить интерфейсы:

ip a

В скрипте проверить переменную:

IFACE="ens3"

Если рабочий интерфейс другой — поменять.

DNS после М1 не работает

На HQ-SRV:

systemctl status bind.service
named-checkconf
named-checkconf -z
cat /etc/resolv.conf

Проверка:

host hq-srv.au-team.irpo 10.10.113.2
host web.au-team.irpo 10.10.113.2
host docker.au-team.irpo 10.10.113.2

Мини-шпаргалка загрузки

Скачать загрузчик:

wget -O /root/get.sh https://raw.githubusercontent.com/reksaev/de26-scripts/main/get.sh
sed -i 's/\r$//' /root/get.sh
chmod +x /root/get.sh

Скачать и запустить нужный скрипт:

bash /root/get.sh m1 hq-srv
mcedit /root/m1_hq-srv.sh
bash /root/m1_hq-srv.sh

Менять только:

m1 hq-srv

на нужный модуль и машину:

m1 isp
m1 hq-sw
m1 hq-srv
m1 br-srv

m2 isp
m2 hq-srv
m2 br-srv

m3 isp
m3 hq-srv
m3 br-srv

About

de 09.02.06 2026

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages