Добавить в корзинуПозвонить
Найти в Дзене

Гайд для сиса на дем скоро

Демоэкз Ну попробуем решить Топология Таблица адресации Имя устройства Интерфейс IPv4/IPv6 Маска/Префикс Шлюз isp (роутер) ens19 192.168.0.98 (DHCP) /24 192.168.0.1 ens20 172.16.1.1 /28 ens21 172.16.2.1 /28 hg-rtr te0 (isp) 172.16.1.2 /28 172.16.1.1 v1100 192.168.100.1 /27 v1200 192.168.200.1 /24 v1999 192.168.99.1 /29 br-rt int0 172.16.2.2 /28 172.16.2.1 int1 192.168.3.1 /28 hq-cli ens19 (DHCP) br-srv ens19 192.168.3.2 /28 192.168.3.1 hr-srv ens19 192.168.100.2 /27 192.168.100.1 более подробно - https://disk.yandex.ru/d/N5Q7RIdtBBE7Ww
или -
Демоэкз
Ну попробуем решить
Топология
Таблица адресации
Имя устройства
Интерфейс
IPv4/IPv6
Маска/Префикс
Шлюз
isp (роутер)
ens19
192.168.0.98
(DHCP)
/24
192.168.0.1
ens20
172.16.1.1
/28
ens21
172.16.2.1
/28
hg-rtr
te0 (isp)
172.16.1.2
/28
172.16.1.1
v1100
192.168.100.1
/27
v1200
192.168.200.1
/24
v1999
192.168.99.1
/29
br-rt
int0
172.16.2.2
/28
172.16.2.1
int1
192.168.3.1
/28
hq-cli
ens19
 (DHCP)
br-srv
ens19
192.168.3.2
/28
192.168.3.1
hr-sr

Демоэкз

Ну попробуем решить

Топология

Таблица адресации

Имя устройства

Интерфейс

IPv4/IPv6

Маска/Префикс

Шлюз

isp (роутер)

ens19

192.168.0.98

(DHCP)

/24

192.168.0.1

ens20

172.16.1.1

/28

ens21

172.16.2.1

/28

hg-rtr

te0 (isp)

172.16.1.2

/28

172.16.1.1

v1100

192.168.100.1

/27

v1200

192.168.200.1

/24

v1999

192.168.99.1

/29

br-rt

int0

172.16.2.2

/28

172.16.2.1

int1

192.168.3.1

/28

hq-cli

ens19

(DHCP)

br-srv

ens19

192.168.3.2

/28

192.168.3.1

hr-srv

ens19

192.168.100.2

/27

192.168.100.1

более подробно - https://disk.yandex.ru/d/N5Q7RIdtBBE7Ww
или -


Демоэкз
Ну попробуем решить
Топология


Таблица адресации
Имя устройства
Интерфейс
IPv4/IPv6
Маска/Префикс
Шлюз
isp (роутер)
ens19
192.168.0.98
(DHCP)
/24
192.168.0.1
ens20
172.16.1.1
/28
ens21
172.16.2.1
/28
hg-rtr
te0 (isp)
172.16.1.2
/28
172.16.1.1
v1100
192.168.100.1
/27
v1200
192.168.200.1
/24
v1999
192.168.99.1
/29
br-rt
int0
172.16.2.2
/28
172.16.2.1
int1
192.168.3.1
/28
hq-cli
ens19
 (DHCP)
br-srv
ens19
192.168.3.2
/28
192.168.3.1
hr-srv
ens19
192.168.100.2
/27
192.168.100.1



Запускаем все машины


Пароли могут быть:
admin / admin
root / toor
user / resu

Для удобства можно вставлять все команды
Для этого машину нужно открыть через консоль (правый верхний угол)
Нажать на стрелку справа и выбрать 3 вариант
Чтобы появилось интерактивная авторизация нажать enter
МОДУЛЬ 1







Чтобы остановить пинг или если команда зависла нажать crtl+c
Так же все устройства должны быть включены всегда
Зависания можно пробовать решать перезапуском машины
Чтобы не путаться и не зависло окно нужно после выполнений действий закрывать  окно консоли а потом опять открывать когда нужно
РЕШЕНИЕ НА СЛЕДУЮЩЕЙ СТРАНИЦЕ
ISP

