Перейти до

Проблема с НАСом


Рекомендованные сообщения

Добрый день!

Шлюз управляется через remote script ex....от стг. Все правила построены на основе айписет-а. Ситуация следующая возникает: время от времени абонент удаляется из разрешающего списка, даже те кто стоит со "всегда он-лайн" помогает переподключение авторизатором или ожидание в случае с "всегда онлайн". Кто то сталкивался с таким?

Ссылка на сообщение
Поделиться на других сайтах

Такое поведение возможно аж в двух случаях - либо rscripd теряет связь с mod_remote_script либо слишком медленно выполняются OnConnect/OnDisconnect и до соединения всех нужных абонентов проходит таймаут отвала.

Попробуйте увеличить количество ExecutersNum для rscriptd скажем до 2 - при тяжелых OnConnect/OnDisconnect может возыметь действие. Хотя да - лучше их облегчить.

 

ЗЫ Версия надеюсь 2.407+? В 2.406 пользователи начинали отваливаться уже чисто по количеству. В более поздних madf там очень много чего пофиксил.

Ссылка на сообщение
Поделиться на других сайтах

Могут и помочь - но корень зла всегда кроется в сверхмедленно выполняющихся OnConnect/OnDisconnect, в этом случае наиболее ефективным решением выглядит таки увеличение количества ExecutersNum а также естественно оптимизация логики в стартующем при коннекте веселье.

Ссылка на сообщение
Поделиться на других сайтах

UserTimeout - время через которое абон будет отключен если по нему не приходит alive-пакетов.

SendPeriod - периодичность отсылки alive-пакетов.

В общем случае увеличение UserTimeout и уменьшение SendPeriod должно помочь, но судя по вашей симптоматике у вас проблема в другом месте.На сколько я понял, после отключения они назад сами не подключаются?

Ссылка на сообщение
Поделиться на других сайтах
нет, абонент назад возвращается, спустя минуту - две

Да, походу наблюдал такое еще на 2.406 при >600-800 юзеров на 1 NAS, в 2.407 пофиксилось более менее но всеравно ExecutersNum=2

 

Более 1.2-1.5к и сейчас не держу но упирается больше в количество трафика и продуктивность железа при таком pps. Размазывать абонентов по большему количеству тазиков попроще вместо закладывания всех в один атомный реактор - религия такая.

Ссылка на сообщение
Поделиться на других сайтах

нет, абонент назад возвращается, спустя минуту - две

Тогда проблем нет - увеличивайте UserTimeout, уменьшайте SendPreriod (тут осторожно) и проверяйте канал связи между NAS и биллингом на потери.

Ссылка на сообщение
Поделиться на других сайтах

Да, еще как правильно заметил nightfly, в случае "тяжелых" скриптов имеет смысл увеличить ExecutersNum до 2-3. Ну или даже больше - тут надо мониторить ситуацию.

Ссылка на сообщение
Поделиться на других сайтах

Какие точные значения UserTimeout и SendPeriod сейчас? Есть ли потери пакетов между биллинговым сервером и NAS? Какая версия Stargazer?

Ссылка на сообщение
Поделиться на других сайтах

Пинги

 

root@bill:/etc/stargazer# ping 192.168.1.10 -f

PING 192.168.1.10 (192.168.1.10) 56(84) bytes of data.

192.168.1.10 ping statistics 19120935 packets transmitted, 19120934 received, 0% packet loss, time 3146574ms

rtt min/avg/max/mdev = 0.032/0.121/22.083/0.207 ms, pipe 2, ipg/ewma 0.164/0.381 ms

 

 

 

rscriptd.conf

 

UserTimeout=60

 

 

 

stargazer.conf

 

 

 

Module remote_script

SendPeriod = 10

 

Module auth_ia

Port = 5555

UserDelay = 60

UserTimeout = 200

FreeMb = cash

 

 

 

 

 

Stg v. 2.407-p1

Storage plugin: mysql_store v.0.67

CAP_NF v. 0.4

Remote script v 0.3

InetAccess authorization plugin v.1.4

Always Online authorizator v.1.0

Pinger v.1.01

Stg configurator v.0.08

 

Ссылка на сообщение
Поделиться на других сайтах

В rscriptd.conf UserTimeout можно смело поднимать в 2-3 раза. Если абонов много - возможно придется поднимать SendPeriod. А так вроде все нормально.

Ссылка на сообщение
Поделиться на других сайтах

Хозяйке на заметку - если при коннекте происходят какие-то SELECT-ы по БД, добавьте по всем полям из WHERE индексов. Это целительно - честно :)

Ссылка на сообщение
Поделиться на других сайтах

Хозяйке на заметку - если при коннекте происходят какие-то SELECT-ы по БД, добавьте по всем полям из WHERE индексов. Это целительно - честно :)

 

Поля индесованные )))

Ссылка на сообщение
Поделиться на других сайтах
  • 7 months later...

добрый день!

Хотел дописать заглушку для должников, и встретился с тем, что OnChange не выполняется при использовании Remote Script. Это правда?

Ссылка на сообщение
Поделиться на других сайтах

Да. Поэтому он нигде не используется в ubilling.

