Настройка сервера КПВВ на базе Debian 12
Установка Debian 12
Выполните установку базовой системы Debian 12 в соответствии с Официальным руководством.
Для работы сервера КПВВ достаточно базовой системы.
Настройка системного времени
Установите демон chrony:
apt install chrony
Настройте демон chrony для синхронизации системного времени через сети Интернет по протоколу NTP.
Пример файла конфигурации /etc/chrony/chrony.conf
:
server ntp1.vniiftri.ru iburst
server ntp2.vniiftri.ru iburst
server ntp3.vniiftri.ru iburst
server ntp4.vniiftri.ru iburst
driftfile /var/lib/chrony/drift
makestep 1.0 3
rtcsync
logdir /var/log/chrony
Перезапустите демон chrony:
systemctl restart chrony
Установка Docker CE
Выполните настройку Docker CE в соответствии с Официальным руководством:
for pkg in docker.io docker-doc docker-compose podman-docker containerd runc; do sudo apt-get remove $pkg; done
apt-get update
apt-get install ca-certificates curl
install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
chmod a+r /etc/apt/keyrings/docker.asc
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian $(. /etc/os-release && echo "$VERSION_CODENAME") stable" > /etc/apt/sources.list.d/docker.list
apt-get update
apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
docker run hello-world
Настройка удаленного доступа
Установите SSH сервер и sudo:
apt install openssh-server sudo
Рекомендуем настроить нестандартный порт для SSH сервера
Создайте пользователя frontida и задайте ему сложный уникальный пароль
useradd -m -s /bin/bash -G sudo frontida
passwd frontida
Настройка iptables
Установите iptables-persistent:
apt install iptables-persistent
Настройте следующие правила для iptables:
- удаленный доступ для сотрудников ТЕЛЕСТОР через SSH с IP-адресов 80.254.49.216 и 185.167.120.44;
- подключение узла верификации к КПВВ на базе FreeSWITCH с подсети 91.204.68.0/22 к порту 8021;
- подключение узла верификации к КПВВ на базе Kamailio с подсети 91.204.68.0/22 к порту 8228;
- подключение АТС к КПВВ.
Пример файла конфигурации /etc/iptables/rules.v4
:
*filter
:INPUT ACCEPT [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
:DOCKER - [0:0]
:DOCKER-ISOLATION-STAGE-1 - [0:0]
:DOCKER-ISOLATION-STAGE-2 - [0:0]
:DOCKER-USER - [0:0]
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -d 127.0.0.0/8 ! -i lo -j REJECT --reject-with icmp-host-prohibited
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
# TELESTORE support
-A INPUT -s 80.254.49.216/32 -p tcp --dport 22 -j ACCEPT
-A INPUT -s 185.167.120.44/32 -p tcp --dport 22 -j ACCEPT
# TELESTORE UVR to FreeSWITCH
-A INPUT -s 91.204.68.0/22 -p tcp --dport 8021 -j ACCEPT
# TELESTORE UVR to Kamailio
-A INPUT -s 91.204.68.0/22 -p tcp --dport 8228 -j ACCEPT
# ATS -- TODO: replace 127.0.1.1 with the real IP address
-A INPUT -s 127.0.1.1 -j ACCEPT
# ////
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j DOCKER-USER
-A FORWARD -j DOCKER-ISOLATION-STAGE-1
-A FORWARD -o docker0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -o docker0 -j DOCKER
-A FORWARD -i docker0 ! -o docker0 -j ACCEPT
-A FORWARD -i docker0 -o docker0 -j ACCEPT
-A DOCKER-ISOLATION-STAGE-1 -i docker0 ! -o docker0 -j DOCKER-ISOLATION-STAGE-2
-A DOCKER-ISOLATION-STAGE-1 -j RETURN
-A DOCKER-ISOLATION-STAGE-2 -o docker0 -j DROP
-A DOCKER-ISOLATION-STAGE-2 -j RETURN
-A DOCKER-USER -j RETURN
COMMIT
*nat
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
:DOCKER - [0:0]
-A PREROUTING -m addrtype --dst-type LOCAL -j DOCKER
-A OUTPUT ! -d 127.0.0.0/8 -m addrtype --dst-type LOCAL -j DOCKER
-A POSTROUTING -s 172.17.0.0/16 ! -o docker0 -j MASQUERADE
-A DOCKER -i docker0 -j RETURN
COMMIT
Примените правила:
iptables-restore < /etc/iptables/rules.v4
Установка ПО КПВВ
Сообщите сотрудникам ТЕЛЕСТОР IP-адрес вашего сервера, порт для сервера openssh, имя пользователя и пароль.
Они подключаться к вашему серверу, выполнят установку ПО КПВВ в /containers, настроят и запустят его.
Подключение к АТС
Выполните настройку подключения вашего сервера КПВВ к АТС.
Для этого при необходимости создайте дополнительные сетевые интерфейсы, правила маршрутизации и правила iptables.