BlobDemoBlob MUDAL 3 - LaTTer-122/Dem GitHub Wiki

1 и 2 задания не делаются

3. Перенастройка IP-туннеля

HQ-RTR

apt install -y strongswan
nano /etc/ipsec.conf
conn gre-tunnel
        auto=start
        left=172.16.40.2
        leftsubnet=0.0.0.0/0
        leftprotoport=47
        right=172.16.50.2
        rightsubnet=0.0.0.0/0
        rightprotoport=47
        authby=secret

image

nano /etc/ipsec.secrets

Вписываем в конец:

172.16.40.2 172.16.50.2 : PSK “123qweR%”

image

!!ATTENTION!! нужно отобразите информацию об этом в отчете !!ATTENTION!!

nano /etc/strongswan.d/charon.conf

Ориентируемся по строке half_open_timeout и ищем install_routes. Должно быть раскоменчено и стоять no как на скрине ниже.

Можно по другому: жмакаем ctrl+q и вписываем install_routes , жмем enter и умный nano сам находит строку

изображение

ipsec restart 

изображение

BR-RTR

apt install -y strongswan
nano /etc/ipsec.conf
conn gre-tunnel
        auto=start
        left=172.16.50.2
        leftsubnet=0.0.0.0/0
        leftprotoport=47
        right=172.16.40.2
        rightsubnet=0.0.0.0/0
        rightprotoport=47
        authby=secret

image

nano /etc/ipsec.secrets

Вписываем в конец:

172.16.50.2 172.16.40.2 : PSK “123qweR%”

image

nano /etc/strongswan.d/charon.conf

Ориентируемся по строке half_open_timeout и ищем install_routes. Должно быть раскоменчено и стоять no как на скрине ниже.

Можно по другому: жмакаем ctrl+q и вписываем install_routes , жмем enter и умный nano сам находит строку

изображение

!!ATTENTION!! нужно отобразите информацию об этом в отчете !!ATTENTION!!

ipsec restart 
apt install -y tcpdump
tcpdump -i ens18 -n -p esp 

HQ-RTR Checking

Проверяем

ping 192.168.200.2 

изображение

BR-RTR Checking

Результаты должны быть такими:

изображение

Все.

4. Настройка межсетевого экрана между HQ-RTR и BR-RTR

HQ-RTR

Если Курл работает:

apt install dos2unix -y
apt install curl -y

По идее, уже должны были быть скачаны

curl -o /etc/nftables.conf https://raw.githubusercontent.com/4bobus/laba/refs/heads/main/files/hq-rtr/nftables.conf
dos2unix /etc/nftables.conf

И проверяем (или вводим):

nano /etc/nftables.conf

Если планируем вставлять текст из этой лабы, то приводим файл конфига к такому виду:

изображение

Ну и после 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,3015,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,3015,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;
	}
}

image

Применяем и рестартим:

systemctl restart nftables
/etc/nftables.conf

BR-RTR

Если Курл работает:

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

И проверяем (или вводим):

nano /etc/nftables.conf

Если планируем вставлять текст из этой лабы, то приводим файл конфига к такому виду:

изображение

Ну и после 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,3015,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,3015,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;
	}
}

image

Применяем и рестартим:

systemctl restart nftables
/etc/nftables.conf

HQ-RTR

Проверяем правильность настройки:

ipsec status

Должно выйти что-то такое:

изображение

Или такое:

изображение

HQ-CLI

Терминал >> su

ping 192.168.200.2

image

Если пингуется, все хорошо.

Все.

5. Принт-сервер на HQ-SRV

Можно скипнуть, достаточно установить cups cups-pdf на HQ-CLI

Настройка скорее всего неправильная. Так что советовал бы сначала 6, 8 и 9, затем 7 и если останется время, то это.

HQ-SRV

apt install -y cups cups-pdf

Добавляем в автозагрузку:

systemctl enable –now cups

Редактируем файл

nano /etc/cups/cupsd.pdf

image

image

Во всех блоках Location необходимо добавить строку Allow all, как на скриншоте

Рестартим cups:

systemctl restart cups

HQ_CLI

apt-get install cups cups-pdf -y

Вводим:

image

lpadmin -p CUPS -E -v ipp://hq-srv.au-team.irpo:631/printers/PDF -m everywhere
lpoptions -d CUPS

image

По идее cups должен быть успешно подключен

lpadmin -x Cups-PDF
lpstat -p

image

Теперь у нас остался один принтер. Проверим его работу. Откроем любой текстовый документ и попробуем его распечатать.

image

Перейдем в веб-интерфейс CUPS по адресу

https://hq-srv.au-team.irpo:631/

  • Вкладка Принтеры
  • Выбираем наш принтер.
  • Жмем кнопку Показать все задания

Если хоть что-то заработает, то успех

Все.

6. Логирование rsyslog

HQ-SRV

apt install -y rsyslog
nano /etc/rsyslog.conf

Раскоменчиваем строки под стрелками:

изображение

Далее переходим в конец конфига ctrl+end и после помеченной строки $IncludeConfig, пишем строки ниже:

