Дерево страниц

Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

...

Установка и настройка keepalived

в отдельной докеДокументация находится здесь:  v1.14_keepalived_1.3.6

Основной компонент резервирования контроллеров. Определяет за переход мастерства и обнаружение проблем в работе сети. Для установки keepalived необходимо обратиться в Сервисный центр Wi-Fi за актуальным дистрибутивом.

...

Предупреждение
При конфигурации по умолчанию Replica Set из двух узлов полностью выходит из строя при отказе одного из них (даже secondary).

Настройка replicaSet

Выполнить команду на обоих узлах, для возможности чтения из баз на secondary:

Блок кода
themeRDark
echo "rs.slaveOk()" | sudo tee -a /etc/mongorc.js

В /etc/mongodb.conf на обоих узлах:

...

Необходимо настроить модули SoftWLC на работу с контроллером по virtual ip на обоих серверах. Изменения необходимо внести в приведенные ниже конфигурационные файлы. В целях

Блок кода
themeRDark
titleФайл /etc/eltex-apb/apb.properties
linenumberstrue
collapsetrue
nbi.client.protocol=http
nbi.client.mercury.host=localhost
nbimercury.client.port=80806565
nbi.client.file=/axis2/services/RadiusNbiService?wsdl
nbi.client.login=admin
nbi.client.password=password
nbi.client.mercury.pool.size=100

# Config filePath to cache
cache.config=/etc/eltex-apb/ehcache.xml

# list of permitted files to
hosts.file=/etc/eltex-apb/hosts.json

# RRM config
rrm.conf.file=/etc/eltex-apb/rrmconf.json

# Timeout waiting for subscribe-request after connecting the access point to the server, in seconds
subscribe.idle.timeout=60

# Maximum count of outgoing messages to queue for each session
session.outgoingQueue=100
nbi.client.login=admin
nbi.client.password=password
  • Изменить localhost на <virtual_ip> в строке 21.
Блок кода
themeRDark
titleФайл /etc/eltex-pcrf/eltex-pcrf.json
linenumberstrue
collapsetrue
{
  "auth.address" : "0.0.0.0",
  "auth.port" : 31812,
  "auth.mac.open.timeout.s" : 3600,
  "auth.mac.welcome.service" : "WELCOME",

  "acct.address" : "0.0.0.0",
  "acct.port" : 31813,В целях

  "lease.saver.address" : "0.0.0.0",
  "lease.saver.port" : 4381,

  "aaa.instances" : 5,
  "aaa.host" : "127.0.0.1",
  "aaa.secret" : "testing123",
  "aaa.auth.port" : 1812,
  "aaa.acct.port" : 1813,
  "aaa.rest.port" : 7080,
  "aaa.timeout" : 10,
  "aaa.attempts" : 1,

  "web.monitoring.port" : 7070,

  "cluster.enable" : false,
  "cluster.eventBusPort" : 5801,

  "radius" : {
    "url" : "jdbc:mysql://localhost/radius?useUnicode=true&characterEncoding=utf8&relaxAutoCommit=true&connectTimeout=5000&autoReconnect=true",
    "user" : "javauser",
    "password" : "javapassword",
    "max_pool_size" : 16
  },

  "mongo.pcrf" : {
    "connection_string": "mongodb://localhost:27017/pcrf",
    "db_name": "pcrf"
  },

  "session.storage" : {
    "session.check.period.s" : 300,
    "unauth.store.time.s" : 600,
    "interval.number.expired" : 3,
    "min.interval.s" : 45,
    "default.interval.s" : 600
  },
 

"bras.coa" : {
    "coa.timeout" : 10,
    "coa.attempts" : 1,
    "remote.coa.port" : 3799,
    "executor.size" : 100,
    "log.clean.period.s" : 600,
    "log.store.period" : {
      "period" : 14,
      "unit" : "D"
    }
  },

  "sql.ems" : {
    "url" : "jdbc:mysql://localhost/eltex_ems?useUnicode=true&characterEncoding=utf8&relaxAutoCommit=true&connectTimeout=5000&autoReconnect=true",
    "user" : "javauser",
    "password" : "javapassword",
    "max_pool_size" : 16
  },

  "sql.wireless" : {
    "url" : "jdbc:mysql://localhost/wireless?useUnicode=true&characterEncoding=utf8&relaxAutoCommit=true&connectTimeout=5000&autoReconnect=true",
    "user" : "javauser",
    "password" : "javapassword",
    "max_pool_size" : 16
  }

}