Задал имя
hostnamectl set-hostname isp.au-team.irpo; exec bash
Посмотрел имена интерфейсов
ip -br -c a
Переименовал директорию
cd /etc/net/ifaces
ls
mv ens18 ens19
ls
Скопировал директорию с ее содержимым
cp -r ens19 ens20
Отредактировал файл options, чтобы установить статику
vim ens20/options


Нажать i чтобы писать
Меняем, как на фото
Потом жмем esc и пишем :wq
Enter
Прописал ip-адрес для ens20 и проверил запись
echo 172.16.1.1/28 > /etc/net/ifaces/ens20/ipv4address
cat ens20/ipv4address


Скопировал все в ens21
Заменил адрес и проверил
cp -r ens20 ens21
echo 172.16.2.1/28 > /etc/net/ifaces/ens21/ipv4address
cat ens21/ipv4address
Перезапустил сетевую службу
Проверил, что все сделано верно
systemctl restart network
ip -br -c a
у вас ens19 может иметь другой чуть адрес, т к он по dhcp
все норм, в таблице поменяйте на тот, который у вас на скрине будет
Настроил доступ к сети интернет на isp
vim /etc/net/sysctl.conf     


Меняем 0 на 1 сохр и выходим
sysctl -p /etc/sysctl.conf
systemctl restart network
sysctl net.ipv4.ip_forward





HQ-SRV
hostnamectl set-hostname hq-srv.au-team.irpo; exec bash
Проверил интерфейс
Переименовал директорию
Отредактировал файл options
ip -br -c a
cd /etc/net/ifaces
mv ens18 ens19
vim ens19/options


Прописал адрес
Прописал шлюз по умолчанию
И сделал временный днс
И проверил
cd ens19
echo 192.168.100.2/27 > ipv4address
echo default via 192.168.100.1 > ipv4route
cat ipv4address
cat ipv4route
echo nameserver 77.88.8.8 > resolv.conf
cat resolv.conf
Перезапустил сетевую службу и просмотрел интерфейс и проверил шлюз
systemctl restart network
ip -br -c a
ip -c r



BR-SRV
hostnamectl set-hostname br-srv.au-team.irpo; exec bash
Проверил интерфейс
Переименовал директорию
Отредактировал файл options
ip -br -c a
cd /etc/net/ifaces
mv ens18 ens19
vim ens19/options




Прописал адрес
Прописал шлюз по умолчанию
И сделал временный днс  
И проверил
cd ens19
echo 192.168.3.2/28 > ipv4address
echo default via 192.168.3.1 > ipv4route
cat ipv4address
cat ipv4route
echo nameserver 77.88.8.8 > resolv.conf
cat resolv.conf
Перезапустил сетевую службу и просмотрел интерфейс и проверил шлюз
systemctl restart network
ip -br -c a
ip -c r




HQ-CLI
hostnamectl set-hostname hq-cli.au-team.irpo; exec bash
Проверил интерфейс
Изменил порт
ip -br -c a
cd /etc/net/ifaces
ls
mv ens18 ens19
Изменил файл options
ls
vim ens19/options
Перезапустил сетевую службу
МОЖЕТ ДОЛГО ГРУЗИТЬ
systemctl restart network
HQ-RTR
en
conf t
hostname hq-rtr
ip domain-name au-team.irpo
write memory
Просмотрел порты
do sh po br
Создал логический интерфейс
int isp
ip address 172.16.1.2/28
description "isp"
ex




Настроил физ порт и объединил с интерфейсом
port te0
service-instance te0/isp
encapsulation untagged
connect ip interface isp
ex
ex
Проверил пинг
do ping 172.16.1.2
Создал 3 интерфейса, сразу выполнив и 4 задание
int vl100
description "vl100"
ip address 192.168.100.1/27
ex
int vl200
description "vl200"
ip address 192.168.200.1/24
ex

int vl999
description "vl999"
ip address 192.168.99.1/29
ex
Настроил порты и объединил с интерфейсами
port te1
service-instance te1/vl100
encapsulation dot1q 100 exact
rewrite pop 1
connect ip interface vl100
ex


service-instance te1/vl200
encapsulation dot1q 200 exact
rewrite pop 1
connect ip interface vl200
ex
service-instance te1/vl999
encapsulation dot1q 999 exact
rewrite pop 1
connect ip interface vl999
ex
ex
write memory
Проверил
do sh ip int br

