Перейти до

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


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

Добрый день!

Шлюз управляется через 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. Размазывать абонентов по большему количеству тазиков попроще вместо закладывания всех в один атомный реактор - религия такая.

Ссылка на сообщение
Поделиться на других сайтах
  В 03.02.2012 в 09:53, AoW сказав:

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

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

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

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

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

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

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

Пинги

 

  Відновити прихований контент

 

 

 

rscriptd.conf

 

  Відновити прихований контент

 

 

 

stargazer.conf

 

 

  Відновити прихований контент

 

 

 

 

  Відновити прихований контент

 

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

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

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

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

Ссылка на сообщение
Поделиться на других сайтах
  В 03.02.2012 в 14:20, nightfly сказав:

Хозяйке на заметку - если при коннекте происходят какие-то 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
      Всем доброго дня, мирного неба  и бесперебойного энергоснабжения!
        Возникла необходимость временно отключить снятие абонплаты, как "правильно" это сделать?
×
×
  • Створити нове...