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
nano /etc/ipsec.secrets
Вписываем в конец:
172.16.40.2 172.16.50.2 : PSK “123qweR%”
!!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
nano /etc/ipsec.secrets
Вписываем в конец:
172.16.50.2 172.16.40.2 : PSK “123qweR%”
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;
}
}
Применяем и рестартим:
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;
}
}
Применяем и рестартим:
systemctl restart nftables
/etc/nftables.conf
HQ-RTR
Проверяем правильность настройки:
ipsec status
Должно выйти что-то такое:
Или такое:
HQ-CLI
Терминал >> su
ping 192.168.200.2
Если пингуется, все хорошо.
Все.
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
Во всех блоках Location необходимо добавить строку Allow all, как на скриншоте
Рестартим cups:
systemctl restart cups
HQ_CLI
apt-get install cups cups-pdf -y
Вводим:
lpadmin -p CUPS -E -v ipp://hq-srv.au-team.irpo:631/printers/PDF -m everywhere
lpoptions -d CUPS
По идее cups должен быть успешно подключен
lpadmin -x Cups-PDF
lpstat -p
Теперь у нас остался один принтер. Проверим его работу. Откроем любой текстовый документ и попробуем его распечатать.
Перейдем в веб-интерфейс 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
zcat /usr/share/zabbix/sql-scripts/mysql/server.sql.gz | sudo mysql -u zabbix -p Zabbix
nano /etc/zabbix/zabbix_server.conf
Указываем:
DBName=zabbix
DBUser=zabbix
DBPassword=P@ssw0rd
!!ATTENTION!! нужно отобразить скриншот этих данных в отчете !!ATTENTION!!
!!ATTENTION!! нужно отобразить скриншот этих данных в отчете !!ATTENTION!!
Запускаем службу:
systemctl enable --now zabbix-server
Символьная ссылка
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
Перезапускаем apache:
sudo systemctl restart apache2
Перенастраиваем DNS:
nano /etc/dnsmasq.conf
ctrl+end
Теперь интерфейс доступен по адресу:
Настройка пользовательских учетных данных:
После установки войдите через браузер и авторизуйтесь с логином "admin" и паролем "P@ssw0rd". Эти данные можно изменить в интерфейсе Zabbix после входа — раздел "Administration → Users"
ПАРОЛЬ ЛОГИН ОТ ЗАБИКСА admin zabbix МЕНЯЕМ ПАРОЛЬ НА P@ssw0rd:
!!ATTENTION!! нужно отобразить скриншот данных профиля в отчете !!ATTENTION!!
!!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 пишем хостнейм.
Идешь в cli в веб версии по скрину что выше добовляешь сревер пишешь ip туда сюда и обезатЛЬНО !!!! прям срочно нужно в хост груп указать Linux server Linux By zubbix agent
Статистика дашборды:
Редактируем:
Адд виджит пикаем график:
Слева в инпуте выбираем сервера а с право выбираем параметры:
!!ATTENTION!! нужно отобразить скриншот рабочего интерфейса в отчете !!ATTENTION!!
!!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
Результаты должны быть подобными:
Все.