Настройка сервера HQ-SRV
Подготовка системы
Задаём имя хоста сервера.
hostnamectl set-hostname HQ-SRV
exec bash
Настройка сети
Определяем интерфейс и создаём сетевую конфигурацию вручную. Скопируйте весь текст, а затем нажмите 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]
Добавляем айпи.
echo 192.168.100.2/26 > /etc/net/ifaces/$IF1/ipv4address
echo default via 192.168.100.1 > /etc/net/ifaces/$IF1/ipv4route
echo nameserver 8.8.8.8 > /etc/net/ifaces/$IF1/resolv.conf
Перезапуск сетевого сервиса.
systemctl restart network
Создание пользователя
Добавляем административного пользователя SSH.
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 2025" >> /etc/openssh/sshd_config
echo "AllowUsers sshuser" >> /etc/openssh/sshd_config
echo "MaxAuthTries 2" >> /etc/openssh/sshd_config
systemctl restart sshd
DNS (Bind9)
Установка DNS сервера и базовая конфигурация.
apt-get update && apt-get install bind bind-utils -y
systemctl enable bind9
systemctl start bind9
Настройка параметров DNS.
echo "listen-on { 192.168.100.2; };" >> /var/lib/bind/etc/options.conf
echo "forwarders { 77.80.8.8; };" >> /var/lib/bind/etc/options.conf
echo "allow-query { any; };" >> /var/lib/bind/etc/options.conf
Добавление зон.
cat >> /var/lib/bind/etc/rfc1912.conf
zone "au-team.irpo" {
type master;
file "au-team.irpo";
};
zone "100.168.192.in-addr.arpa" {
type master;
file "100.168.192.in-addr.arpa";
};
zone "200.168.192.in-addr.arpa" {
type master;
file "200.168.192.in-addr-arpa";
};
RAID массив
Создание программного RAID для хранения данных.
apt-get install -y mdadm
mdadm --zero-superblock --force /dev/sdb /dev/sdc
mdadm --create --verbose /dev/md0 -l 0 -n 2 /dev/sdb /dev/sdc
mkfs.ext4 /dev/md0
mkdir /raid
mount /dev/md0 /raid
echo "/dev/md0 /raid ext4 defaults 0 0" >> /etc/fstab
NFS сервер
Поднимаем файловый сервер для сетевого доступа.
apt-get install -y nfs-server nfs-utils
mkdir /raid/nfs
chmod 777 /raid/nfs
echo "/raid/nfs 192.168.100.0/24(rw,no_root_squash)" >> /etc/exports
exportfs -arv
systemctl enable --now nfs-server
WEB приложение
Установка LAMP и развёртывание веб-приложения.
apt-get update && apt-get install lamp-server -y
mount /dev/sr0 /mnt/
cp /mnt/web/index.php /var/www/html
cp /mnt/web/logo.png /var/www/html
Конфигурация подключения к базе данных.
$servername = "localhost";
$username = "webc";
$password = "P@ssw0rd";
$dbname = "webdb";
Создание базы данных и пользователя.
systemctl enable --now mariadb
mariadb -u root
CREATE DATABASE webdb;
CREATE USER 'webc'@'localhost' IDENTIFIED BY 'P@ssw0rd';
GRANT ALL PRIVILEGES ON webdb.* TO 'webc'@'localhost';
EXIT;
Импорт дампа базы данных.
mariadb -u webc -p -D webdb < /mnt/web/dump.sql
Проверка содержимого базы.
USE webdb;
SHOW TABLES;
Запуск веб-сервера.
systemctl enable --now httpd2
Сертификаты (CA)
Генерация корневого сертификата и ключей.
apt-get install openssl-gost-engine -y
control openssl-gost enabled
openssl genpkey -algorithm gost2012_256 -out ca.key
openssl req -new -x509 -key ca.key -out ca.cer
Создание сертификатов сервисов.
openssl genpkey -algorithm gost2012_256 -out web.au-team.irpo.key
openssl genpkey -algorithm gost2012_256 -out docker.au-team.irpo.key
openssl req -new -key web.au-team.irpo.key -out web.csr
openssl req -new -key docker.au-team.irpo.key -out docker.csr
Подпись сертификатов CA.
openssl x509 -req -in web.csr -CA ca.cer -CAkey ca.key -out web.cer -days 30
openssl x509 -req -in docker.csr -CA ca.cer -CAkey ca.key -out docker.cer -days 30
Передача сертификатов на gateway.
scp web.au-team.irpo.key root@172.16.1.1:~/
scp web.au-team.irpo.cer root@172.16.1.1:~/
scp docker.au-team.irpo.key root@172.16.1.1:~/
scp docker.au-team.irpo.cer root@172.16.1.1:~/