$template RemoteLogs, "/opt/%HOSTNAME%/rsyslog.txt"
*.* ?RemoteLogs
& stop

изображение

Включаем и перезапускаем rsyslog:

systemctl enable rsyslog
systemctl restart rsyslog

HQ-RTR

apt install -y rsyslog
nano /etc/rsyslog.conf

Начало приводим к такому виду:

изображение

Переходим в самый низ конфига ctrl+end и вписываем это:

*.warning @@192.168.100.2:514

Должно выглядеть так:

изображение

Выходим, запускаем и рестартим:

systemctl enable rsyslog
systemctl restart rsyslog

BR-RTR

apt install -y rsyslog
nano /etc/rsyslog.conf

Начало приводим к такому виду:

изображение

Переходим в самый низ конфига ctrl+end и вписываем это:

*.warning @@192.168.100.2:514

Должно выглядеть так:

изображение

Выходим, запускаем и рестартим:

systemctl enable rsyslog
systemctl restart rsyslog

BR-SRV

apt install -y rsyslog
nano /etc/rsyslog.conf

Начало приводим к такому виду:

изображение

Переходим в самый низ конфига ctrl+end и вписываем это:

*.warning @@192.168.100.2:514

изображение

Выходим, запускаем и рестартим:

systemctl enable rsyslog
systemctl restart rsyslog

HQ-SRV

Проверяем:

ls /opt/

Должно выйти что-то подобное:

изображение

Вписываем следующие строки:

logger -p user.info "Test info"
logger -p user.warning "Test warning"
logger -p user.error "Test error"

Проверяем: У меня плохой скрин, так что хз какая команда, скорее всего:

tail /opt/hq-srv/rsyslog.txt

изображение

nano /etc/logrotate.d/rsyslog

В конец вписываем это:

