Если вы забыли пароль пользователя 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 |
tcp/8728 | от сервера | запросы на определение DHCP-идентификаторов абонентов (к маршрутизаторам Mikrotik через API) |
tcp/443, tcp/3000 | от сервера | авторизация абонента и запросы на определение их DHCP-идентификаторов (к контроллеру Bluesocket) |
tcp/443 | от сервера | проверка действительности лицензии WNAM на серверах ООО "Нетамс" |
tcp/20001 | к серверу | трафик запросов от скриптов wnam-* (например, работы с freeradius) до сервера WNAM (обычно через localhost) |
udp/20001 | к серверу | трафик статистики от unix-агентов, которые разбирают HTTP трафик в поиске посещенных URL |
udp/20002 | к серверу | трафик статистики Netflow v5 от маршрутизаторов (серверов) доступа |
Внимание! Обновление 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), восстановления бэкапа.