- Файлы для настройки безопасности:
ansible/roles/all/tasks/security/main.yml
— Playbook для настройки Firewalld, Iptables и сетевых правил (NetSec).gitlab-ci/templates.yml
— Шаблоны для настройки Firewalld, Iptables и сетевых правил (NetSec).gitlab-ci/security.yml
— Пайплайны для настройки и уведомления о результатах конфигурации безопасности.
-
Настройка Firewalld:
- Включение и настройка Firewalld на серверах.
- Добавление портов и служб в Firewalld, включая пользовательский сервис OSPF.
- Настройка маскарадинга для исходящего трафика и применение изменений с перезагрузкой службы.
-
Настройка Iptables:
- Добавление правил для блокировки портов и разрешения трафика по SSH.
- Настройка VPN и разрешение перенаправления пакетов между интерфейсами.
-
Сетевые правила (NetSec):
- Логирование TCP-трафика, создание внутренней зоны для локальных сетей и настройка NAT.
- Файлы для настройки сервисов:
ansible/roles/all/tasks/services/main.yml
— настройки для NTP, NFS и CUPS.gitlab-ci/templates.yml
— шаблоны для настройки NTP, NFS и CUPS.gitlab-ci/services.yml
— пайплайны для настройки и уведомления о результатах.
- Настройка NTP, NFS и CUPS:
- NTP: Настройка времени через Chrony на серверах R1 и PC_R1.
- NFS: Настройка файлового сервера на PC_R1 с клиентом на R1.
- CUPS: Автоматическая настройка сервера печати на PC_R1, с удалённым администрированием.
- Конфигурационные файлы и скрипты:
roles/all/files/pc-r1.sh
,roles/all/files/pc-r2.sh
— Скрипты для управления маршрутами по умолчанию.roles/all/files/r1-vpn.sh
,roles/all/files/r2-vpn.sh
— Скрипты для настройки VPN.roles/all/files/r1-ospf.sh
,roles/all/files/r2-ospf.sh
— Скрипты для настройки OSPF.roles/all/templates/ipsec.conf.j2
— Шаблон конфигурации IPsec.- Файлы для настройки DNS:
named.conf.local
,named.conf.options
,db.r1.work
,db.r2.work
.
- Конфигурация VPN, IPsec, OSPF и DNS:
- VPN и IPsec: Автоматизация настройки VPN на серверах R1 и R2 с использованием скриптов и шаблонов.
- OSPF: Настройка динамической маршрутизации через OSPF на R1 и R2.
- DNS: Настройка DNS-серверов и зон прямого и обратного разрешения.
- Конфигурационные файлы Ansible:
roles/all/tasks/main.yml
- Обновленные задачи для настройки сети.templates/dhcpd.conf.j2
,dhcpd6.conf.j2
,radvd.conf.j2
- Шаблоны для настройки DHCP и RADVD.
-
Инициализируйте проект Запустите скрипт
init.sh
, чтобы настроить рабочую среду и выполнить начальный коммит. -
Запустите пайплайн для настройки сети После выполнения первого шага, убедитесь, что все стадии настройки сети (IP, DHCP, интерфейсы) прошли успешно.
- v0.0.2 - Добавлены функции для полной автоматизации конфигурации сетевого окружения, что упрощает развертывание и управление сетевой инфраструктурой.
-
VMware/init-vm.sh: Скрипт для автоматического создания кластера из 5 виртуальных машин. Настроены сетевые интерфейсы, ограничения по CPU и RAM. Скрипт проводит анализ IP-адресов с помощью
nmap
и сохраняет список активных VM в файлip.txt
. -
VMware/generate_inventory.py: Скрипт, который обновляет файл
ansible/inventory/hosts
, используя данные изip.txt
для замены IP-адресов подключения. Это обеспечивает актуальность конфигурации Ansible. -
VMware/setup_ssh.sh: Скрипт для настройки SSH-доступа к пользователю
root
на созданных VM, включая добавление публичного ключа локальной машины для упрощения подключения. -
init.sh: Скрипт
init.sh
предназначен для автоматизации процесса настройки и развертывания вашего проекта. Он выполняет следующие задачи:-
Настройка GitLab:
- Автоматически развертывает проект в GitLab и настраивает GitLab Runner для непрерывной интеграции и развертывания.
-
Настройка виртуальных машин:
- Запускает скрипт
./VMware/init-vm.sh
, который отвечает за создание и конфигурацию виртуальных машин.
- Запускает скрипт
-
Настройка SSH-доступа:
- Запускает скрипт
./VMware/setup_ssh.sh
для автоматической настройки SSH-доступа, обеспечивая безопасное и удобное подключение к созданным виртуальным машинам.
- Запускает скрипт
-