Настройка сервера BR-SRV
Сервер филиала BR: сеть, SSH, Ansible, Docker и развёртывание приложения.
Подготовка системы
Задаём имя хоста сервера.
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