do sh int des
Настроил маршрут по умолчанию
ip route 0.0.0.0/0 172.16.1.1
write memory
do sh ip static-route
Проверил пинг
do ping 192.168.100.2
do ping 192.168.200.1

BR-RTR

en
conf t
hostname br-rtr
ip domain-name au-team.irpo
write memory
Выполнил аналогичную настройку
do sh po br
int int0
ip address 172.16.2.2/28
description "isp"
ex





port te0
service-instance te0/int0
encapsulation untagged
connect ip interface int0
ex
ex
int int1
Ip address 192.168.3.1/28
description "br-srv"
ex
port te1
service-instance te1/int1
encapsulation untagged
connect ip interface int1
ex
ex

ip route 0.0.0.0/0 172.16.2.1
write memory
Проверил
do sh ip int br
do sh ip static-route
do ping 172.16.2.1
do ping 192.168.3.1


Создал локальные учетные записи
HQ-SRV
Создал пользователя на hq-srv с идентификатором 2026 и паролем P@ssw0rd
cd
adduser sshuser -u 2026
passwd sshuser
ввел пароль P@ssw0rd
Добавил в группу wheel
usermod -aG wheel sshuser
vim /etc/sudoers
снизу файла изменил строку, убрав #
Это необычный файл поэтому схранить его получиться только добавив !
:wq!
Проверил
id sshuser








BR-SRV
Аналогично
Создал пользователя на hq-srv с идентификатором 2026 и паролем P@ssw0rd
cd
adduser sshuser -u 2026
passwd sshuser
ввел пароль P@ssw0rd
Добавил в группу wheel
usermod -aG wheel sshuser
vim /etc/sudoers


снизу файла изменил строку, убрав #
Это необычный файл поэтому схранить его получиться только добавив !
:wq!
Проверил
id sshuser


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

HQ-RTR
en
conf t
username net_admin
password P@ssw0rd
role admin
ex
write memory
Проверил
do sh users localdb

BR-RTR
en
conf t
username net_admin
password P@ssw0rd
role admin
ex
write memory
Проверил
do sh users localdb

Настроил безопасный удаленный доступ на серверах hq-srv br-srv
HQ-SRV
Отредактировал файл-конфиг
vim /etc/openssh/sshd_config
И внизу этого же файла
Banner /etc/openssh/bannermotd

Создал файл bannermotd
vim /etc/openssh/bannermotd
добавил туда Authorized acces only!
systemctl restart sshd
Проверка
ssh sshuser@localhost -p 2026
у вас надо будет еще ввести yes тк первое подключение
при появлении ввел yes а потом пароль
И вышел
exit


BR-SRV
Аналогично
Отредактировал файл-конфиг
vim /etc/openssh/sshd_config
И внизу этого же файла
Banner /etc/openssh/bannermotd

Создал файл bannermotd
vim /etc/openssh/bannermotd
добавил туда Authorized acces only!
systemctl restart sshd
Проверка
ssh sshuser@localhost -p 2026
при появлении ввел yes а потом пароль
И вышел
exit


Между офисами сконфигурировал ip-тунель
HQ-RTR
en
conf t
interface tunnel.0
ip address 10.10.10.1/30
ip mtu 1400
ip tunnel 172.16.1.2 172.16.2.2 mode gre
ex
write memory
Проверка
do show ip interface br






BR-RTR
en
conf t
interface tunnel.0
ip address 10.10.10.2/30
ip mtu 1400
ip tunnel 172.16.2.2 172.16.1.2 mode gre
ex
write memory
Проверка
do show ip interface br
do ping 10.10.10.1


Обеспечил динамическую маршрутизацию
HQ-RTR
Настроил ospf на HQ-RTR и обеспечил защиту
en
conf t
router ospf 1
ospf router-id 10.10.10.1
passive-interface default
no passive-interface tunnel.0
network 10.10.10.0/30 area 0
network 192.168.100.0/27 area 0
network 192.168.200.0/24 area 0
network 192.168.99.0/29 area 0
ex
interface tunnel.0
ip ospf authentication message-digest
ip ospf message-digest-key 1 md5 P@ssw0rd
ex
write memory