Если хочется использовать заглушку для юзеров у которых кончилось бабло - свободно можно обойтись одним OnConnect.

Ссылка на сообщение
Поделиться на других сайтах

Добрый день!

Заглушку решили, релиши добавить еще один НАС, но споткнулись. итак:

 

 

root@bill:/etc/stargazer# cat subnets

192.168.8.0/22 192.168.1.10

192.168.12.0/22 192.168.1.10

192.168.16.0/22 192.168.1.10

192.168.8.0/22 192.168.1.3

192.168.12.0/22 192.168.1.3

192.168.16.0/22 192.168.1.3

 

stargazer.conf

<Module remote_script>

 

SendPeriod = 10

SubnetFile = /etc/stargazer/subnets

Password = *******

UserParams = Cash Tariff EnabledDirs

Port = 9999

</Module>

 

 

root@bill:/etc/stargazer# iptables-save | grep 192.168.1.3

-A INPUT -s 192.168.1.3/32 -d 192.168.1.1/32 -p tcp -m tcp --sport 9999 -j ACCEPT

-A INPUT -s 192.168.1.3/32 -d 192.168.1.1/32 -p udp -m udp --sport 9999 -j ACCEPT

-A OUTPUT -s 92.168.1.1/32 -d 192.168.1.3/32 -p tcp -m tcp --dport 9999 -j ACCEPT

-A OUTPUT -s 192.168.1.1/32 -d 192.168.1.3/32 -p udp -m udp --dport 9999 -j ACCEPT

 

при этом:

 

 

root@bill:/etc/stargazer# tcpdump -n -i eth2 | grep 192.168.1.10

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode

listening on eth2, link-type EN10MB (Ethernet), capture size 65535 bytes

15:05:26.623321 IP 192.168.1.1.36820 > 192.168.1.10.9999: UDP, length 1048

15:05:26.623458 IP 192.168.1.1.36820 > 192.168.1.10.9999: UDP, length 1048

15:05:26.623470 IP 192.168.1.1.36820 > 192.168.1.10.9999: UDP, length 1048

15:05:26.623549 IP 192.168.1.1.36820 > 192.168.1.10.9999: UDP, length 1048

15:05:26.623634 IP 192.168.1.1.36820 > 192.168.1.10.9999: UDP, length 1048

15:05:26.623711 IP 192.168.1.1.36820 > 192.168.1.10.9999: UDP, length 1048

 

а вот :

 

root@bill:/etc/stargazer# tcpdump -n -i eth2 | grep 192.168.1.3

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode

listening on eth2, link-type EN10MB (Ethernet), capture size 65535 bytes

15:05:55.066401 IP 192.168.1.3.50817 > 192.168.1.1.42111: UDP, length 120

 

Причина мне пока не известна. Не могу понять где не так.

и в довесок:

 

root@192.168.1.3:~# cat /etc/rscriptd/rscriptd.conf

LogFileName=/var/log/rscriptd.log

ExecutersNum=1

ConfigDir=/etc/rscriptd

Password=*******

Port=9999

UserTimeout=300

ScriptOnConnect=/etc/rscriptd/OnConnect

ScriptOnDisconnect=/etc/rscriptd/OnDisconnect

 

 

Кто-что думает по этому поводу?

Ссылка на сообщение
Поделиться на других сайтах

А, понял. Вы не соблюли формат файла. Должно быть так:

192.168.8.0/22 192.168.1.10 192.168.1.3
192.168.12.0/22 192.168.1.10 192.168.1.3
192.168.16.0/22 192.168.1.10 192.168.1.3

Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Вхід

Уже зарегистрированы? Войдите здесь.

Войти сейчас
  • Зараз на сторінці   0 користувачів

    Немає користувачів, що переглядають цю сторінку.

  • Схожий контент

    • Від a_n_h
      Всем доброго дня!
        После "переезда" на новый сервер не работает подсчет трафика у абонов, графики рисует исправно.
       
        softflowd запущен:
        nobody  26980    0.0  0.0   13488   3148  -  Is   05:40       0:00.00 /usr/local/bin/softflowd -i bridge0 -n 127.0.0.1:42111 -m 16000 -p /var/run/softflowd.br
       
        при проверке  tcpdump -i lo0 port 42111 - тишина...
       
        Подскажите, куда копать?
    • Від a_n_h
      Доброго дня и с праздником!
         Как "формируется" ID пользователя для OnConnect OnDisconnect и проч. скриптов?
    • Від a_n_h
      Всем доброго дня!
        Как перенести созданные в мастере отчетов отчеты на новый сервер?
       
      Нашел сам:
      /usr/local/www/apache24/data/billing/content/reports
    • Від a_n_h
      Всем доброго дня и мирного неба!
        После последних событий выявилась "фича" билинга, при загузке сервака отморозки с положительным балансом не попадают в 47-ю таблицу... Как исправить запрос к БД, что-бы все замороженные тоже отключались:
       
      $data_q='SELECT `ip` FROM `users` WHERE `Cash`< -`Credit`';
       
    • Від a_n_h
      Всем доброго дня, мирного неба  и бесперебойного энергоснабжения!
        Возникла необходимость временно отключить снятие абонплаты, как "правильно" это сделать?
×
×
  • Створити нове...