Подготовка к установке
Для установки SoftWLC в минимальной конфигурации нам понадобится сервер со следующими параметрами:
- Оперативная память не менее 10 Гб
- CPU >= 2200MHz
- Память жесткого диска >= 35Gb
- Выход в Интернет
- Операционная система Ubuntu Server 20.04 LTS/ Ubuntu Server 22.04 LTS
Подробнее о требованиях к серверу смотрите здесь
Проверяем оперативную память:
free -m
total used free shared buffers cached
Mem: 7985 409 7575 0 12 228
-/+ buffers/cache: 168 7816
Swap: 0 0 0
Проверяем CPU:
lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 2
On-line CPU(s) list: 0,1
Thread(s) per core: 1
Core(s) per socket: 2
Socket(s): 1
NUMA node(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 60
Stepping: 3
CPU MHz: 3294.301
BogoMIPS: 6588.60
L1d cache: 32K
L1d cache: 32K
L2d cache: 6144K
NUMA node0 CPU(s): 0,1
Проверяем память жесткого диска:
df -h
Filesystem Size Used Avail Use% Mounted on
udev 3.9G 12K 3.9G 1% /dev
tmpfs 799M 436K 799M 1% /run
/dev/sda1 40G 1.4G 37G 4% /
none 4.0K 0 4.0K 0% /sys/fs/cgroup
none 5.0M 0 5.0M 0% /run/lock
none 3.9G 0 3.9G 0% /run/shm
none 100M 0 100M 0% /run/user
none 901G 113G 789G 13% /vagrant
Проверяем версию ОС:
cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=22.04
DISTRIB_CODENAME=jammy
DISTRIB_DESCRIPTION="Ubuntu 22.04 LTS"
Проверяем выход в Интернет:
ping eltex.nsk.ru
PING eltex.nsk.ru (62.109.0.175) 56(84) bytes of data.
64 bytes from mail.eltex.nsk.ru (62.109.0.175): icmp_seq=1 ttl=55 time=52.8 ms
64 bytes from mail.eltex.nsk.ru (62.109.0.175): icmp_seq=2 ttl=55 time=47.6 ms
64 bytes from mail.eltex.nsk.ru (62.109.0.175): icmp_seq=3 ttl=55 time=46.4 ms
64 bytes from mail.eltex.nsk.ru (62.109.0.175): icmp_seq=4 ttl=55 time=46.5 ms
64 bytes from mail.eltex.nsk.ru (62.109.0.175): icmp_seq=5 ttl=55 time=46.3 ms
^C
--- eltex.nsk.ru ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4005ms
rtt min/avg/max/mdev = 46.398/47.977/52.889/2.516 ms
Начиная с версии 1.28 SoftWLC точки доступа realtek (WEP-200l,WEP/WOP-2L/30L, WEP-1L, WOP-30LS/30L-ex) необходимо обновить на версию 2.3.0 и выше, точки доступа wep-3ax на версию 1.11 и выше.
Инструкция по обновлению: v1.33_Обновление ПО ТД через SoftWLC
Запросить данное ПО можно через Service Desk или через заявку на нашем официальном сайте.
Установка
Подключение репозиториев Элтекс
echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/eltex.gpg] http://archive.eltex-co.ru/wireless softwlc-1.31-jammy main" | sudo tee -a /etc/apt/sources.list.d/eltex.list #данный репозиторий нужно выбирать в зависимости от версии ОС. (focal/jammy/astra-1.7)
echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/eltex.gpg] http://archive.eltex-co.ru/wireless softwlc-1.31-common main" | sudo tee -a /etc/apt/sources.list.d/eltex.list #данный репозиторий не зависит от версии ОС
* focal — название релиза Ubuntu. В данном примере, версия 20.04. На данный момент возможны варианты:
jammy: 22.04.
focal: 20.04.
Посмотреть кодовое название для вашей системы можно командой:
cat /etc/os-release
Если установка предполагается на ОС Astra Linux CE 2.12
echo "deb https://dl.astralinux.ru/astra/stable/2.12_x86-64/repository/ orel main contrib non-free" >/etc/apt/sources.list.d/orel.list
<tag> - тег версии соответствует текущей версии, например 1.27.
Добавление цифровой подписи
wget -O - http://archive.eltex-co.ru/wireless/repo.gpg.key | sudo apt-key add -
--2020-09-17 05:01:57-- http://archive.eltex-co.ru/wireless/repo.gpg.key
Распознаётся archive.eltex-co.ru (archive.eltex-co.ru)... 172.16.5.22
Подключение к archive.eltex-co.ru (archive.eltex-co.ru)|172.16.5.22|:80... соединение установлено.
HTTP-запрос отправлен. Ожидание ответа... 200 OK
Длина: 1704 (1,7K) [application/octet-stream]
Сохранение в каталог: ««STDOUT»».
- 100%[========================================================================================================================>] 1,66K --.-KB/s in 0s
/2020-09-17 05:01:57 (142 MB/s) - записан в stdout [1704/1704]
OK
Получение ключа GPG (для Nginx) и Добавление ключа GPG в набор ключей apt sources
wget https://nginx.org/keys/nginx_signing.key
apt-key add nginx_signing.key
Подключение репозиториев Nginx
echo "deb http://nginx.org/packages/ubuntu/ jammy nginx" | sudo tee /etc/apt/sources.list.d/nginx.list # данный репозиторий нужно выбирать в зависимости от версии ОС. (buster/focal/jammy)
Поиск и установка обновлений пакетов
sudo apt-get update
...
Fetched 12.1 MB in 19s (624 kB/s)
Reading package lists... Done
Устанавливаем БД Mysql необходимой версии
sudo
apt-get
install
mysql-client=5.7.42-1ubuntu18.04
sudo
apt-get
install
mysql-common=5.7.42-1ubuntu18.04 --allow-downgrades
sudo
apt-get
install
mysql-community-server=5.7.42-1ubuntu18.04 #(root root)
sudo
apt-get
install
libmysqlclient20=5.7.42-1ubuntu18.04
sudo
apt-get
install
rsyslog-mysql #(No)
Устанавливаем OpenJDK 17
sudo apt-get install openjdk-17-jdk
Прописываем использование OpenJDK 17 по умолчанию (на случай, если доступны другие пакеты)
sudo update-java-alternatives -s java-1.8.0-openjdk-amd64
Установка дополнительных пакетов
echo "rsyslog-mysql rsyslog-mysql/dbconfig-install boolean true" | debconf-set-selections
echo "rsyslog-mysql rsyslog-mysql/mysql/app-pass password root" | debconf-set-selections
echo "rsyslog-mysql rsyslog-mysql/app-password-confirm password root" | debconf-set-selections
echo "rsyslog-mysql rsyslog-mysql/password-confirm password root" | debconf-set-selections
echo "rsyslog-mysql rsyslog-mysql/mysql/admin-pass password root" | debconf-set-selections
echo "rsyslog-mysql rsyslog-mysql/remote/port string " | debconf-set-selections
sudo apt-get install expect psmisc ntp tftp-hpa tftpd-hpa snmpd snmp rsyslog curl libpcap0.8 fping vsftpd lockfile-progs libstdc++6 libcurl3 libmecab2
sudo apt-get install net-tools
Установка tomcat9
sudo apt-get --yes install tomcat9
Настройка БД для rsyslog
Подключаемся к mysql через команду mysql -uroot -proot
и вводим команды ниже
Указываем переменную окружения JAVA_HOME для tomcat
echo "JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64" | sudo tee -a /etc/default/tomcat9
Установка часового пояса
cp /usr/share/zoneinfo/Asia/Novosibirsk /etc/localtime
Добавляем ссылку для tomcat
ln -s /usr/share/java/ecj.jar /var/lib/tomcat9/lib
Выделение дополнительной оперативной памяти для Java
echo "JAVA_OPTS=\"${JAVA_OPTS} -server -Xms512m -Xmx2048m -XX:-UseParallelGC -XX:+UseConcMarkSweepGC -XX:+AggressiveOpts\"" | sudo tee -a /etc/default/tomcat9
Для корректной работы tomcat9 на ubuntu 22.04
sudo apt-get install libecj-java
Установка пакета whiptail
sudo apt-get install bsdextrautils whiptail
Изменяем порт tomcat с 8080 на 8081
sudo sed -i 's/8080/8081/' /etc/tomcat9/server.xml
Установка пакета для интерпретации MAC-адресов в имена вендоров
sudo apt-get install eltex-oui-list
Установка фреймворка для работы службы SOAP/XML (Apache Axis)
sudo apt-get install eltex-axis
Установка схемы в БД MySQL для службы 'eltex-ems'
sudo apt-get install eltex-ems-db
...
Enter your MySQL administrator password: root
Enable remote access to database? (y/N) y
...
Select default language for EMS:
1. Russian
2. English (default)
Enter number: 1
Using locale ru_RU
mysql: [Warning] Using a password on the command line interface can be insecure.
Select access control type:
1 - Role based
2 - Domain based (default)
Enter number: 2
Using domain based access control
Enter root domain name (default is 'root'): root
Please restart EMS manually with "service eltex-ems restart"
Установка модифицированной схемы в БД MySQL для службы RADIUS
sudo apt-get install eltex-radius-db
Enter your MySQL administrator login (default is 'root'): root
Enter your MySQL administrator password: root
Creating database ...
mysql: [Warning] Using a password on the command line interface can be insecure.
. . .
mysql: [Warning] Using a password on the command line interface can be insecure.
Preparing database ...
mysql: [Warning] Using a password on the command line interface can be insecure.
mysql: [Warning] Using a password on the command line interface can be insecure.
Enter root domain name (default is 'root'): root
mysql: [Warning] Using a password on the command line interface can be insecure.
Tariff 'default' has been successfully created
mysql: [Warning] Using a password on the command line interface can be insecure.
Do you want to add ThreeYearsRadacct monitor to cron? [Y/n] Y
CRON server will be restarted with "service cron restart"
Please restart RADIUS server manually with "service eltex-radius restart"
Добавлениее права на доступ к Бд Syslog javauser-у
mysql -uroot -proot mysql> GRANT ALL PRIVILEGES ON `Syslog`.* TO 'javauser'@'%'; mysql> flush privileges;
По окончанию установки в системе будет создан тарифный план "Hotspot Default" для портальной авторизации с параметрами:
- Код тарифа: default
- Домен: root
- Установлен флаг портальной аутентификации
- Продолжительность: 10 минут
- Лимит скорости Downstream и Upstream 1 Мбит/c
Этот тариф привязывается к порталу Default в Конструкторе порталов
Установка БД авторизации сервисов eltex-wifi-cab, eltex-radius-nbi, eltex-portal-constructor
sudo apt-get install eltex-auth-service-db
...
Enter your mysql administrator login (default is 'root'):
Enter your mysql administrator password:
Creating database 'eltex_auth_service'
Create remote database user? (y/N) y
Database 'eltex_auth_service' successfully created
Enter root domain [root]:
Create default auth-user:
Set login [admin]:
Set password [password]:
Default auth-user 'admin' created successfully
Set service user password [softwlc]:
Service user 'softwlc_service' created successfully. Please, check it at '/etc/eltex-wifi-cab/system.xml' on your 'Eltex Wi-Fi customer cabinet' host.
Create default auth-nas (for eltex-wifi-cab):
Set eltex-wifi-cab ip address (leave empty if 127.0.0.1):
Default auth-nas '127.0.0.1' created successfully
Установка пакета eltex-ems
sudo apt-get install eltex-ems
...
Replace config files:
- /etc/default/tftpd-hpa:
Replace /etc/default/tftpd-hpa? (type 'd' to view diff) [y/N/d] y
File /etc/default/tftpd-hpa is overwritten.
Restarting tftpd-hpa..
- /etc/vsftpd.conf:
Replace /etc/vsftpd.conf? (type 'd' to view diff) [y/N/d] y
File /etc/vsftpd.conf is overwritten.
Restarting vsftpd..
- /etc/snmp/snmpd.conf:
Replace /etc/snmp/snmpd.conf? (type 'd' to view diff) [y/N/d] y
File /etc/snmp/snmpd.conf is overwritten.
Restarting snmpd..
- /etc/rsyslog.conf:
Replace /etc/rsyslog.conf? (type 'd' to view diff) [y/N/d] y
File /etc/rsyslog.conf is overwritten.
- /etc/rsyslog.d/50-default.conf:
Replace /etc/rsyslog.d/50-default.conf? (type 'd' to view diff) [y/N/d] y
File /etc/rsyslog.d/50-default.conf is overwritten.
- /etc/rsyslog.d/mysql.conf:
Replace /etc/rsyslog.d/mysql.conf? (type 'd' to view diff) [y/N/d] y
File /etc/rsyslog.d/mysql.conf is overwritten.
Restarting service rsyslog..
Установка пакета eltex-radius
sudo sed -i '/sharedscripts/s/^\s*#/ /g' /etc/logrotate.d/eltex-radius
sudo sed -i '/postrotate/s/^\s*#/ /g' /etc/logrotate.d/eltex-radius
sudo sed -i '/\/usr\/lib\/rsyslog\/rsyslog-rotate/s/^\s*#/ /g' /etc/logrotate.d/eltex-radius
sudo sed -i '/endscript/s/^\s*#/ /g' /etc/logrotate.d/eltex-radius
sudo chown root:adm /var/log/eltex-radius
sudo chown root:adm /var/log/eltex-radius/radius.log
sudo service rsyslog restart
Установка пакета eltex-radius-nbi для стыка SoftWLC с вышестоящими OSS/BSS
sudo apt-get install eltex-radius-nbi
...
Do you want to generate server certificate? [y/N]: y
Skip generating server certificate
- Reconfigure file '/etc/eltex-radius-nbi/radius_nbi_config.txt'
SoftWLC Northbound is installed. Tomcat service will be restarted...
To check the service works, open the URL:
http://localhost:8080/axis2/services/RadiusNbiService?wsdl
To read documentation, visit the following URL:
http://localhost:8080/eltex-radius-nbi/asciidoc/
Обрабатываются триггеры для libc-bin (2.23-0ubuntu11) …
Установка пакета eltex-ngw
sudo apt-get install eltex-ngw
Создание базы данных уведомлений eltex-ngw
sudo eltex-ngw create-db-user
...
Creating database user "javauser"
Enter your mysql administrator login (default is 'root'):
Enter your mysql administrator password (root):
Database user created
Установка пакета eltex-apb
sudo apt-get install eltex-apb
Установка сервиса ААА (Authentication Authorization and Accounting) для Wi-Fi пользователей, подключающихся при помощи BRAS
sudo apt-get install eltex-pcrf
Установка сервиса журналирования 'Hotspot' учетных записей
sudo apt-get install eltex-logging-service
Установка сервиса для управления учетными записями Hotspot-пользователей
sudo apt-get install eltex-mercury
Установка портала для авторизации клиентов WiFi в схеме 'Hotspot'
sudo apt-get install eltex-portal
Установка конструктора порталов
sudo apt-get install eltex-portal-constructor
Создание базы данных портала
bash /usr/lib/eltex-portal/db_utils.sh create_db_user
Установка личного кабинета B2B, интерфейса управления
sudo apt-get install eltex-wifi-cab
Установка сервиса удаления сессии пользователя
sudo apt-get install eltex-disconnect-service
Установка API для управляемого предоставления услуги Wi-Fi
sudo apt-get install eltex-johnny
Установка сервиса проверки подлинности пользователя через токены
sudo apt-get install eltex-doors
Создание базы данных eltex-doors
bash /usr/lib/eltex-doors/db_utils.sh create_db_user
Creating database user "javauser"
Enter your mysql administrator login (default is 'root'):
Enter your mysql administrator password (root):
Database user created
Установка менеджера задач
sudo apt-get install eltex-bruce
Установка сервиса выполнения задач и создания отчетов по ним
sudo apt-get install eltex-jobs
Получение конфигурации nginx
wget http://archive.eltex-co.ru/wireless/nginx/conf/softwlc_1.27_nginx.conf -O softwlc_1.27_nginx.conf
Конфигурационные файлы могут отличаться в зависимости от версии ОС.
<tag> - тег версии соответствует текущей версии, например 1.27.
Установка Nginx
sudo apt-get install nginx
Копирование конфигурации nginx в нужный каталог
sudo cp softwlc_1.27_nginx.conf /etc/nginx/conf.d/softwlc.conf
Перезапуск сервисов Nginx и tomcat
sudo service nginx restart
sudo service tomcat9 restart
Начиная с версии 1.28 SWLC управление точками доступа realtek (wep-200l,wep/wop-2l/30l, wep-1l, wop-30ls/30l-ex) доступно только с версии 2.3.0 и выше, точкими доступа esdk (wep-3ax) с версии 1.11 и выше
Установка лицензии для Eltex EMS
Лицензионный файл для пакета Eltex EMS license.xml содержит информацию количестве и типе устройств, с которыми может работать EMS. Данный файл предоставляется Коммерческими подразделениями компании Элтекс или ее партнерами.
sudo cp licence.xml /usr/lib/eltex-ems/conf/licence/
sudo service eltex-ems restart