Проверка
do show ip ospf int tunnel.0






BR-RTR
en
conf t
router ospf 1
ospf router-id 10.10.10.2
passive-interface default
no passive-interface tunnel.0
network 10.10.10.0/30 area 0
network 192.168.3.0/28 area 0
ex
interface tunnel.0
ip ospf authentication message-digest
ip ospf message-digest-key 1 md5 P@ssw0rd
ex
write memory


Проверка
do show ip ospf int tunnel.0
do sh ip ospf neighbor
do show ip route ospf – вывод может появится не  сразу, пробовать несколько раз вводить
НА HQ-RTR
en
conf t
do sh ip ospf neighbor
do show ip route ospf
Проверил пинги между серверов
HQ-SRV
ping 192.168.3.2
tracepath -n 192.168.3.2
BR-SRV
ping 192.168.100.1



Настроил динамическую трансляцию адресов
ISP
Настроил NAT на isp
apt-get update
apt-get install iptables -y
Добавил правило и сохранил
iptables -t nat -A POSTROUTING -o ens19 -j MASQUERADE
iptables-save >> /etc/sysconfig/iptables
Включил и добавил в автозагрузку
systemctl enable --now iptables
systemctl restart network


проверил
iptables -t nat -L -n -v

Проверил пинги
HQ-RTR
en
conf t
do ping 8.8.8.8
BR-RTR
en
conf t
do ping 8.8.8.8

Настроил NAT на маршрутизаторах
HQ-RTR
Указал внутренние и внешние интерфейсы
en
conf t
interface isp
ip nat outside
ex
interface vl100
ip nat inside
ex
interface vl200
ip nat inside
ex
interface vl999
ip nat inside
ex


Создал пулы адресов
ip nat pool VLAN100 192.168.100.1-192.168.100.30
ip nat pool VLAN200 192.168.200.1-192.168.200.254
ip nat pool VLAN999 192.168.99.1-192.168.99.6
Создал правило трансляции адресов и сохранил
ip nat source dynamic inside-to-outside pool VLAN100 overload interface isp
ip nat source dynamic inside-to-outside pool VLAN200 overload interface isp
ip nat source dynamic inside-to-outside pool VLAN999 overload interface isp
write memory
Проверил
HQ-SRV
Проверил пинг
ping ya.ru
HQ-RTR
do sh ip nat translations

BR-RTR

en
conf t
int int0
ip nat outside
ex
int int1
ip nat inside
ex
ip nat pool BR 192.168.3.1-192.168.3.14
ip nat source dynamic inside-to-outside pool BR overload interface int0
write memory
Проверил
BR-SRV
Проверил пинг
ping ya.ru
HQ-RTR
do sh ip nat translations

Настроил протоколы динамической конфигурации хостов
HQ-RTR
Пул для dhcp, привязка, параметры
en
conf t
ip pool HQ-CLI 192.168.200.2-192.168.200.254
dhcp-server 1
pool HQ-CLI 1
mask 24
gateway 192.168.200.1
dns 192.168.100.2
domain-name au-team.irpo
exit
exit
Указал интерфейс, который будет принимать пакеты
interface vl200
dhcp-server 1
ex
write memory

Проверил
HQ-CLI
systemctl restart network
ip -br -c a
ip route
cat /etc/resolv.conf
ping 77.88.8.8
HQ-RTR
do sh dhcp-server clients vl200


Настроил DNS
HQ-SRV
Установил пакеты
apt-get update
apt-get install bind bind-utils -y
Внес изменения
vim /etc/bind/options.conf
Создал и настроил прямую зону
vim /etc/bind/rfc1912.conf
В конце файла

zone "au-team.irpo" {
        type master;
        file "au-team.irpo";
        allow-update { none; };
};
zone "100.168.192.in-addr.arpa" {
        type master;
        file "100.168.192.in-addr.arpa";
        allow-update { none; };
};
zone "200.168.192.in-addr.arpa" {
        type master;
        file "200.168.192.in-addr.arpa";
        allow-update { none; };
};
Скопировал шаблон
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
vim /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-rtr  IN      A       192.168.100.1
hq-rtr  IN      A       192.168.200.1
hq-rtr  IN      A       192.168.99.1
br-rtr  IN      A       192.168.3.1
hq-cli  IN      A       192.168.200.2
br-srv  IN      A       192.168.3.2
docker  IN      A       172.16.1.1
web     IN      A       172.16.2.2
ВСЕ МОЖЕТ СЪЕХАТЬ
НЕ КОПИРУЙТЕ ВСЕ А ТОЛЬКО ТО ЧТО НУЖНО ПОМЕНЯТЬ
И ПО 1 СТРОКЕ
МЕНЯЙТЕ ТОЛЬКО ЧТО ОБОЗНАЧЕНО