...

Блок кода
themeRDark
titleФайл /etc/eltex-portal-constructor/configapplication.txtconf
linenumberstrue
collapsetrue
auth-service {
    host = localhost
    port = 21812
    timeout = 10s
    retries = 3
    secret = eltex
    # pap, chap, mschapv2
    protocol = pap
}

login {
    # Количество попыток входа в панель администратора до наступления блокировки
admin.attempts=5
    maxAttemptsLogin = 3
    maxAttemptsIP = 5
    # Количество минут блокировки после достижения максимального числа попыток входа в панель администратора
admin.block.time=5

###########################################################################
#######################Eltex Auth Service settings#########################
###########################################################################
auth.service.address=localhost
auth.service.port=21812
auth.service.timeout=10
auth.service.secret=eltex
auth.service.retries=3
# pap, chap, mschapv2, eap-mschapv2, eap-md5, eap-ttls
auth.service.protocol=eap-md5

###########################################################################
##########################DB ELTEX_PORTAL settings#########################
###########################################################################
# Диалект SQL соответвующий типу БД
portal.hibernate.dialect=org.hibernate.dialect.MySQL5Dialect
# Использовать кеш 2-го уровня
portal.hibernate.use_second_level_cache=true
# использовать кэширование sql запросов
portal.hibernate.use_query_cache=true
# выборка соседних сущностей
portal.hibernate.batch_size=2
# количество записоей при 1-й итерации выборки
portal.hibernate.fetch_size=100
# Показывать сгенерированный sql
portal.hibernate.show_sql=false
###########################################################################
# Драйвер БД
portal.db.driver=com.mysql.jdbc.Driver
# URL к БД
portal.db.url=jdbc:mysql://localhost:3306/ELTEX_PORTAL?max_allowed_packet=32362048&useUnicode=true&characterEncoding=utf8
# имя пользователя БД
portal.db.username=javauser
# пароль пользователя БД
portal.db.password=javapassword
# запрос выполняемый пулом для проверки валидности соединения
portal.db.validationQuery=select 1
# периодичность выполнения проверки соединения
portal.db.validationQueryTimeout=500
# флаг проверять ли соедиение при получении его из пула
portal.db.testOnBorrow=true
# флаг проверять ли соедиение при возращении его в пул
portal.db.testOnReturn=false
# флаг проверять ли соедиение в состоянии ожидания использования
portal.db.testWhileIdle=true
# кол-во миллисекунд в момент borrow из пула
portal.db.maxWait=10000
# минимальное кол-во соединений
portal.db.initialSize=1
# максимальное кол-во соединений
portal.db.maxActive=20
# максимальное кол-во соединений находящихся в состоянии ожидания
portal.db.maxIdle=1
# минимальное кол-во соединений находящихся в состоянии ожидания
portal.db.minIdle=1
# время между циклами проверки соедиения на валидность
portal.db.timeBetweenEvictionRunsMillis=10000
# минимальное время в состоянии idle
portal.db.minEvictableIdleTimeMillis=2000
# установка AutoCommit для соединения
portal.db.defaultAutoCommit=false

...

    blockTime = 5m
}



database {
    host = localhost
    port = 3306
    name = ELTEX_PORTAL
    user = javauser
    password = javapassword

    pool {
        # Time to wait for a connection
        connectionTimeout = 10s
        # Time to wait for connection validation
        validationTimeout = 3s

        min = 1
        max = 10
    }

    cache {
        # Limit of cached simple entries count (for each query type)
        maxEntries = 1000
        # Limit of total cached portal resources size
        maxResourceBytes = 32m
        # Maximum time to retain items in the cache
        expireTime = 30s
    }
}

