Настройка сервера BR-SRV

Подготовка системы

Задаём имя хоста сервера.

hostnamectl set-hostname BR-SRV
exec bash

Настройка сети

Создаём конфигурацию сетевого интерфейса вручную.

IF1=$(ip -br a | awk 'NR==2 {print $1}')
mkdir -p /etc/net/ifaces/$IF1

Определяем интерфейс и создаём сетевую конфигурацию вручную. Скопируйте весь текст, а затем нажмите Enter и Ctrl + D

IF1=$(ip -br a | awk 'NR==2 {print $1}')

mkdir -p /etc/net/ifaces/$IF1

cat > /etc/net/ifaces/$IF1/options
BOOTPROTO=static
TYPE=eth
NM_CONTROLLED=no
DISABLED=no
CONFIG_WIRELESS=no
CONFIG_IPV4=yes
ONBOOT=yes
CONFIG_IPV6=no

нажать [Enter], чтобы перенеслось на новую строку
Нажать [Ctrl + D]

IP конфигурация сервера BR-SRV.

echo 192.168.50.2/27 > /etc/net/ifaces/$IF1/ipv4address
echo default via 192.168.50.1 > /etc/net/ifaces/$IF1/ipv4route
echo nameserver 8.8.8.8 > /etc/net/ifaces/$IF1/resolv.conf

Применяем настройки сети.

systemctl restart network

Пользователь

Создаём администратора системы.

apt-get update && apt-get install sudo -y

useradd sshuser -u 2026 -m -s /bin/bash
echo "sshuser:P@ssw0rd" | chpasswd
usermod -aG wheel sshuser

echo "sshuser ALL=(ALL:ALL) NOPASSWD: ALL" >> /etc/sudoers

Время

Настройка временной зоны и синхронизация времени.

timedatectl set-timezone Asia/Vladivostok
timedatectl set-ntp true

SSH

Настройка SSH сервера и ограничений доступа.

apt-get install openssh -y

echo "Authorized access only" > /etc/openssh/banner
echo "Banner /etc/openssh/banner" >> /etc/openssh/sshd_config
echo "Port 2026" >> /etc/openssh/sshd_config
echo "AllowUsers sshuser" >> /etc/openssh/sshd_config
echo "MaxAuthTries 2" >> /etc/openssh/sshd_config

systemctl restart sshd

Ansible

Установка Ansible и настройка inventory.

apt-get update && apt-get install -y ansible sshpass

Формирование inventory файла.

echo "HQ-SRV ansible_host=192.168.100.2 ansible_user=sshuser ansible_password=P@ssw0rd ansible_port=2026" > /etc/ansible/hosts
echo "HQ-CLI ansible_host=192.168.200.2 ansible_user=user ansible_password=resu" >> /etc/ansible/hosts
echo "HQ-RTR ansible_host=10.10.10.1 ansible_user=net_admin ansible_password=P@ssw0rd" >> /etc/ansible/hosts
echo "BR-RTR ansible_host=192.168.0.1 ansible_user=net_admin ansible_password=P@ssw0rd" >> /etc/ansible/hosts

echo "[all:vars]" >> /etc/ansible/hosts
echo "ansible_python_interpreter=/usr/bin/python3" >> /etc/ansible/hosts

Настройка ansible.cfg.

echo "[defaults]" > /etc/ansible/ansible.cfg
echo "inventory = /etc/ansible/hosts" >> /etc/ansible/ansible.cfg
echo "host_key_checking = False" >> /etc/ansible/ansible.cfg

Проверка подключения.

ansible -m ping all

Docker и приложение

Установка Docker и загрузка образов.

apt-get install docker-engine docker-compose-v2 -y
systemctl enable --now docker.service

mount /dev/sr0 /mnt/

docker load < /mnt/docker/site_latest.tar
docker load < /mnt/docker/mariadb_latest.tar

Проверка образов.

docker image ls

Создание docker-compose файла.

docker compose up -d

После запуска приложение доступно по адресу:

http://192.168.0.2:8080