Обратная зона
vim /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.


Скопировал и внес изменения
cd /var/lib/bind/etc/zone
cat 100.168.192.in-addr.arpa > 200.168.192.in-addr.arpa
vim 200.168.192.in-addr.arpa
Чтобы не было ошибок ввел след и отредактировал файл
cd
rndc-confgen > /var/lib/bind/etc/rndc.key
vim /var/lib/bind/etc/rndc.key
Оставил первые 5 строк, остальное стер
У ВАС secret БУДЕТ ДРУГОЙ!!!! ОСТАВЛЯЕМ ТАКОЙ КАКОЙ ЕСТЬ У ВАС
Поменял группу
chown -R root:named /etc/bind/zone/

Проверил
named-checkconf -z
ls -l /etc/bind/zone/
Поменял resolv.conf
vim /etc/net/ifaces/ens19/resolv.conf
search au-team.irpo
nameserver 192.168.100.2


Запустил и проверил
systemctl restart network
systemctl enable --now bind.service
systemctl restart bind.service
systemctl status bind.service
ЧТОБЫ ВЫЙТИ CTRL+C
МОЖЕТ БЫТЬ ОРАНЖЕВЫМ – ЭТО НОРМА
ping ya.ru


HQ-CLI
ping 192.168.3.2
host hq-rtr.au-team.irpo
host 192.168.200.1


Настроил часовые пояса
ISP
apt-get install tzdata
timedatectl set-timezone Europe/Moscow
timedatectl
HQ-RTR
en
conf t
ntp timezone utc+3
do show ntp timezone
write memory
HQ-SRV
timedatectl set-timezone Europe/Moscow
timedatectl
HQ-CLI
timedatectl set-timezone Europe/Moscow
timedatectl
BR-RTR
en
conf t
ntp timezone utc+3
do show ntp timezone
write memory
BR-SRV
timedatectl set-timezone Europe/Moscow
timedatectl


МОДУЛЬ 2
Настроил samba-dc
BR-SRV
Установил
apt-get update && apt-get install -y task-samba-dc
Очистка предыдущей конфигурации Samba
rm -f /etc/samba/smb.conf
rm -rf /var/lib/samba
rm -rf /var/cache/samba
mkdir -p /var/lib/samba/sysvol
Развернул домен
В интерактивном меню указал днс – 192.168.100.2
Пароль – P@ssw0rd
В других местах просто enter
samba-tool domain provision


Включил и добавил в автозагрузку службу samba:
systemctl enable --now samba
Настройка Kerberos:
cp /var/lib/samba/private/krb5.conf /etc/krb5.conf
подтвердил yes
Перезагрузил службу samba:
systemctl restart samba
Отредактировал resolv.conf для интерфейса:
echo "search au-team.irpo" > /etc/net/ifaces/ens19/resolv.conf
echo "nameserver 127.0.0.1" >> /etc/net/ifaces/ens19/resolv.conf
Проверил
cat /etc/net/ifaces/ens19/resolv.conf
Перезагрузил сеть и проверил
systemctl restart network
samba-tool domain info 127.0.0.1

smbclient -L 127.0.0.1 -U administrator
P@ssw0rd пароль
cat /etc/samba/smb.conf
cat /etc/krb5.conf


Проверка Kerberos
Получение билета
kinit Administrator@AU-TEAM.IRPO
P@ssw0rd пароль
Просмотр полученного билета:
klist
Создание пользователей и группы
Создание группы hq
samba-tool group add hq
samba-tool group list


Создание пользователей и добавление в группу
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
Проверка членства в группе:
samba-tool group listmembers hq


