jjjjj
dns-nameserver 192.168.10.2 8.8.8.8
Настройка PAT (ISP, HQ-RTR, BR-RTR)
файл nano /etc/sysctl.conf , находим строку #net.ipv4.ip_forward=1 и раскомментируем её.
apt install -y iptables-persistent
iptables -t nat -A POSTROUTING -o ens33 -j MASQUERADE
iptables-save > /etc/iptables/rules.v4
sysctl -p
В устройствах, которые будут получать интернет от этого устройства, надо зайти в файл nano /etc/resolv.conf и написать там nameserver 8.8.8.8
Создание локальных учетных записей на серверах (HQ-SRV, BR-SRV) и роутерах (HQ-RTR, BR-RTR) (1.3)
useradd sshuser -m -p $(openssl passwd -6 "P@ssw0rd") -s /bin/bash -u 2026 -G sudo
sshuser ALL=(ALL) NOPASSWD:ALL
useradd -m net_admin && echo "net_admin:P@ssword" | chpasswd
nano /etc/sudoers net_admin ALL=(ALL) NOPASSWD:ALL
Настройка SSHна HQ-SRVи BR-SRV
Заходим в файл nano /etc/ssh/sshd_config
Заходим в файл nano /etc/issue.net
Проверка ssh sshuser@(ip/имя) -p 2026
Туннель GRE на HQ-RTR и BR-RTR
Заходим в файл /etc/modules и пишем ip_gre
Далее заходим в файл /etc/network/interfaces и пишем:
Потом перезагружаем сеть командой: systemctl restart networking
И изменяем брандмауэр командой (необязательно как будто):
/usr/sbin/iptables -A INPUT -p gre -j ACCEPT
Проверка После того как прописала, введи на HQ-RTR: ip a show gre30
Настройка динамической маршрутизации на HQ-RTR и BR-RTR
/etc/frr/daemons там ospfd yes
Потом пишем: systemctl enable frr и systemctl restart frr
Заходим в оболочку командой vtysh и пишем:
network 192.168.10.0/27 area 0
network 192.168.10.0/28 area 0
ip ospf authentication message-digest
ip ospf message-digest-key 1 md5 1 (это пароль)
network 192.168.11.0/28 area 0
ip ospf authentication message-digest
ip ospf message-digest-key 1 md5 1 (это пароль)
nano /etc/default/isc-dhcp-server
строка INTERFACESv4="" и в кавычках пишем название интерфейса, который будет раздавать ip-адреса. Ens36.200
subnet 192.168.10.32 netmask 255.255.255.240 {
range 192.168.10.34 192.168.10.46;
option domain-name-servers 192.168.10.2, 8.8.8.8;
option domain-name "au-team.irpo";
option broadcast-address 192.168.10.47;
Далее запускаем dhcp командой:
systemctl enable isc-dhcp-server
systemctl restart isc-dhcp-server
cp /etc/bind/db.empty /var/lib/bind/db.au-team.irpo
cp /etc/bind/db.127 /var/lib/bind/db.192.168.10
В файле nano /etc/bind/named.conf.options
nano /etc/bind/named.conf.local
file "/var/lib/bind/db.au-team.irpo";
zone "10.168.192.in-addr.arpa" {
file "/var/lib/bind/db.192.168.10";
В файле nano /var/lib/bind/db.au-team.irpo
В файле поменять на hq-srv.au-team.irpo. рядом должно быть root.au-team.irpo.
Снизу все должно выглядеть вот так:
; SRV records for Active Directory Domain Controller
_ldap._tcp IN SRV 0 0 389 hq-srv.au-team.irpo.
_kerberos._tcp IN SRV 0 0 88 hq-srv.au-team.irpo.
_kerberos._udp IN SRV 0 0 88 hq-srv.au-team.irpo.
_kpasswd._tcp IN SRV 0 0 464 hq-srv.au-team.irpo.
_kpasswd._udp IN SRV 0 0 464 hq-srv.au-team.irpo.
_ldap._tcp.dc._msdcs IN SRV 0 0 389 hq-srv.au-team.irpo.
В файле nano /var/lib/bind/db.192.168.10
Меняем на hq-srv.au-team.irpo. рядом должно быть root.au-team.irpo.
34 IN PTR hq-cli.au-team.irpo.
named-checkzone au-team.irpo /var/lib/bind/db.au-team.irpo
показывает точные ошибки: named-checkconf -z
Потом всего этого systemctl restart bind9
timedatectl set-timezone Europe/Moscow
Добавить 2 жестких диска по 1 гб
проверка названия дисков lsblk типо просто как называется
mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sdb /dev/sdc
Если спросит "Continue creating array?", пиши y и жми Enter.
mkfs.ext4 /dev/md0
mkdir /data
mount /dev/md0 /data
mdadm --detail --scan >> /etc/mdadm/mdadm.conf
update-initramfs -u
строку в конец файла /etc/fstab
/dev/md0 /data ext4 defaults 0 2
Должно быть написано: md0 : active raid1 и две буквы [UU] (значит, оба диска работают).
Задание 3 NFS-сервер на HQ-SRV и автоматическое монтирование на HQ-CLI
apt install nfs-kernel-server -y
mkdir -p /srv/nfs/share
chown nobody:nogroup /srv/nfs/share
chmod 777 /srv/nfs/share
/srv/nfs/share 192.168.10.0/24(rw,sync,no_subtree_check)
exportfs -a
systemctl restart nfs-kernel-server
На HQ-CLI
apt update && apt install nfs-common -y
mkdir -p /mnt/nfs_share
Добавь эту строку в самый конец файла:
192.168.10.2:/srv/nfs/share /mnt/nfs_share nfs defaults,_netdev 0 0
mount -a
Задание 4 Служба сетевого времени
apt install chrony (HQ-SRV, HQ-CLI, BR-RTR, BRSRV)
в файле nano /etc/chrony/chrony.conf закомментировать строчку с пул
И в конце файла по порядку пишем
server 127.0.0.1 iburst prefer
На «клиентах» (HQ-SRV, HQ-CLI, BR-RTR, BRSRV)
В файле что и isp также комментируем строку и в конце прописываем
Server 172.16.1.1 iburst prefer ( это айпи асп)
На каждой машине прописываем рестарт
systemctl enable chrony
после чего на isp проверяем клиентов chronyc clients, должны появится 4 клиента: hq-srv, br-r, br-srv (br-srv может не показывать) (localhost сам hq-r сервер)
На клиентах прописываем chronyc sources -v, должно показать isp и его стратум должен быть 5:
пункт leap status должен быть normal, время должно быть как на hq-r (время НЕ мск, лондонское)
apt-get install ansible sshpass -y
Создаем конфиг /etc/ansible/ansible.cfg
inventory = /etc/ansible/hosts
( заранее нужно оздать пользователя на клиенте и изменить юзера к конце файла)
Здесь мы прописываем твои реальные IP и пользователей:
# Используем внутренние адреса шлюзов
HQ-RTR ansible_host=192.168.10.1 ansible_user=net_admin
BR-RTR ansible_host=192.168.11.1 ansible_user=net_admin
HQ-SRV ansible_host=192.168.10.2 ansible_user=sshuser
BR-SRV ansible_host=192.168.11.2 ansible_user=sshuser
HQ-CLI ansible_host=192.168.10.34 ansible_user=sshuser
2. Подготовка управляемых узлов (HQ-SRV, HQ-CLI, HQ-RTR, BR-RTR)
apt-get install openssh-server python3 -y
если он не поднял клиента, то на br-rtr
ip route add 192.168.10.0/27 via 10.10.10.1
ip route add 192.168.10.32/28 via 10.10.10.1
ip route add 192.168.11.0/28 via 10.10.10.2
Задание 6. Веб приложение в docker на сервере BR-SRV
curl -fsSL https://get.docker.com -o get-docker.sh
mount /dev/sr0 /mnt/additional
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
docker load -i /mnt/additional/docker/mariadb_latest.tar
docker load -i /mnt/additional/docker/site_latest.tar
testapp:
. image: site:latest
. container_name: testapp
. ports:
. - "8080:8000"
. depends_on:
. - db
. environment:
. - DB_HOST=db
. - DB_NAME=testdb
. - DB_TYPE=maria
. - DB_USER=test
. - DB_PASS=P@ssw0rd
. - SERVER_PORT=8080
. restart: unless-stopped
.
. db:
. image: mariadb:10.11
. container_name: db
. environment:
. MYSQL_ROOT_PASSWORD: P@ssw0rd
. MYSQL_DATABASE: testdb
. MYSQL_USER: test
. MYSQL_PASSWORD: P@ssw0rd
. volumes:
. - db_data:/var/lib/mysql
. restart: unless-stopped
.
.volumes:
. db_data:
docker compose up -d или docker compose -f /opt/testapp/docker-compose.yml up -d
если не вышло docker compose -f /opt/testapp/docker-compose.yml up -d
На клиенте (HQ-CLI) еще раз обнови страницу в браузере или введи curl -v 192.168.11.2:8080
В фаер фоксе на HQ-CLI пишем: http://br-srv:8080
Задание 7. Разверните веб приложение на сервере HQ-SRV:
apt install -y apache2 mariadb-server php libapache2-mod-php php-mysql php-curl php-json
ls -laR /mnt/ ( в случае если дальше будет ошибки, можно проверить путь)
cp /mnt/web/index.php /var/www/html/
cp /mnt/web/logo.png /var/www/html/
chmod 644 /var/www/html/index.php
sudo nano /var/www/html/index.php
CREATE DATABASE IF NOT EXISTS webdb;
DROP USER IF EXISTS 'web'@'localhost';
CREATE USER 'web'@'localhost' IDENTIFIED BY 'P@sswOrd';
GRANT ALL PRIVILEGES ON webdb.* TO 'web'@'localhost';
mysql -u root webdb < /mnt/web/dump.sql
mysql -u root -e "USE webdb; SHOW TABLES;"
Проверка входа пользователя web (опционально):
mysql -u web -p -e "SELECT 1;"
http://IP-адрес-вашего-сервера/index.php
8. Если снова ошибка 500 — смотрите логи:
tail -30 /var/log/apache2/error.log
ALTER USER 'web'@'localhost' IDENTIFIED BY 'P@ssw0rd';
FLUSH PRIVILEGES;
EXIT;
Потом systemctl restart apache2
И на клиенте: http://hq-srv.au-team.irpo
Задание 8 Cтатическую трансляцию портов
iptables -t nat -A PREROUTING -p tcp -d 172.16.1.2 --dport 8080 -j DNAT --to-destination 192.168.10.2:80
iptables -t nat -A POSTROUTING -j MASQUERADE
iptables -A FORWARD -p tcp -d 192.168.10.2 --dport 80 -j ACCEPT
iptables-save > /etc/iptables/rules.v4
iptables -t nat -A PREROUTING -i ens33 -p tcp --dport 8080 -j DNAT --to 192.168.11.2:8080
iptables -t nat -A PREROUTING -i ens33 -p tcp --dport 2026 -j DNAT --to 192.168.11.2:2026
iptables -t nat -A POSTROUTING -d 192.168.11.2 -j MASQUERADE
iptables-save > /etc/iptables/rules.v4
Задание 9 Настройте веб-сервер nginx как обратный прокси-сервер на ISP
Скачать пакеты: sudo apt install nginx –y
Зайти в файл: nano /etc/nginx/sites-available/default
В этом файле раскомментировать почти весь блок и добавить данные
proxy_pass http://172.16.1.2:8080;
server_name docker.au-team.irpo;
proxy_pass http://172.16.2.2:8080;
sudo nano /etc/hosts
```
172.16.1.2 web.au-team.irpo
172.16.2.2 docker.au-team.irpo
Задание 10 На маршрутизаторе ISP настройте web-based аутентификацию
htpasswd -bc /etc/nginx/conf.d/.htpasswd WEB P@ssw0rd
В уже ранее тронутый нами блок nano /etc/nginx/sites-available/default
auth_basic_user_file /etc/nginx/conf.d/.htpasswd;
В лисе написать скачать яндексбраузер для дебиан 12, скачаваем, переходим в папку загрузки. Пкм нажимаем открыть с помощью и там будет установка приложений. ВСЕЕЕЕ