Если вы забыли пароль пользователя admin, его можно сбросить в значение по умолчанию ("admin") путём прямой модификации записи в базе данных. Для этого на сервере WNAM от пользователя root выполните команды:
mongo wnam_db
db.webinterfaceusers.update( { _id: "admin"} , { $set : { "password" : "d2abaa37a7c3db1137d385e1d8c15fd2"} } )
Поскольку по умолчанию все объекты в базе данных mongdb хранятся неограниченное время, в нагруженной системе возможна генерация очень большого числа событий, которые занимают место в коллекции логов (cmdServiceLogs).
Mongodb обладает способностью автоматически удалять объекты из коллекции, если превышено время их жизни.
Для установки времени жизни сообщений в логах =14 дней создайте новый индекс:
mongo wnam_db
db.cmdServiceLogs.createIndex( { "time": 2 }, { expireAfterSeconds: 1209600 } );
14 дней - это 60*60*24*14 = 1209600 секунд.
Для выполнения резервного копирования создайте скрипт, и вызывайте его раз в сутки (ночью):
rm -rf /backup/wnam_db
mongodump -d wnam_db -o /backup
mv /backup/wnam_db /backup/wnam_db_`date +"%d-%m-%Y"`
Желательно, чтобы раздел /backup/ находился на физически другом жёстком диске.
Для работы WNAM используются следующие порты и протоколы, которые необходимо настроить на межсетевом экране вашего сервера, или промежуточных межсетевых экранах:
Протокол и порт | Направление | Назначение |
---|---|---|
tcp/80 | к серверу | веб-интерфейс администратора |
tcp/443 | к серверу | пользовательские страницы портала (авторизация и реклама) при использовании портала HTTPS (Mikrotik) |
udp/1812 | к серверу | запросы авторизации от RADIUS-клиентов к RADIUS-серверу |
udp/1813 | к серверу | сообщения аккаунтинга от RADIUS-клиентов к RADIUS-серверу |
udp/1700, udp/3799 | от сервера | запросы PoD и CoA к серверам доступа Cisco ISG, Cisco WLC, Alcatel-Lucent |
udp/2000 | от сервера | запросы китайского портального протокола (аналог CoA) к серверам доступа Huawei, DCN, Ruijie, H3C, Maipu |
tcp/8728 | от сервера | запросы на определение DHCP-идентификаторов абонентов (к маршрутизаторам Mikrotik через API) |
tcp/443, tcp/3000 | от сервера | авторизация абонента и запросы на определение их DHCP-идентификаторов (к контроллеру Bluesocket) |
tcp/443 | от сервера | проверка действительности лицензии WNAM на серверах ООО "Нетамс" (если нет offline-лицензии) |
tcp/20001 | к серверу | трафик запросов от скриптов wnam-* (например, работы с freeradius) до сервера WNAM (обычно через localhost) |
udp/20001 | к серверу | сообщения подтверждения звонков авторизации от агента, установленного на сервере Asterisk, либо DHCP-привязки от ISC-DHCPD / Kea, либо коллектора DHCP трафика для подсистемы профилирования |
udp/20002 | к серверу | трафик статистики Netflow v5 от маршрутизаторов (серверов) доступа |
tcp/27017 | от сервера | трафик обращений к MongoDB, если она работает на соседнем с WNAM сервере |
Дополнительно, если в вашей системе используется механизм корпоративной авторизации, понадобится следующий сетевой доступ:
Протокол и порт | Направление | Назначение |
---|---|---|
tcp/88 | от сервера | Kerberos трафик от сервера WNAM до серверов контроллеров домена Windows |
tcp/389, tcp/389 | от сервера | LDAP, LDAPs трафик от сервера WNAM до серверов контроллеров домена Windows |
tcp/80 | от сервера | HTTP трафик от сервера WNAM до серверов Windows PKI для проверки CRL списков |
tcp/9080 | от сервера | ADCTool трафик от сервера WNAM до отдельно стоящего сервера с ADCTool (если таковой не работает совместно с WNAM на одном сервере на localhost) |
tcp/49 | к серверу | TACACS+ запросы авторизации от сетевого оборудования |
tcp/9092 | к серверу | Трафик кластера Kafka в случае кластеризации по новой модели (>1.6.3638) |
При обновлении операционной системы сервера обратите внимание на обновление MongoDB. Эта СУБД не не поддерживает обновление перескоком через несколько версий (например с 3.6 до 4.4). Её можно обновить только последовательно (3.6-4.0-4.2-4.4), поэтому гораздо проще сделать полный дамп (mongodump -d wnam_db) всей базы данных, а потом её переустановку с удалением файлов базы в /var/lib/mongodb/. После установки последней версии сделайте восстановление базы (mongorestore -d wnam_db dump).
Подробно описано по ссылке в этом разделе.
Если вы обновляетесь с версии 1.5, обратите внимание, что freeradius больше не поддерживается, и его надо отключить.
Если у вас после обновления слетит лицензия и все настройки в "Конфигурация - Общие настройки", выполните их ручное восстановление через консоль сервера БД:
mongo wnam_db
db.settings.remove({"_id" : "settingsid"})
doc=db.settings.find()
doc._id = "settingsid"
db.settings.insert(doc)
и перезапустите WNAM.
Сделайте бэкап дистрибутива:
cd /home/wnam
cp wnam.war wnam.war.prev
В административном интерфейсе WNAM в разделе "Конфигурация - Общие настройки" посмотрите ваш лицензионный ключ.
Зайдите на сайт https://www.netams.com/download/ , введите ключ и получите ссылку для скачивания дистрибутива.
Скачайте дистрибутив на сервер:
wget -O /tmp/wnam.war http://www.netams.com/cgi/download.cgi?token=zsmehgiuwsprehmbhxjprgvlqgcunjyg ! эту временную ссылку взять с сайта загрузки, при вводе лицензионного ключа
Остановите WNAM:
systemctl stop wnam
При помощи команды ps ax | grep wnam проверьте, что сервис остановлен.
Перенесите дистрибутив:
mv /tmp/wnam.war /home/wnam
chmod +x /home/wnam/wnam.war
chown wnam:wnam /home/wnam/wnam.war
Обновите конфигурацию сервисов:
systemctl daemon-reload
Запустите WNAM:
systemctl start wnam
Проверьте, что он загружается:
tail -f /home/wnam/logs/console.log /home/wnam/logs/wnam.log
Проверьте работу веб-интерфейса, а затем - авторизацию абонентов.
Внимание! Обновление WNAM с версии 1.2 до версии 1.3 требует перехода с java7 на java8 и tomcat7 на tomcat8. Обязательно удалите старые пакеты и проверьте, что работают новые.
Для обновления java до версии 8 в Debian Jessie необходим репозиторий backports. Добавьте строку:
deb http://http.debian.net/debian jessie-backports main
в конец файла /etc/apt/sources.list и выполните:
apt-get update
apt-get install openjdk-8-jre-headless openjdk-8-jdk
update-java-alternatives -s java-1.8.0-openjdk-amd64
При обновлении версии java убедитесь, что старая версия 7 не используется по умолчанию. Подробнее смотрите в инструкции по установке.
Проведите резервное копирование базы данных системы, как написано выше (при помощи mongodump).
Создайте резервную копию приложения WNAM, которое у вас установлено в папке веб-приложений:
cp /var/lib/tomcat7/webapps/ROOT.war /root/ROOT.war.`date +"%d-%m-%Y"`
При этом копировать все папки самого развернутого приложения (/var/lib/tomcat7/webapps/ROOT/*) не требуется, так как вся информация, включая настройки и шаблоны страниц, хранится в базе данных.
Проверьте, что все скрипты и базовые конфигурационные файлы, которые вы используете, соответствуют актуальным версиям, расположенным здесь: http://www.netams.com/files/wnam/misc/ . Особое внимание уделите скрипту-связке WNAM и FreeRADIUS: wnam-freeradius-bridge.pl. При необходимости, скопируйте его в /etc/freeeradius и перезапустите сервис: service freeradius restart
Остановите веб-сервис tomcat:
service tomcat7 stop
Удалите старое приложение и старые лог-файлы:
rm -rf /var/lib/tomcat7/webapps/* /var/log/tomcat7/*
Перепишите новый дистрибутив WNAM из предварительно загруженного на сервер скаченного файла /root/ROOT.war в его целевое место:
cp /root/ROOT.war /var/lib/tomcat8/webapps/ROOT.war
Запустите веб-сервер:
service tomcat8 start
Распаковка нового приложения произойдет автоматически, вам не требуется ничего распаковывать самостоятельно.
Проверьте, что приложение корректно запустилось, просмотрев в конец лог-файла /var/log/tomcat8/wnam.log, там должно появиться что-то аналогичное:
23:33:52.370 DEBUG [c.n.w.s.s.UserAuthenticationProvider:56] - UserAuthenticationProvider init at 26.10.2015 23:33:52
23:33:52.657 DEBUG [com.netams.wnam.services.OuiService:30] - OuiService start
23:33:53.025 DEBUG [com.netams.wnam.services.OuiService:70] - OUI cache load: 368 ms., size=20653
23:33:53.133 DEBUG [com.netams.wnam.services.SmsService:63] - gammu_path=
23:33:53.139 INFO [com.netams.wnam.services.SmsService:124] - SmsService started
23:33:53.141 DEBUG [c.netams.wnam.manager.LicenseManager:98] - LicenseManager start
23:33:53.146 DEBUG [c.netams.wnam.manager.LicenseManager:117] - License key: XXXX-XXXX-XXXX-XXXX
23:33:53.148 DEBUG [c.netams.wnam.manager.LicenseManager:177] - checkLicenseKeyOnServer key='XXXX-XXXX-XXXX-XXXX'
23:33:53.642 DEBUG [c.netams.wnam.manager.LicenseManager:225] - checkLicenseKeyOnServer returned license with key XXXX-XXXX-XXXX-XXXX
23:33:53.642 DEBUG [c.netams.wnam.manager.LicenseManager:136] - checkForLicensing: valid license key XXXX-XXXX-XXXX-XXXX
23:33:53.643 DEBUG [c.netams.wnam.manager.LicenseManager:159] - checkForLicensing: issued='Wed Sep 09 13:07:18 MSK 2015', expires='Tue Oct 01 13:06:07 MSK 2024', isTrialPeriodEnded=false
23:33:53.749 INFO [c.n.wnam.services.BluesocketService:56] - BluesocketService started
23:33:53.761 INFO [c.n.wnam.services.LinuxCPService:84] - LinuxCPService started
23:33:53.769 DEBUG [c.n.wnam.services.StatisticService:98] - StatisticService start
23:33:53.775 INFO [c.netams.wnam.services.UnifiService:69] - UnifiService started
23:33:53.782 DEBUG [c.n.wnam.services.WnamFlowService:62] - WnamFlowService start
23:33:53.800 DEBUG [c.n.wnam.services.WnamCmdService:124] - WnamCmdService start
23:33:53.818 DEBUG [c.n.wnam.services.NetFlowV5Service:66] - NetFlowV5Service start
Не должно быть никаких сообщений со словами Exception. Если всё в порядке, и веб-интерфейс WNAM открывается, то работу по обновлению можно считать законченной. Рекомендуется проверить работу авторизации на одной из существующих площадок, и получить подтверждение от абонентов или сотрудников на месте.
Если вы переходите со старой версии WNAM, необходимо также проверить и обновить страницы портала пользователя.
Внимание! Обновление WNAM с версии ранее 1.3.1052 на более позднюю версию требует:
Начиная с версии 3.0 в mongodb предпочтительно использование хранилища данных типа WiredTiger вместо MMAP, которое применялось в ранних версиях. Если ваша база данных (в каталоге /var/lib/mongodb/) выглядит как множество файлов типа wnam_db.0, wnam_db.1, wnam_db.2 и т.д., вам необходимо провести обновление движка БД. Для этого можно воспользоваться инструкцией: https://docs.mongodb.com/v3.2/tutorial/change-standalone-wiredtiger/
Фактически, обновление производится путём бэкапа базы данных в файлы, изменения типа движка БД в конфигурационном файле /etc/mongodb.conf (storageEngine=wiredTiger), восстановления бэкапа.