HQ-RTR
Поменял адрес днс чтобы войти в домен
en
conf t
dhcp-server 1
pool HQ-CLI 1
dns 192.168.3.2
end
write memory
HQ-CLI
systemctl restart network
host au-team.irpo
Установка пакетов для ввода в домен
apt-get update && apt-get install -y task-auth-ad-sssd
если будет ошибка в загрузке в конце
то сперва
apt-get remove alterator-datetime
а потом
apt-get update && apt-get install -y task-auth-ad-sssd

Ввод в домен через Центр Управления Системой
Через графический интерфейс
Пароль – resu
Открыл 
Центр управления системой
Пароль toor


Перешел в раздел 
Пользователи → Аутентификация
Выбрал
Active Directory
Ввел:
DOMAIN: AU-TEAM.IRPO
WORKGROUP: AU-TEAM
COMPUTER NAME: HQ-CLI
МОЖНО И МАЛЕНЬКИМИ, НЕОБЯЗАТЕЛЬНО КАПСОМ
Apply


Администратор: Administrator
Пароль: P@ssw0rd
ok
Перезагрузка HQ-CLI
После ввода в домен необходимо перезагрузить машину:







Зашел под новым пользователем
Пароль P@ssw0rd
Можно посмотреть информацию, но необязательно
Id hquser3


Опять открываем HQ-CLI через консоль
Настройка ограниченного sudo для группы hq
Установка libnss-role
apt-get install -y libnss-role
Проверка, что модуль включён:
control libnss-role
Связывание доменной группы с локальной группой wheel
roleadd hq wheel
Проверка:
rolelst
Настройка sudoers
файл /etc/sudoers:
vim /etc/sudoers
Добавил алиас для разрешённых команд:
Cmnd_Alias      SHELLCMD = /bin/cat, /bin/grep, /usr/bin/id
Добавил правило для группы wheel:
WHEEL_USERS ALL=(ALL:ALL) SHELLCMD
Сохранил ИМЕННО :wq!

проверил
su- hquser3
Пароль P@ssw0rd
sudo id
sudo cat /etc/hosts
sudo grep user /etc/passwd
Должно выдать ошибку ведь был запрет
sudo -i
sudo su –
exit


Сконфигурировал файловое хранилище на сервере HQ-SRV:
Установка mdadm
apt-get update && apt-get install -y mdadm
Определение дисков
lsblk
Зануление суперблоков
mdadm --zero-superblock --force /dev/sdb /dev/sdc
Создание RAID-массива уровня 0
mdadm --create --verbose /dev/md0 -l 0 -n 2 /dev/sdb /dev/sdc


Проверка
lsblk
Сохранение
mdadm --detail --scan --verbose >> /etc/mdadm.conf
cat /etc/mdadm.conf
Создание файловой системы
mkfs.ext4 /dev/md0
Проверка UUID массива
blkid /dev/md0


Создание точки монтирования
mkdir /raid
Монтирование
mount -av
Настройка автоматического монтирования
vim /etc/fstab
просто в конце дописать
/dev/md0        /raid   ext4    defaults        0       0


Проверка
reboot
df -h
Проверка состояния RAID
cat /proc/mdstat


Настроил сервер сетевой файловой системы (nfs) на HQ-SRV:
Создал директорию для NFS
mkdir /raid/nfs
Настройка NFS-сервера
Установка пакетов
apt-get update
apt-get install -y nfs-server nfs-utils
Выдал права
chmod 766 /raid/nfs/
Конфиг экспорта
vim /etc/exports

В конце добавил
/raid/nfs       192.168.200.0/24(rw,no_root_squash)
Экспорт
exportfs -arv
Запуск
systemctl enable --now nfs-server
systemctl status nfs-server
Нажать q чтобы выйти




HQ-CLI
Настроил клиент
Установка пакетов
apt-get update && apt-get install -y nfs-utils nfs-clients
Создание точки монтирования и назначение прав
mkdir /mnt/nfs
chmod 777 /mnt/nfs
Настройка автомонтирования
vim /etc/fstab
добавил строку
192.168.100.2:/raid/nfs    /mnt/nfs    nfs    defaults    0    0
Монтирование
mount -av


Проверка
df -h
touch /mnt/nfs/test
HQ-SRV
ls /raid/nfs/ -la