sso {
    enabled = false

    rest {
        scheme = http
        host = localhost
        port = 80
        sso_api_path = /apiman-gateway/b2b_test
    }
    auth {
        scheme = http
        host = localhost
        port = 80
        authentication_path = /auth/realms/b2b/protocol/openid-connect/auth
        logout_path = /auth/realms/b2b/protocol/openid-connect/logout
    }


    params {
        client_id = id
        # URL of epadmin, URL must be in double quotes (!!!)
        redirect_uri = "http://localhost:8080/epadmin/sso"
        client_secret = secret
    }
}

jetty {
    https {
        port = 9444
        keystorePass = 12345
        keystoreFile = /etc/eltex-portal-constructor/localhost.pfx
        keystoreType = PKCS12
        keyAlias = 1
        ciphers = [
            TLS_RSA_WITH_AES_128_CBC_SHA256
            TLS_RSA_WITH_AES_128_CBC_SHA
            TLS_RSA_WITH_AES_256_CBC_SHA256
            TLS_RSA_WITH_AES_256_CBC_SHA
        ]
    }
}

validation {
//    public_key = /etc/eltex-doors/keys/public.pem
}


Изменить localhost на <virtualip>в строках 2, 23.

Блок кода
themeRDark
titleФайл /etc/eltex-portal/configapplication.txtconf
linenumberstrue
collapsetrue
#portal DB{
ELTEX_PORTAL # Диалект SQL соответвующийdefaultRedirectUrl типу БД
portal.hibernate.dialect=org.hibernate.dialect.MySQL5Dialect
# Использовать кеш 2-го уровня
portal.hibernate.use_second_level_cache=true
# использовать кэширование sql запросов
portal.hibernate.use_query_cache=true
# выборка соседних сущностей
portal.hibernate.batch_size=1
# количество записоей при 1-й итерации выборки
portal.hibernate.fetch_size=100
# Показывать сгенерированный sql
portal.hibernate.show_sql=false

# Драйвер БД
portal.db.driver=com.mysql.jdbc.Driver
# URL к БД
portal.db.url=jdbc:mysql://localhost:3306/ELTEX_PORTAL?max_allowed_packet=32362048&useUnicode=true&characterEncoding=utf8
# имя пользователя БД
portal.db.username=javauser
# пароль пользователя БД
portal.db.password=javapassword
# запрос выполняемый пулом для проверки валидности соединения
portal.db.validationQuery=select 1
# периодичность выполнения проверки соединения
portal.db.validationQueryTimeout=500
# флаг проверять ли соедиение при получении его из пула
portal.db.testOnBorrow=true
# флаг проверять ли соедиение при возращении его в пул
portal.db.testOnReturn=false
# флаг проверять ли соедиение в состоянии ожидания использования
portal.db.testWhileIdle=true
# кол-во миллисекунд в момент borrow из пула
portal.db.maxWait=10000
# минимальное кол-во соединений
portal.db.initialSize=5
# максимальное кол-во соединений
portal.db.maxActive=50
# максимальное кол-во соединений находящихся в состоянии ожидания
portal.db.maxIdle=5
# минимальное кол-во соединений находящихся в состоянии ожидания
portal.db.minIdle=1
# время между циклами проверки соедиения на валидность
portal.db.timeBetweenEvictionRunsMillis=10000
# минимальное время в состоянии idle
portal.db.minEvictableIdleTimeMillis=2000
# установка AutoCommit для соединения
portal.db.defaultAutoCommit=false

portal.global_redirect_url=http://eltex-co.ru/

...

= "http://eltex-co.ru"
    tariffCheckerPeriod = 1440
}

jetty {
    https {
        port = 9443
        keystorePass = 12345
        keystoreFile = /etc/eltex-portal/localhost.pfx
        keystoreType = PKCS12
        keyAlias = 1
        ciphers = [
            TLS_RSA_WITH_AES_128_CBC_SHA256
            TLS_RSA_WITH_AES_128_CBC_SHA
            TLS_RSA_WITH_AES_256_CBC_SHA256
            TLS_RSA_WITH_AES_256_CBC_SHA
        ]
    }
}

