diff --git a/README.md b/README.md index 4e8249e..9ddf817 100644 --- a/README.md +++ b/README.md @@ -670,17 +670,19 @@ ________________________________________________________________________________

Выполните импорт пользователей из файла users.csv. Файл будет располагаться на виртуальной машине BR-SRV в папке /opt

-- Сначала скачаем необходимую утилиту на BR-SRV: +- Сначала скачаем необходимую утилиту на *BR-SRV*: ***apt install dos2unix -y*** -- Потом на BR-SRV скачиваем скрипт, который выполнит за нас задание: +***apt install curl -y*** -***curl -O https://github.com/4bobus/laba/blob/main/files/import_users.sh /opt*** +- Потом на BR-SRV скачиваем скрипт, который выполнит за нас задание, в нужную директорию: + +***curl -o /opt https://raw.githubusercontent.com/4bobus/laba/refs/heads/main/files/import_users.sh*** ***ls /opt*** -***dos2unix ~/import_users*** +***dos2unix /opt/import_users.sh***

@@ -688,7 +690,7 @@ ________________________________________________________________________________ - Проверяем наличие скрипта: -***nano /import_users.sh*** +***nano /opt/import_users.sh***

@@ -960,17 +962,16 @@ Ansible обычно уже использует /etc/ansible как рабоч 3. Создание файла инвентаря -Создайте инвентарь файла : /etc/ansible/hosts. +Создайте инвентарь файла : /etc/ansible/hosts. Открываем файл /etc/ansible/hosts -Скачиваем файл с github: +- Скачиваем файл с github, в нужную директорию: +> !dos2unix и curl на BR-SRV уже скачаны! -apt install dos2unix -y +***curl -o /etc/ansible https://raw.githubusercontent.com/4bobus/laba/refs/heads/main/files/hosts.file*** -curl -O https://github.com/4bobus/laba/blob/main/files/hosts.txt /etc/ansible +***dos2unix /etc/ansible/hosts.file*** -dos2unix /etc/ansible/hosts.txt - -Проверяем его наличие: +- Проверяем его наличие:

@@ -1056,9 +1057,18 @@ ________________________________________________________________________________ 3. В домашней директории пользователя root создаём файл wiki.yml со следующим содержимым: -***nano ~/wiki.yml*** +- Чтобы вручную файл не заполнять просто скачиваем его с github в нужную директорию: +> !dos2unix и curl на BR-SRV уже скачаны! +***curl -o ~/ https://raw.githubusercontent.com/4bobus/laba/main/files/wiki.yml*** + +***dos2unix ~/wiki.yml*** + +- Проверяем его наличие: + +***nano ~/wiki.yml*** +

@@ -1479,34 +1489,44 @@ ________________________________________________________________________________ ***apt install nginx -y*** -Запустите и активируйте Nginx: +2. Запустите и активируйте Nginx: ***systemctl start nginx*** ***systemctl enable nginx*** -2. Настройка Nginx как обратного прокси +3. Настройка Nginx как обратного прокси -Создадим конфигурационный файл для сайта в Nginx, в котором настроим виртуальные хосты: +Создадим конфигурационный файл для сайта в Nginx, в котором настроим виртуальные хосты. Добавьте конфигурацию для проксирования запросов в файл reverse-proxy.conf: + +- Скачиваем файл с github в необходимую директорию: + +***apt install dos2unix -y*** + +***apt install curl -y*** + +***curl -o /etc/nginx/sites-available https://raw.githubusercontent.com/4bobus/laba/refs/heads/main/files/reverse-proxy.conf*** + +***dos2unix /etc/nginx/sites-available/reverse-proxy.conf*** + +- Проверяем его наличие:

-Добавьте конфигурацию для проксирования запросов в файл reverse-proxy.conf: -

-Сохраните файл и закройте редактор. +> Сохраните файл и закройте редактор. -Создайте символическую ссылку на этот файл в папке sites-enabled для активации конфигурации: +- Создайте символическую ссылку на этот файл в папке sites-enabled для активации конфигурации:

-Проверьте конфигурацию Nginx на наличие синтаксических ошибок: +- Проверьте конфигурацию Nginx на наличие синтаксических ошибок:

@@ -1514,9 +1534,9 @@ ________________________________________________________________________________ > на hq-rtr в файле /etc/resolv.conf должно быть прописано dns 192.168.100.2 -*Если конфигурация правильная, вы увидите сообщение syntax is ok.* +> *Если конфигурация правильная, вы увидите сообщение syntax is ok.* -Перезагрузите Nginx, чтобы применить изменения: +- Перезагрузите Nginx, чтобы применить изменения: ***systemctl reload nginx*** @@ -1661,13 +1681,21 @@ ________________________________________________________________________________

*HQ-RTR*

-Отредактируем nftables под текст задания: +- Скачаем готовый nftables.conf с github, укажем путь для замены нашего nftables: +> !dos2unix и curl на HQ-RTR уже скачаны! + +***curl -o /etc/nftables.conf https://raw.githubusercontent.com/4bobus/laba/refs/heads/main/files/hq-rtr/nftables.conf*** + +***dos2unix /etc/nftables.conf*** + +- Проверяем содержимое файла /etc/nftables.conf: +> !меняем префикс(маску) ip-адреса в соответствии со своим заданием!