Настроил службу сетевого времени на базе сервиса chrony на маршрутизаторе ISP
ISP
Настройка NTP-сервера на ISP
Установка chrony
apt-get update
apt-get install -y chrony
Редактирование конфигурации
vim /etc/chrony.conf
Добавил/изменил следующие строки:
Закомментировал, добавив #


Добавил ниже
server ntp0.ntp-servers.net iburst prefer minstratum 4
local stratum 5
allow 0/0
Перезапуск службы
systemctl restart chronyd
systemctl enable --now chronyd
Проверка работы NTP-сервера
chronyc tracking
chronyc sources
 Конфигурация ntp
HQ-RTR
en
conf t
ntp server 172.16.1.1
do sh ntp status
write memory
BR-RTR
en
conf t
ntp server 172.16.2.1
do sh ntp status
write memory
HQ-SRV
apt-get install chrony -y
vim /etc/chrony.conf
Закомментировал и дописал
server 172.16.1.1 iburst
запуск
systemctl restart chronyd
systemctl enable --now chronyd
 Проверка
chronyc sources
HQ-CLI
apt-get install chrony -y
vim /etc/chrony.conf
Закомментировал и дописал
server 172.16.1.1 iburst
запуск
systemctl restart chronyd
systemctl enable --now chronyd
 Проверка
chronyc sources



BR-SRV
apt-get install chrony -y
vim /etc/chrony.conf
Закомментировал и дописал
server 172.16.2.1 iburst
запуск
systemctl restart chronyd
systemctl enable --now chronyd
 Проверка
chronyc sources
ISP
chronyc clients
Ansible
Запустил ssh
HQ-CLI
systemctl restart sshd.service
systemctl enable --now sshd.service
systemctl status sshd.service
useradd sshuser
passwd sshuser
P@ssw0rd
usermod -aG wheel sshuser
vim /etc/sudoers
vim /etc/openssh/sshd_config
systemctl restart sshd.service
systemctl status sshd.service


BR-SRV
Установка пакетов
apt-get update && apt-get install -y ansible sshpass
Права
chown -R root:user /etc/ansible
chmod -R 774 /etc/ansible
конфиг
vim /etc/ansible/ansible.cfg


Убрал # в строке inventory      = /etc/ansible/hosts
Ниже добавил host_key_checking = False
vim /etc/ansible/hosts
HQ-SRV ansible_host=192.168.100.2 ansible_user=sshuser ansible_password=P@ssw0rd ansible_port=2026
HQ-CLI ansible_host=192.168.200.2 ansible_user=sshuser  ansible_password=P@ssw0rd
HQ-RTR ansible_host=192.168.100.1 ansible_user=net_admin ansible_password=P@ssw0rd ansible_connection=network_cli ansible_network_os=ios
BR-RTR ansible_host=192.168.3.1 ansible_user=net_admin ansible_password=P@ssw0rd ansible_connection=network_cli ansible_network_os=ios

[all:vars]
ansible_python_interpreter=/usr/bin/python3


Чтобы все работало коректно
ansible-galaxy collection install ansible.netcommon
ansible-galaxy collection install cisco.ios
apt-get install -y python3-module-pip
pip3 install ansible-pylibssh
HQ-RTR
en
conf t
security none
write memory


BR-RTR
en
conf t
security none
write memory
BR-SRV
Проверка пинга
ansible all -m ping




Развернул Docker
BR-SRV
Установил пакеты
apt-get update && apt-get install -y docker-engine docker-compose-v2
Запуск
systemctl enable --now docker
Проверил диск
lsblk
Монтировал
mount /dev/sr0 /mnt
Посмотрел содержимое
ls /mnt/
ls /mnt/docker/
ls /mnt/web/

Выполнил импорт образов
cd /mnt/docker
docker load < site_latest.tar
docker load < mariadb_latest.tar
Проверил
docker image ls
Создал
mkdir -p /opt/testapp

Создал файл для развертывания


cat > /opt/testapp/docker-compose.yml << 'EOF'
services:
  database:
    container_name: db
    image: mariadb:10.11
    restart: always
    ports:
      - "3306:3306"
    environment:
      MARIADB_DATABASE: testdb
      MARIADB_USER: test
      MARIADB_PASSWORD: P@ssw0rd
      MARIADB_ROOT_PASSWORD: P@ssw0rd

  app:
    container_name: testapp
    image: site:latest
    restart: always
    ports:
      - "8080:8000"
    environment:
      DB_TYPE: maria
      DB_HOST: db
      DB_PORT: 3306
      DB_NAME: testdb
      DB_USER: test
      DB_PASS: P@ssw0rd
    depends_on:
      - database
