Демоэкз
Ну попробуем решить
Топология
Таблица адресации
Имя устройства
Интерфейс
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