database {
    host = localhost
    port = 3306
    name = ELTEX_PORTAL
    user = javauser
    password = javapassword

    readOnly = true

    pool {
        # Time to wait for a connection
        connectionTimeout = 10s
        # Time to wait for connection validation
        validationTimeout = 3s

        min = 1
        max = 10
    }

    cache {
        # Limit of cached simple entries count (for each query type)
        maxEntries = 1000
        # Limit of total cached portal resources size
        maxResourceBytes = 32m
        # Maximum time to retain items in the cache
        expireTime = 2m
    }
}

Изменить localhost на <virtualip>в строке 25.


Блок кода
themeRDark
titleФайл /etc/eltex-radius-nbi/radius_nbi_config.txt
linenumberstrue
collapsetrue
# DB  radius(alias=radius)
radius.jdbc.driver=org.gjt.mm.mysql.Driver
radius.jdbc.dbUrl=jdbc:mysql://localhost/radius?zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf8&relaxAutoCommit=true&connectTimeout=5000
radius.jdbc.username=javauser
radius.jdbc.password=javapassword
radius.jdbc.maxPoolSize=48
radius.jdbc.inUse=yes

# DB ems(alias=ems)
ems.jdbc.driver=org.gjt.mm.mysql.Driver
ems.jdbc.dbUrl=jdbc:mysql://localhost/eltex_ems?zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf8&relaxAutoCommit=true&connectTimeout=5000&noAccessToProcedureBodies=true
ems.jdbc.username=javauser
ems.jdbc.password=javapassword
ems.jdbc.maxPoolSize=48
ems.jdbc.inUse=yes

# DB  wireless (alias=wireless)
wireless.jdbc.driver=org.gjt.mm.mysql.Driver
wireless.jdbc.dbUrl=jdbc:mysql://localhost/wireless?zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf8&relaxAutoCommit=true&connectTimeout=5000
wireless.jdbc.username=javauser
wireless.jdbc.password=javapassword
wireless.jdbc.maxPoolSize=48
wireless.jdbc.inUse=yes

# DB logs (alias=logs)
logs.jdbc.driver=org.gjt.mm.mysql.Driver
logs.jdbc.dbUrl=jdbc:mysql://localhost/eltex_alert?zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf8&relaxAutoCommit=true&connectTimeout=5000
logs.jdbc.username=javauser
logs.jdbc.password=javapassword
logs.jdbc.maxPoolSize=48
logs.jdbc.inUse=yes

# DB logs (alias=eltex_auth_service)
eltex_auth_service.jdbc.driver=org.gjt.mm.mysql.Driver
eltex_auth_service.jdbc.dbUrl=jdbc:mysql://localhost/eltex_auth_service?zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf8&relaxAutoCommit=true&connectTimeout=5000
eltex_auth_service.jdbc.username=javauser
eltex_auth_service.jdbc.password=javapassword
eltex_auth_service.jdbc.maxPoolSize=48
eltex_auth_service.jdbc.inUse=no

# адрес ems-northbound
ems.nbi.host=127.0.0.1
ems.nbi.port=8080
ems.nbi.path=northbound
ems.nbi.protocol=http

# eltex_auth_service
auth.port=22
auth.host=127.0.0.1
auth.username=username
auth.password=password

# freeradius-domain-1
freeradius-domain-1.port=22
freeradius-domain-1.host=192.168.0.1
freeradius-domain-1.username=username
freeradius-domain-1.password=password

# freeradius-domain-2
freeradius-domain-2.port=22
freeradius-domain-2.host=192.168.0.2
freeradius-domain-2.username=username
freeradius-domain-2.password=password

# tomcat url
tomcat.host=172.27.1.18
tomcat.port=8080

# pcrf stuff
pcrf.enabled=true
pcrf.url=http://localhost:7070
pcrf.username=admin
pcrf.password=password

# pcrf mongodb connector
pcrf.mongodb.enabled=true
pcrf.mongodb.uri=mongodb://localhost:27017/pcrf

# wifi-customer-cab mongodb connector
wificab.mongodb.enabled=true
wificab.mongodb.uri=mongodb://localhost:27017/wifi-customer-cab