-Не забываем применять: +- Не забываем применять:

@@ -1675,10 +1703,25 @@ ________________________________________________________________________________

*BR-RTR *

+- Скачаем готовый nftables.conf с github, укажем путь для замены нашего nftables: + +***apt install dos2unix -y*** + +***apt install curl -y*** + +***curl -o /etc/nftables.conf https://raw.githubusercontent.com/4bobus/laba/refs/heads/main/files/br-rtr/nftables.conf*** + +***dos2unix /etc/nftables.conf*** + +- Проверяем содержимое файла /etc/nftables.conf: +> !меняем префикс(маску) ip-адреса в соответствии со своим заданием! +

+- Не забываем применять: +

@@ -1931,12 +1974,19 @@ apt install rsyslog 2. Далее, создадим плейбук /etc/ansible/inventory.yml: +- Скачиваем его с github в необходимую директори: +> !dos2unix и curl на BR-SRV уже скачаны! + +***curl -o /etc/ansible https://raw.githubusercontent.com/4bobus/laba/refs/heads/main/files/inventory.yml*** + +***dos2unix /etc/ansible/inventory.yml*** + +- Потом проверяем его содержимое: +

-со следующим содержимым: -

@@ -1975,6 +2025,16 @@ apt install rsyslog

2. И создаём сам плейбук /etc/ansible/backup.yml: +> *ОБЯЗАТЕЛЬНО УСТАНОВИТЕ sudo НА HQ-RTR и BR-RTR* + +- Скачаем файл с github в нужную директорию: +> !dos2unix и curl на BR-SRV уже скачаны! + +***curl -o /etc/ansible https://raw.githubusercontent.com/4bobus/laba/refs/heads/main/files/backup.yml*** + +***dos2unix /etc/ansible/backup.yml*** + +- Проверяем его содержимое:

diff --git a/files/br-rtr/nftables.conf b/files/br-rtr/nftables.conf new file mode 100755 index 0000000..c504fd2 --- /dev/null +++ b/files/br-rtr/nftables.conf @@ -0,0 +1,46 @@ +#!/usr/sbin/nft -f + +flush ruleset + +table inet filter { + chain input { + type filter hook input priority 0; policy drop; + log prefix "Dropped Input: " level debug + iif lo accept + ct state established,related accept + tcp dport { 22,514,53,80,443,2024,445,139,88 } accept + udp dport { 53,123,500,4500,88,137 } accept + ip protocol icmp accept + ip protocol esp accept + ip protocol gre accept + ip protocol ospf accept + } + chain forward { + type filter hook forward priority 0; policy drop; + log prefix "Dropped forward: " level debug + iif lo accept + ct state established,related accept + tcp dport { 22,514,53,80,443,2024,445,139,88 } accept + udp dport { 53,123,500,4500,88,137 } accept + ip protocol icmp accept + ip protocol esp accept + ip protocol gre accept + ip protocol ospf accept + } + chain output { + type filter hook output priority 0; policy accept; + } +} + +table inet nat { + chain prerouting { + type nat hook prerouting priority filter; policy accept + ip daddr 172.16.5.2 tcp dport 2024 dnat ip to 192.168.200.2:2024 + ip daddr 172.16.5.2 tcp dport 80 dnat ip to 192.168.200.2:8080 + } + chain postrouting { + type nat hook postrouting priority srcnat + + oif "ens18" ip saddr { 192.168.200.0/27 } masquerade + } +} diff --git a/files/hq-rtr/nftables.conf b/files/hq-rtr/nftables.conf new file mode 100755 index 0000000..ae4a670 --- /dev/null +++ b/files/hq-rtr/nftables.conf @@ -0,0 +1,45 @@ +#!/usr/sbin/nft -f + +flush ruleset + +table inet filter { + chain input { + type filter hook input priority 0; policy drop; + log prefix "Dropped Input: " level debug + iif lo accept + ct state established,related accept + tcp dport { 22,514,53,80,443,2024,445,139,88 } accept + udp dport { 53,123,500,4500,88,137 } accept + ip protocol icmp accept + ip protocol esp accept + ip protocol gre accept + ip protocol ospf accept + } + chain forward { + type filter hook forward priority 0; policy drop; + log prefix "Dropped forward: " level debug + iif lo accept + ct state established,related accept + tcp dport { 22,514,53,80,443,2024,445,139,88 } accept + udp dport { 53,123,500,4500,88,137 } accept + ip protocol icmp accept + ip protocol esp accept + ip protocol gre accept + ip protocol ospf accept + } + chain output { + type filter hook output priority 0; policy accept; + } +} + +table inet nat { + chain prerouting { + type nat hook prerouting priority filter; policy accept + ip daddr 172.16.4.2 tcp dport 2024 dnat ip to 192.168.100.2:2024 + } + chain postrouting { + type nat hook postrouting priority srcnat + + oif "ens18" ip saddr { 192.168.100.0/26, 192.168.10.0/28 } masquerade + } +}