EOF
Запуск приложения
cd /opt/testapp
docker compose up -d
docker ps

HQ-CLI
Зашел через графику в мозилу и вставил в поисковую строку
192.168.3.2:8080


Развернул веб-приложение
HQ-SRV
Установка lamp на HQ-SRV
apt-get update && apt-get install -y lamp-server
Смонтировал
mount /dev/sr0 /mnt
ls /mnt/
ls /mnt/docker/
ls /mnt/web/
Скопировать все файлы в /var/www/html/
cp /mnt/web/index.php /var/www/html/
cp /mnt/web/logo.png /var/www/html/


исправил index.php
vim /var/www/html/index.php
$servername = "localhost";
$username = "web";
$password = "P@ssw0rd";
$dbname = "webdb";
Включил автозагрузку
systemctl enable --now mariadb


Зашел в управление
Создал базу данных
Создал пользователя с паролем
Назначил права
mariadb -u root
CREATE DATABASE webdb;
CREATE USER 'web'@'localhost' IDENTIFIED BY 'P@ssw0rd';
GRANT ALL PRIVILEGES ON webdb.* TO 'web'@'localhost';
FLUSH PRIVILEGES;
EXIT;
Импортировал схему
mariadb webdb < /mnt/web/dump.sql
Проверил
mariadb -e "USE webdb; SHOW TABLES;"
Включил апаче в автозагрузку
systemctl enable --now httpd2
HQ-CLI
Зашел через графику в мозилу и вставил в поисковую строку
192.168.100.2


Статическая трансляция портов
HQ-RTR
en
conf t
ip nat destination static tcp 172.16.1.2 8080 192.168.100.2 80 hairpin
ip nat destination static tcp 172.16.1.2 2026 192.168.100.2 2026 hairpin
ip nat source static tcp 192.168.100.2 80 172.16.1.2 8080
ip nat source static tcp 192.168.100.2 2026 172.16.1.2 2026
write memory
для проверки
do sh ip nat tr

BR-RTR
en
conf t
ip nat source static tcp 192.168.3.2 8080 172.16.2.2 8080
ip nat source static tcp 192.168.3.2 2026 172.16.2.2 2026
write memory
для проверки
do sh ip nat tr
проверил
ssh sshuser@172.16.1.2 -p 2026
ssh sshuser@172.16.2.2 -p 2026

172.16.1.2:8080
172.16.2.2:8080



Настройка Nginx
ISP
Установка Nginx на ISP
apt-get update && apt-get install -y nginx
systemctl enable --now nginx
Настройка обратного прокси
конфигурационный файл:
vim /etc/nginx/nginx.conf
в конец документа и перед последней фигурной скобкой }


server  {
        listen 80;
        server_name web.au-team.irpo;

        location / {
                proxy_pass http://172.16.1.2:8080;
        }
}

server {
        listen 80;
        server_name docker.au-team.irpo;

        location / {
                proxy_pass http://172.16.2.2:8080;
        }
}
Проверка Nginx
ln -s /etc/nginx/sites-available.d/default.conf /etc/nginx/sites-enabled.d/
nginx -t
Перезапустил
systemctl restart nginx


HQ-CLI
файл hosts на HQ-CLI
vim /etc/hosts
в конце
172.16.1.1      web.au-team.irpo
172.16.2.1      docker.au-team.irpo
Проверка
http://docker.au-team.irpo
http://web.au-team.irpo




Установить утилиту htpasswd на ISP
apt-get update && apt-get install -y apache2-htpasswd
Создать файл с паролем и пользователя
htpasswd -cb /etc/nginx/.htpasswd WEB P@ssw0rd
Настроить аутентификацию в Nginx
конфигурационный файл прокси:
vim /etc/nginx/nginx.conf

добавил
auth_basic "Restricted area";
auth_basic_user_file /etc/nginx/.htpasswd;


Перезапустил nginx
systemctl restart nginx
Проверка
Удобным способом установите приложение Яндекс Браузер на HQ-CLI
apt-get update && apt-get install yandex-browser-stable