# Eltex.SORM2.replicator MongoDB 'sorm2' connect
sorm2.mongodb.enabled=false
sorm2.mongodb.uri=mongodb://localhost:27017/sorm2

# Eltex.SORM2.replicator host to use API
sorm2.enabled=false
sorm2.url=http://localhost:7071
sorm2.username=admin
sorm2.password=password

#It enables records export to SORM3 while editing wifi users
sorm3.enabled=false

###########################################################################
##########################DB ELTEX_PORTAL settings#########################
###########################################################################
portal.db.driver=com.mysql.jdbc.Driver
portal.db.dialect=org.hibernate.dialect.MySQL5Dialect
portal.db.url=jdbc:mysql://localhost:3306/ELTEX_PORTAL?max_allowed_packet=32362048&useUnicode=true&characterEncoding=utf8
portal.db.username=javauser
portal.db.password=javapassword
portal.hibernate.use_second_level_cache=false
portal.hibernate.use_query_cache=false

...

Блок кода
languagejs
themeRDark
titleФайл /usr/lib/eltex-ems/conf/config.txt
linenumberstrue
collapsetrue
# DB Event
poolName1=event
event.jdbc.driver=org.gjt.mm.mysql.Driver
event.jdbc.dbUrl=jdbc:mysql://localhost/eltex_alert?useUnicode=true&characterEncoding=utf8&relaxAutoCommit=true&connectTimeout=5000
event.jdbc.username=javauser
event.jdbc.password=javapassword
event.jdbc.maxPoolSize=32
event.jdbc.inUse=yes
# remote db host access with su privileges
# event.ssh.login=
# event.ssh.password=
# event.ssh.port=

# DB Tree
poolName2=tree
tree.jdbc.driver=org.gjt.mm.mysql.Driver
tree.jdbc.dbUrl=jdbc:mysql://localhost/eltex_ems?useUnicode=true&characterEncoding=utf8&relaxAutoCommit=true&connectTimeout=5000&noAccessToProcedureBodies=true
tree.jdbc.username=javauser
tree.jdbc.password=javapassword
tree.jdbc.maxPoolSize=20
tree.jdbc.inUse=yes

# DB Ont
poolName3=ont
ont.jdbc.driver=org.gjt.mm.mysql.Driver
ont.jdbc.dbUrl=jdbc:mysql://localhost/eltex_ont?useUnicode=true&characterEncoding=utf8&relaxAutoCommit=true&connectTimeout=5000
ont.jdbc.username=javauser
ont.jdbc.password=javapassword
ont.jdbc.maxPoolSize=40
ont.jdbc.inUse=yes

# DB Syslog
poolName4=syslog
syslog.jdbc.driver=org.gjt.mm.mysql.Driver
syslog.jdbc.dbUrl=jdbc:mysql://localhost/Syslog?useUnicode=true&characterEncoding=utf8&relaxAutoCommit=true&connectTimeout=5000
syslog.jdbc.username=javauser
syslog.jdbc.password=javapassword
syslog.jdbc.maxPoolSize=4
syslog.jdbc.inUse=yes
# remote db host access with su privileges
# syslog.ssh.login=
# syslog.ssh.password=
# syslog.ssh.port=

# DB acsmain (alias=cpe)
poolName5=cpe
cpe.jdbc.driver=org.gjt.mm.mysql.Driver
cpe.jdbc.dbUrl=jdbc:mysql://localhost/acsmain?useUnicode=true&characterEncoding=utf8&relaxAutoCommit=true&connectTimeout=5000
cpe.jdbc.username=javauser
cpe.jdbc.password=javapassword
cpe.jdbc.maxPoolSize=2
cpe.jdbc.inUse=yes

# DB  acscmds(alias=cmds)
poolName6=cmds
cmds.jdbc.driver=org.gjt.mm.mysql.Driver
cmds.jdbc.dbUrl=jdbc:mysql://localhost/acscmds?useUnicode=true&characterEncoding=utf8&relaxAutoCommit=true&connectTimeout=5000
cmds.jdbc.username=javauser
cmds.jdbc.password=javapassword
cmds.jdbc.maxPoolSize=2
cmds.jdbc.inUse=yes