/opt/*/rsyslog.txt {
        weekly
        minsize 10M
        compress
        missingok
        notifempty
        create 0644 root root
        rotate 4
}

Должно получится так:

изображение

Все.

7. Мониторинг устройств с помощью открытого программного обеспечения

Советовал бы сначала выполнить 8 и 9 задание

HQ-SRV

wget https://repo.zabbix.com/zabbix/7.4/release/debian/pool/main/z/zabbix-release/zabbix-release_7.4-0.2%2Bdebian12_all.deb
dpkg -i zabbix-release_7.4-0.2%2Bdebian12_all.deb
apt update
apt install zabbix-server-mysql zabbix-frontend-php zabbix-agent php php-mysql php-bcmath php-mbstring zabbix-sql-scripts zabbix-apache-conf mariadb-server

image

zcat /usr/share/zabbix/sql-scripts/mysql/server.sql.gz | sudo mysql -u zabbix -p Zabbix

image

nano /etc/zabbix/zabbix_server.conf

Указываем:

DBName=zabbix

DBUser=zabbix

DBPassword=P@ssw0rd

!!ATTENTION!! нужно отобразить скриншот этих данных в отчете !!ATTENTION!!

image

!!ATTENTION!! нужно отобразить скриншот этих данных в отчете !!ATTENTION!!

Запускаем службу:

systemctl enable --now zabbix-server

image

Символьная ссылка

ln -s /usr/share/zabbix /var/www/html/mon

Настраиваем php:

nano /etc/php/8.2/apache2/php.ini

Меняем следующие значения:

max_execution_time = 300
max_input_time = 300
post_max_size = 16M

image

image

Перезапускаем apache:

image

image

image

image

sudo systemctl restart apache2

Перенастраиваем DNS:

nano /etc/dnsmasq.conf

ctrl+end

image

Теперь интерфейс доступен по адресу:

http://mon.au-team.irpo/

image

Настройка пользовательских учетных данных:

После установки войдите через браузер и авторизуйтесь с логином "admin" и паролем "P@ssw0rd". Эти данные можно изменить в интерфейсе Zabbix после входа — раздел "Administration → Users"

ПАРОЛЬ ЛОГИН ОТ ЗАБИКСА admin zabbix МЕНЯЕМ ПАРОЛЬ НА P@ssw0rd:

!!ATTENTION!! нужно отобразить скриншот данных профиля в отчете !!ATTENTION!!

image

!!ATTENTION!! нужно отобразить скриншот данных профиля в отчете !!ATTENTION!!

wget https://repo.zabbix.com/zabbix/7.4/release/debian/pool/main/z/zabbix-release/zabbix-release_7.4-0.2%2Bdebian12_all.deb
dpkg -i zabbix-release_7.4-0.2%2Bdebian12_all.deb
apt install zabbix-agent
nano /etc/zabbix/zabbix_agentd.conf

Там ищем server ServerActive пишешь ip-сервера HQ-SRV, потом в hostname ниже чуть чем serverActive пишем хостнейм.

image

Идешь в cli в веб версии по скрину что выше добовляешь сревер пишешь ip туда сюда и обезатЛЬНО !!!! прям срочно нужно в хост груп указать Linux server Linux By zubbix agent

image

image

Статистика дашборды:

image

Редактируем:

image

Адд виджит пикаем график:

image

image

Слева в инпуте выбираем сервера а с право выбираем параметры:

image

!!ATTENTION!! нужно отобразить скриншот рабочего интерфейса в отчете !!ATTENTION!!

image

!!ATTENTION!! нужно отобразить скриншот рабочего интерфейса в отчете !!ATTENTION!!

Повезло если все робит

Все.

8. Механизм инвентаризации машин HQ-SRV и HQ-CLI через Ansible на BR-SRV

HQ-SRV

Возвращаем sshuser’а в конфиге ssh, если вы меняли.

nano /etc/ssh/sshd_config

Переходим в конец конфига ctrl+end и переписываем AllowUsers sshuser:

изображение

systemctl restart sshd

BR-SRV

Проверяем ansible:

ansible all -m ping

изображение

Если есть красные, их нужно пофиксить.

Создаем папку:

mkdir /etc/ansible/PC_INFO

Если курл работает:

apt install dos2unix -y
apt install -y curl

По идее, уже должны были быть установлен

cd /etc/ansible
curl -O https://raw.githubusercontent.com/4bobus/laba/refs/heads/main/files/inventory.yml
dos2unix /etc/ansible/inventory.yml

Далее заходим в пустой конфиг для инвертаризации, который нужно заполнить:

nano /etc/ansible/inventory.yml

И вписываем это:

---
- name: inventory of machines HQ-SRV and HQ-CLI
  hosts:
    - HQ-SRV
    - HQ-CLI
  gather_facts: yes
  tasks:
    - name: create a report with workplace information
      delegate_to: localhost
      copy:
        dest: "/etc/ansible/PC_INFO/{{ ansible_hostname }}.yml"
        content: |
          ---
          name pc: "{{ ansible_hostname }}"
          ip-address pc: "{{ ansible_default_ipv4.address }}"

изображение

Проверяем работу командой:

ansible-playbook /etc/ansible/inventory.yml

Результат должен быть таким:

изображение

Если он не такой, скорее всего проблема в конфиге ansibl’а еще из второго модуля.

Проверим наличие и содержимое, созданных отчетов:

ls -la /etc/ansible/PC_INFO
cat /etc/ansible/PC_INFO/hq-cli.yml
cat /etc/ansible/PC_INFO/hq-srv.yml

Результаты должны быть такими:

изображение Все.

9. Механизм резервного копирования конфигурации для машин HQ-RTR и BR-RTR, через Ansible

Необходимо, чтобы на HQ-RTR и BR-RTR обязательно был установлен sudo. По идее, он там и так должен быть, но на всякий случай:

HQ-RTR

apt install -y sudo

BR-RTR

apt install -y sudo

BR-SRV

Создаем каталог:

mkdir /etc/ansible/NETWORK_INFO

Если работает Курл:

cd /etc/ansible
curl -O https://raw.githubusercontent.com/4bobus/laba/refs/heads/main/files/backup.yml
dos2unix /etc/ansible/backup.yml

И проверяем конфиг

Далее заходим в сам пустой конфиг

nano /etc/ansible/backup.yml
---
- name: Backup your router configuration HQ-RTR and BR-RTR
  hosts:
  - HQ-RTR
  - BR-RTR
  gather_facts: no
  tasks:
    - name: Create local folder backup
      ansible.builtin.file:
        path: "/etc/ansible/NETWORK_INFO/{{ inventory_hostname }}/{{ item }}"
        state: directory
      loop:
        - "frr"
      delegate_to: localhost
    - name: Copy configuration FRR
      ansible.builtin.fetch:
        src: "/etc/frr/{{ item }}"
        dest: "/etc/ansible/NETWORK_INFO/{{ inventory_hostname }}/frr/"
        flat: yes
      loop:
        - "daemons"
        - "frr.conf"
        - "frr.conf.sav"
        - "vtysh.conf"
      become: yes
    - name: Copy saved rules iptables
      ansible.builtin.fetch:
        src: /etc/iptablesRules
        dest: /etc/ansible/NETWORK_INFO/{{ inventory_hostname }}/iptablesRules
        flat: yes
      become: yes
    - name: Copy configuration network interfaces
      ansible.builtin.fetch:
        src: /etc/network/interfaces
        dest: /etc/ansible/NETWORK_INFO/{{ inventory_hostname }}/interfaces
        flat: yes
      become: yes

изображение

Проверяем:

ansible-playbook /etc/ansible/backup.yml

Результат должен быть примерно таким:

изображение

Проверяем наличие созданных отчетов:

ls -la /etc/ansible/NETWORK_INFO
ls -la /etc/ansible/NETWORK_INFO/HQ-RTR
ls -la /etc/ansible/NETWORK_INFO/BR-RTR

Должно выйти что-то подобное

изображение

И наконец проверяем, что именно скопировалось:

cat /etc/ansible/NETWORK_INFO/HQ-RTR/interfaces
cat /etc/ansible/NETWORK_INFO/HQ-RTR/iptablesRules
cat /etc/ansible/NETWORK_INFO/BR-RTR/interfaces
cat /etc/ansible/NETWORK_INFO/BR-RTR/iptablesRules

Результаты должны быть подобными:

image

Все.