Модуль 2 · статья
Комплексное руководство по настройке корпоративной ИТ-инфраструктуры
Аннотация
В данной статье рассматриваются пошаговые инструкции по настройке ключевых сервисов корпоративной сети: управление пользователями Samba через скрипты, развёртывание сетевого хранилища NFS, синхронизация времени через Chrony/NTP, автоматизация управления сетевым оборудованием с помощью Ansible, а также развёртывание и защита веб-приложения.
1 Автоматизация настройки пользователей Samba
Для массового создания пользователей, установки им паролей, отключения срока действия пароля и добавления в группу удобно использовать bash-скрипт.
Скрипт настройки:
# Создание группы 'ab'
samba-tool group add ab
# Цикл для создания 5 пользователей (abuser1 ... abuser5)
for i in {1..5}; do
# Создание пользователя с паролем P@ssw0rd
samba-tool user add "abuser$i" "P@ssw0rd"
# Отключение срока действия пароля
samba-tool user setexpiry "abuser$i" --noexpiry
# Добавление пользователя в группу 'ab'
samba-tool group addmembers "ab" "abuser$i"
done2 Настройка файловой системы NFS на сервере HQ-SRV
Настройка выполняется в два этапа: на стороне сервера и на стороне клиента.
2.1. Настройка сервера
# Создание директории для экспорта
mkdir -p /raid/nfs
# Установка полных прав доступа (для тестовых сред)
chmod 777 /raid/nfs
# Применение изменений в конфигурации экспорта
exportfs -arv
# Включение и запуск службы NFS-сервера
systemctl enable --now nfs-server2.2. Настройка клиента
# Создание точки монтирования и установка прав
mkdir -p /mnt/nfs
chmod 777 /mnt/nfs
# Добавление записи в /etc/fstab для автоматического монтирования
# Пример строки: <IP_сервера>:/raid/nfs /mnt/nfs nfs defaults,_netdev 0 0
vim /etc/fstab
# Монтирование всех файловых систем из fstab с выводом информации
mount -a -v3 Настройка синхронизации времени (Chrony / NTP)
Корректное время критически важно для работы служб аутентификации и логирования. Настроим сервер времени на Linux и клиентов на базе Linux и Ecorouter.
3.1. Настройка сервера времени (Linux)
# Редактирование конфигурационного файла (раскомментировать или добавить allow и server)
vim /etc/chrony.conf
# Перезапуск службы
systemctl restart chronyd
# Проверка синхронизации
chronyc tracking3.2. Настройка клиента на маршрутизаторе Ecorouter
Ecorouter(config)# ntp server 172.16.1.1
# Проверка статуса NTP
ecorouter# show ntp status3.3. Настройка клиента на Linux
# Указание сервера времени в конфигурации
vim /etc/chrony.conf
# Добавить строку: server 172.16.1.1 iburst
# Перезапуск службы
systemctl restart chronyd
# Проверка источников времени
chronyc sources4 Настройка системы автоматизации Ansible
Ansible позволяет централизованно управлять конфигурациями как Linux-серверов, так и сетевого оборудования (Ecorouter).
4.1. Подготовка управляющей ноды (Linux)
# Обновление репозиториев и установка базовых пакетов
apt-get update && apt-get install -y ansible sshpass
# Установка необходимых зависимостей Python
apt-get install -y python3-pip
pip3 install ansible-pylibssh
# Установка коллекций для работы с сетевым оборудованием
ansible-galaxy collection install ansible.netcommon
ansible-galaxy collection install cisco.ios
# Настройка инвентаризационного файла
vim /etc/ansible/hostsserver ansible_host=10.10.100.2 ansible_user=sshusser ansible_password=P@ssw0rd ansible_port=2026
cli ansible_host=10.10.200.2 ansible_user=root ansible_password=toor
router ansible_host=172.16.1.2 ansible_user=admin ansible_password=admin ansible_connection=network_cli ansible_network_os=ios4.2. Подготовка сетевого оборудования (Ecorouter)
Для работы Ansible по SSH без интерактивного подтверждения необходимо отключить строгие проверки безопасности (в тестовых целях):
Ecorouter(config)# security none4.3. Проверка подключения
# Проверка доступности всех узлов из инвентаря
ansible -m ping all5 Развёртывание веб-приложения на сервере
Процесс включает монтирование установочного образа, копирование файлов, настройку базы данных и запуск веб-сервера.
# 1. Монтирование ISO-образа (только для чтения)
mount -o -ro -t iso9660 /home/user/additional.iso /mnt/
# 2. Копирование файлов веб-приложения
cp /mnt/web/index.php /var/www/html/
cp /mnt/web/logo.png /var/www/html/# 3. Настройка СУБД MariaDB
systemctl enable --now mariadb
# Вход в консоль MariaDB под пользователем root
mariadb -u root# Внутри консоли MariaDB выполнить:
MariaDB [(none)]> SHOW DATABASES;
MariaDB [(none)]> USE webdb;
MariaDB [webdb]> SELECT user FROM mysql.user;
MariaDB [webdb]> ALTER USER 'web'@'localhost' IDENTIFIED BY 'P@ssw0rd';
MariaDB [webdb]> EXIT;# 4. Правка конфигурации веб-приложения (при необходимости)
vim /var/www/html/index.php
# 5. Перезапуск веб-сервера (httpd или apache2 в зависимости от дистрибутива)
systemctl restart httpd
# или systemctl restart apache2# 6. Импорт дампа базы данных
mariadb -u web -p'P@ssw0rd' -D webdb < /mnt/cdrom/web/dump.sql6 Настройка базовой веб-аутентификации (HTTP Basic Auth)
Для ограничения доступа к веб-ресурсам можно использовать механизм .htpasswd в связке с Nginx.
# Установка утилиты для работы с паролями (пакет apache2-utils)
apt-get install -y apache2-htpasswd
# Создание файла паролей и добавление пользователя WEB
# Флаг -c создает новый файл (использовать только при первом запуске)
htpasswd -c /etc/nginx/.htpasswd WEB# Проверка конфигурационного файла Nginx на синтаксические ошибки
nginx -t
# Перезапуск веб-сервера Nginx для применения изменений
systemctl restart nginx