# DB  acsinf(alias=inf)
poolName7=inf
inf.jdbc.driver=org.gjt.mm.mysql.Driver
inf.jdbc.dbUrl=jdbc:mysql://localhost/acsinf?useUnicode=true&characterEncoding=utf8&relaxAutoCommit=true&connectTimeout=5000
inf.jdbc.username=javauser
inf.jdbc.password=javapassword
inf.jdbc.maxPoolSize=2
inf.jdbc.inUse=yes

# DB  acscache(alias=cache)
poolName8=cache
cache.jdbc.driver=org.gjt.mm.mysql.Driver
cache.jdbc.dbUrl=jdbc:mysql://localhost/acscache?useUnicode=true&characterEncoding=utf8&relaxAutoCommit=true&connectTimeout=5000
cache.jdbc.username=javauser
cache.jdbc.password=javapassword
cache.jdbc.maxPoolSize=2
cache.jdbc.inUse=yes

# DB  radius(alias=radius)
poolName9=radius
radius.jdbc.driver=org.gjt.mm.mysql.Driver
radius.jdbc.dbUrl=jdbc:mysql://localhost/radius?useUnicode=true&characterEncoding=utf8&relaxAutoCommit=true&connectTimeout=5000
radius.jdbc.username=javauser
radius.jdbc.password=javapassword
radius.jdbc.maxPoolSize=40
radius.jdbc.inUse=yes
# remote db host access with su privileges
# radius.ssh.login=
# radius.ssh.password=
# radius.ssh.port=

# ------------------------------------------- SSID ---------------------------------------------
# DB  wireless (alias=wireless)
poolName10=wireless
wireless.jdbc.driver=org.gjt.mm.mysql.Driver
wireless.jdbc.dbUrl=jdbc:mysql://localhost/wireless?useUnicode=true&characterEncoding=utf8&relaxAutoCommit=true&connectTimeout=5000
wireless.jdbc.username=javauser
wireless.jdbc.password=javapassword
wireless.jdbc.maxPoolSize=30
wireless.jdbc.inUse=yes

  • Изменить localhost на <virtualip>в строках 4, 17, 26, 35, 48, 57, 66, 75, 84, 98
Блок кода
languagexml
themeRDark
titleФайл /etc/eltex-doors/application.properties
linenumberstrue
collapsetrue
spring.application.name=eltex_doors

## Mysql datasource properties
spring.datasource.url=jdbc:mysql://localhost:3306/eltex_doors?useSSL=false&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC
spring.datasource.username=eltexdoors
spring.datasource.password=eltexpassword

spring.flyway.url=jdbc:mysql://localhost:3306/eltex_doors?useSSL=false&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC
spring.flyway.user=eltexdoors
spring.flyway.password=eltexpassword

## Starting server port
server.port=9097

## Custom application properties
auth.cron.session.timeout=*/60 * * * * *

# Login and password from basic account
auth.username=user
auth.password=password

# Auth keys paths
auth.private.key=/etc/eltex-doors/keys/private.pem
auth.public.key=/etc/eltex-doors/keys/public.pem

# Tokens lifetime
# Use time format HH:mm:ss
auth.token.access.lifetime=00:15:00
auth.token.refresh.lifetime=720:00:00
  • Изменить localhost на <virtualip>в строках 4,8
Примечание
titleПримечание

Т.к. сервис eltex-doors необязательный для всех инсталяций, то конфигурационного файла, как и данного сервиса, в вашей системе может не быть.


Смена настроек в GUI

Также нужно настроить модули SoftWLC при помощи графического интерфейса.

...

Резервирование сервиса конструктора портала осуществляется с помощью сервиса keepalived, при этом в системных настройках следует выполнить несколько действий:

1) - Изменить localhost в конфигурационом файле

- Изменить localhost на виртуальный ip-адрес в разделах настроек:

Системные настройки → Конструктор порталов

2) - Системные настройки → Доступ к NBI

3) - Системные настройки → Доступ к NGW

4) - Системные настройки → Доступ к Mercury

5) - Системные настройки → БД платежей

6) - Системные настройки → Доступ к PCRF

...