Перейти до

Ubilling + NAS на FreeBSD бортжурнал починаючого адміна


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

 

вчем проблема?

В недобавленных, в соответствующем справочнике сетях DHCP?

 

ну это я понял. Они посути должны сами формироваться при установки ubilling исходя от настроенных сетевых интерфейсов?

Ссылка на сообщение
Поделиться на других сайтах
  • Відповіді 1,8k
  • Створено
  • Остання відповідь

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

Вітаю Татко!   

Не так вже й багато   Ход коньом:   # cat /bin/clear_dhcpdlog #!/bin/sh /bin/echo > /var/log/dhcpd.log /usr/local/etc/rc.d/isc-dhcpd restart # chmod a+x /bin/clear_dhcpdlog # crontab -e

http://wiki.ubilling.net.ua/doku.php?id=userstats       Расист? http://wiki.ubilling.net.ua/doku.php?id=userstats

Posted Images

 

 

ну это я понял. Они посути должны сами формироваться при установки ubilling исходя от настроенных сетевых интерфейсов?

Ну никто ж за вас кликать не будет в админке, решая, для каких сетей дхцп должно материализоваться.

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

Вопрос "ламерский"

какая здесь:

http://wiki.ubilling.net.ua/doku.php?id=development

"среда разработки", конкретнее:

http://wiki.ubilling.net.ua/lib/exe/fetch.php?cache=&w=286&h=277&media=samplemod.png

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

 

 

"среда разработки", конкретнее:

Netbeans.

Спрыгнул на него уже хз сколько лет назад. Начинал с  zend studio -> eclipse -> netbeans. Теперь вполне доволен жизнью.

 

znimok_ekrana_z_20170130_12_58_58.png

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

 

 

Netbeans. Спрыгнул на него уже хз сколько лет назад. Начинал с  zend studio -> eclipse -> netbeans. Теперь вполне доволен жизнью.

Щиро дякую! Буду осваивать..... 

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

да нетбинс тема :)

очень удобная штука

особенно alt + shift + f

и ctrl + left click по имени функции))

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

Привет,  вопрос таков, как перенаправить должников с реальными айпишками ?  

 

я так понимаю, нужно будет подкорректировать вот эти правила   вместо второй таблички поставить 10ю, или как то делается по другому ? ? 

 

#Debtors forwarding
${FwCMD} add 4 allow ip from table\(2\) to 8.8.8.8 dst-port 53 via em0                    
${FwCMD} add 4 allow ip from 8.8.8.8 to table\(2\) src-port 53 via em0
${FwCMD} add 4 allow ip from table\(2\) to me dst-port 80 via em0
${FwCMD} add 4 allow ip from me to table\(2\) src-port 80 via em0
${FwCMD} add 6 fwd 127.0.0.1,80 ip from table\(47\) to not me dst-port 80
${FwCMD} delete 65534

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

Привет,  вопрос таков, как перенаправить должников с реальными айпишками ?  

 

я так понимаю, нужно будет подкорректировать вот эти правила   вместо второй таблички поставить 10ю, или как то делается по другому ? ? 

 

#Debtors forwarding

${FwCMD} add 4 allow ip from table\(2\) to 8.8.8.8 dst-port 53 via em0                    

${FwCMD} add 4 allow ip from 8.8.8.8 to table\(2\) src-port 53 via em0

${FwCMD} add 4 allow ip from table\(2\) to me dst-port 80 via em0

${FwCMD} add 4 allow ip from me to table\(2\) src-port 80 via em0

${FwCMD} add 6 fwd 127.0.0.1,80 ip from table\(47\) to not me dst-port 80

${FwCMD} delete 65534

 

А глянуть ipfw table 47 list низя?

У вас там по-умолчанию "искаропки" должники будут

 

 

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

Добрый день,  подскажите куда копать, если не всех абонентов отключает при отрицательном балансе ?  Кредитного лимита  нету. Абоненты с реальными айпишками. 

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

Вообще все должники (отключенные) должно попадать в 47 таблицу. Попробуйте посмотреть ее содержимое. Также проверьте восстанавливается ли она после перезгрузки сервера.

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

Всем привет
Возможмо не по тему,но прошу помогите
когда установляется freebsd у него 3 раздела 1.boot    2.freebsd-ufs      3.swap
так для бекапа нужно все 3 раздела дампит или только freebsd-ufs
и еще swap как понимаю для ubilling-а не так и важно так как он для виртуализации,право ли я понял?

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

 

 

для бекапа нужно все 3 раздела дампит или только freebsd-ufs

для бекапа лучше пользоваться бекапалкой как вариант запуск по "крону":

25      7,19    *       *       *       root    /bin/ubapi "backupdb"

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

 

для бекапа нужно все 3 раздела дампит или только freebsd-ufs

для бекапа лучше пользоваться бекапалкой как вариант запуск по "крону":

25      7,19    *       *       *       root    /bin/ubapi "backupdb"

 

там бекап из ftp сервера,хотелось сделат дамп на флешку а потом из LiveCd сделат востоновление,но не знаю mysql тоже будет скопирован

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

 

 

там бекап из ftp сервера,хотелось сделат дамп на флешку а потом из LiveCd сделат востоновление,но не знаю mysql тоже будет скопирован

Да. Копируется БД, также критически важный конфигурационный файлы самой ОС.

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

 

 

ну ничего не мешает дописать всё что нужно бекапить в самом скрипте

Здесь и не поспоришь. Очень удобно использовать сервера виртуализации. Образы делаются за минуту. Столько же и на восстановление.

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

 

там бекап из ftp сервера,хотелось сделат дамп на флешку а потом из LiveCd сделат востоновление,но не знаю mysql тоже будет скопирован

Да. Копируется БД, также критически важный конфигурационный файлы самой ОС.

 

ок понял,спасибо

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

Нужна помощь. FreeBSD NAS + Freeradius + mpd. PPPoE подключается, но шейперы не работают.

Радиус атрибуты:

screenshot_192_168_160_3_2017_03_27_09_1

 

Дебаг радиуса:

rad_recv: Access-Request packet from host 127.0.0.1 port 10669, id=44, length=268
	NAS-Identifier = "beta.skystar.com.ua"
	NAS-IP-Address = 127.0.0.1
	Message-Authenticator = 0x56d629105099fa7e741a1d59864b2ed9
	Acct-Session-Id = "595972-vlan50-3"
	NAS-Port = 3
	NAS-Port-Type = Ethernet
	Service-Type = Framed-User
	Framed-Protocol = PPP
	Calling-Station-Id = "6466b3e81b0d"
	NAS-Port-Id = "vlan50"
	mpd-link = "vlan50-3"
	Tunnel-Medium-Type:0 = IEEE-802
	Tunnel-Client-Endpoint:0 = "64:66:b3:e8:1b:0d"
	User-Name = "00002"
	MS-CHAP-Challenge = 0xbb1e68dd1189bf802a669b7609ee0c72
	MS-CHAP2-Response = 0x0100df097885d16cb8733c681dacfd15e9590000000000000000ab30640ad5bd267e099b540b81b1b2d9d01514148a9bb643
# Executing section authorize from file /usr/local/etc/raddb/sites-enabled/default
+group authorize {
++[preprocess] = ok
++[chap] = noop
[mschap] Found MS-CHAP attributes.  Setting 'Auth-Type  = mschap'
++[mschap] = ok
++[digest] = noop
[eap] No EAP-Message, not doing EAP
++[eap] = noop
[sql] 	expand: %{User-Name} -> 00002
[sql] sql_set_user escaped user --> '00002'
rlm_sql (sql): Reserving sql socket id: 3
[sql] 	expand: SELECT (@cnt := @cnt + 1) AS `id`, `UserName`, `Attribute`, `Value`, `op`           FROM `radius_check`           CROSS JOIN (SELECT @cnt := 0) AS `dummy`           WHERE `UserName` = '%{SQL-User-Name}'           ORDER BY `id` -> SELECT (@cnt := @cnt + 1) AS `id`, `UserName`, `Attribute`, `Value`, `op`           FROM `radius_check`           CROSS JOIN (SELECT @cnt := 0) AS `dummy`           WHERE `UserName` = '00002'           ORDER BY `id`
[sql] User found in radcheck table
[sql] 	expand: SELECT (@cnt := @cnt + 1) AS `id`, `UserName`, `Attribute`, `Value`, `op`           FROM `radius_reply`           CROSS JOIN (SELECT @cnt := 0) AS `dummy`           WHERE `UserName` = '%{SQL-User-Name}'           ORDER BY `id` -> SELECT (@cnt := @cnt + 1) AS `id`, `UserName`, `Attribute`, `Value`, `op`           FROM `radius_reply`           CROSS JOIN (SELECT @cnt := 0) AS `dummy`           WHERE `UserName` = '00002'           ORDER BY `id`
[sql] 	expand: SELECT `GroupName`           FROM `radius_usergroup`           WHERE `UserName` = '%{SQL-User-Name}'           ORDER BY `priority` -> SELECT `GroupName`           FROM `radius_usergroup`           WHERE `UserName` = '00002'           ORDER BY `priority`
[sql] 	expand: SELECT (@cnt := @cnt + 1) AS `id`, `GroupName`, `Attribute`, `Value`, `op`           FROM `radius_groupcheck`           CROSS JOIN (SELECT @cnt := 0) AS `dummy`           WHERE `GroupName` = '%{Sql-Group}'           ORDER BY `id` -> SELECT (@cnt := @cnt + 1) AS `id`, `GroupName`, `Attribute`, `Value`, `op`           FROM `radius_groupcheck`           CROSS JOIN (SELECT @cnt := 0) AS `dummy`           WHERE `GroupName` = '3:2130706433'           ORDER BY `id`
[sql] User found in group 3:2130706433
[sql] 	expand: SELECT (@cnt := @cnt + 1) AS `id`, `GroupName`, `Attribute`, `Value`, `op`           FROM `radius_groupreply`           CROSS JOIN (SELECT @cnt := 0) AS `dummy`           WHERE `GroupName` = '%{Sql-Group}'           ORDER BY `id` -> SELECT (@cnt := @cnt + 1) AS `id`, `GroupName`, `Attribute`, `Value`, `op`           FROM `radius_groupreply`           CROSS JOIN (SELECT @cnt := 0) AS `dummy`           WHERE `GroupName` = '3:2130706433'           ORDER BY `id`
rlm_sql (sql): Released sql socket id: 3
++[sql] = ok
++[expiration] = noop
++[logintime] = noop
[pap] WARNING: Auth-Type already set.  Not setting to PAP
++[pap] = noop
+} # group authorize = ok
Found Auth-Type = MSCHAP
# Executing group from file /usr/local/etc/raddb/sites-enabled/default
+group MS-CHAP {
[mschap] Creating challenge hash with username: 00002
[mschap] Client is using MS-CHAPv2 for 00002, we need NT-Password
[mschap] adding MS-CHAPv2 MPPE keys
++[mschap] = ok
+} # group MS-CHAP = ok
Login OK: [00002] (from client NAS 2 port 3 cli 6466b3e81b0d)
# Executing section post-auth from file /usr/local/etc/raddb/sites-enabled/default
+group post-auth {
++[exec] = noop
+} # group post-auth = noop
Sending Access-Accept of id 44 to 127.0.0.1 port 10669
	Framed-IP-Address = 172.16.50.2
	Framed-IP-Netmask = 255.255.255.255
	mpd-pipe += "1=bw 32240Kbyte/s"
	mpd-pipe += "5=bw 32240Kbyte/s"
	mpd-table-static += "3=172.16.50.2"
	mpd-table-static += "4=172.16.50.2"
	MS-CHAP2-Success = 0x01533d45424330313138393943374334363243354534303938314635373537464333414433434335464535
	MS-MPPE-Recv-Key = 0x074632e9fe738cb34b6a1482b5e0c062
	MS-MPPE-Send-Key = 0x357e3f8c2f1f0e3b2fb7950d05db3955
	MS-MPPE-Encryption-Policy = 0x00000001
	MS-MPPE-Encryption-Types = 0x00000006
Finished request 0.
Going to the next request
Waking up in 4.9 seconds.
rad_recv: Accounting-Request packet from host 127.0.0.1 port 10670, id=38, length=270
	NAS-Identifier = "beta.skystar.com.ua"
	NAS-IP-Address = 127.0.0.1
	Acct-Session-Id = "595972-vlan50-3"
	NAS-Port = 3
	NAS-Port-Type = Ethernet
	Service-Type = Framed-User
	Framed-Protocol = PPP
	Calling-Station-Id = "6466b3e81b0d"
	NAS-Port-Id = "vlan50"
	mpd-link = "vlan50-3"
	Tunnel-Medium-Type:0 = IEEE-802
	Tunnel-Client-Endpoint:0 = "64:66:b3:e8:1b:0d"
	Acct-Status-Type = Start
	Framed-IP-Address = 172.16.50.2
	Framed-IP-Netmask = 255.255.255.255
	Framed-IPv6-Address = ::
	User-Name = "00002"
	Acct-Multi-Session-Id = "595972-B-1"
	mpd-bundle = "B-1"
	mpd-iface = "ng0"
	mpd-iface-index = 7
	Acct-Link-Count = 1
	Acct-Authentic = RADIUS
# Executing section preacct from file /usr/local/etc/raddb/sites-enabled/default
+group preacct {
++[preprocess] = ok
[acct_unique] Hashing 'NAS-Port = 3,NAS-Identifier = "beta.skystar.com.ua",NAS-IP-Address = 127.0.0.1,Acct-Session-Id = "595972-vlan50-3",User-Name = "00002"'
[acct_unique] Acct-Unique-Session-ID = "050d416d1eec652d".
++[acct_unique] = ok
+} # group preacct = ok
# Executing section accounting from file /usr/local/etc/raddb/sites-enabled/default
+group accounting {
++[exec] = noop
[attr_filter.accounting_response] 	expand: %{User-Name} -> 00002
attr_filter: Matched entry DEFAULT at line 12
++[attr_filter.accounting_response] = updated
+} # group accounting = updated
Sending Accounting-Response of id 38 to 127.0.0.1 port 10670
Finished request 1.
Cleaning up request 1 ID 38 with timestamp +14
Going to the next request
Waking up in 4.9 seconds.
Cleaning up request 0 ID 44 with timestamp +14
Ready to process requests.
rad_recv: Accounting-Request packet from host 127.0.0.1 port 10671, id=95, length=318
	NAS-Identifier = "beta.skystar.com.ua"
	NAS-IP-Address = 127.0.0.1
	Acct-Session-Id = "595895-vlan50-4"
	NAS-Port = 4
	NAS-Port-Type = Ethernet
	Service-Type = Framed-User
	Framed-Protocol = PPP
	Calling-Station-Id = "6466b3e81b0d"
	NAS-Port-Id = "vlan50"
	mpd-link = "vlan50-4"
	Tunnel-Medium-Type:0 = IEEE-802
	Tunnel-Client-Endpoint:0 = "64:66:b3:e8:1b:0d"
	Framed-IP-Address = 172.16.50.2
	Framed-IP-Netmask = 255.255.255.255
	Framed-IPv6-Address = ::
	User-Name = "00002"
	Acct-Multi-Session-Id = "595895-B-2"
	mpd-bundle = "B-2"
	mpd-iface = "ng1"
	mpd-iface-index = 8
	Acct-Link-Count = 1
	Acct-Authentic = RADIUS
	Acct-Status-Type = Stop
	Acct-Terminate-Cause = Lost-Service
	Acct-Session-Time = 130
	Acct-Input-Octets = 78
	Acct-Input-Packets = 6
	Acct-Input-Gigawords = 0
	Acct-Output-Octets = 2845
	Acct-Output-Packets = 37
	Acct-Output-Gigawords = 0
# Executing section preacct from file /usr/local/etc/raddb/sites-enabled/default
+group preacct {
++[preprocess] = ok
[acct_unique] Hashing 'NAS-Port = 4,NAS-Identifier = "beta.skystar.com.ua",NAS-IP-Address = 127.0.0.1,Acct-Session-Id = "595895-vlan50-4",User-Name = "00002"'
[acct_unique] Acct-Unique-Session-ID = "9aef731b53a7fa26".
++[acct_unique] = ok
+} # group preacct = ok
# Executing section accounting from file /usr/local/etc/raddb/sites-enabled/default
+group accounting {
++[exec] = noop
[attr_filter.accounting_response] 	expand: %{User-Name} -> 00002
attr_filter: Matched entry DEFAULT at line 12
++[attr_filter.accounting_response] = updated
+} # group accounting = updated
Sending Accounting-Response of id 95 to 127.0.0.1 port 10671
Finished request 2.
Cleaning up request 2 ID 95 with timestamp +67

IPFW:

ipfw pipe show

08101:   5.240 Mbit/s    0 ms burst 0 
q139173 32 KB 0 flows (1 buckets) sched 73637 weight 0 lmax 0 pri 0 droptail
 sched 73637 type FIFO flags 0x0 0 buckets 0 active
10000: 257.920 Mbit/s    0 ms burst 0 
q141072  50 sl. 0 flows (1 buckets) sched 75536 weight 0 lmax 0 pri 0 droptail
 sched 75536 type FIFO flags 0x0 0 buckets 0 active
10001: 257.920 Mbit/s    0 ms burst 0 
q141073  50 sl. 0 flows (1 buckets) sched 75537 weight 0 lmax 0 pri 0 droptail
 sched 75537 type FIFO flags 0x0 0 buckets 0 active
00101:   5.240 Mbit/s    0 ms burst 0 
q131173 32 KB 0 flows (1 buckets) sched 65637 weight 0 lmax 0 pri 0 droptail
 sched 65637 type FIFO flags 0x0 0 buckets 0 active


ipfw list

00004 allow ip from table(2) to 8.8.8.8 dst-port 53 via vlan50
00004 allow ip from 8.8.8.8 to table(2) src-port 53 via vlan50
00004 allow ip from table(2) to me dst-port 80 via vlan50
00004 allow ip from me to table(2) src-port 80 via vlan50
00004 allow ip from table(2) to 8.8.8.8 dst-port 53 via vlan54
00004 allow ip from 8.8.8.8 to table(2) src-port 53 via vlan54
00004 allow ip from table(2) to me dst-port 80 via vlan54
00004 allow ip from me to table(2) src-port 80 via vlan54
00005 fwd 127.0.0.1,80 ip from 172.32.0.0/16 to not me dst-port 80
00005 fwd 127.0.0.1,443 ip from 172.32.0.0/16 to not me dst-port 443
00006 fwd 127.0.0.1,80 ip from table(47) to not me dst-port 80
06000 nat 1 ip from table(2) to not table(9) out xmit em0
06001 nat 1 ip from any to me in recv em0
12000 pipe tablearg ip from table(3) to any via vlan50 in
12000 pipe tablearg ip from table(3) to any via vlan54 in
12001 pipe tablearg ip from any to table(4) via vlan50 out
12001 pipe tablearg ip from any to table(4) via vlan54 out
65533 deny ip from table(2) to any via vlan54
65533 deny ip from table(2) to any via vlan50
65535 allow ip from any to any


ipfw table all list

--- table(2), set(0) ---
172.16.0.0/16 0
--- table(3), set(0) ---
172.16.50.2/32 0
172.16.54.3/32 101
--- table(4), set(0) ---
172.16.50.2/32 0
172.16.54.3/32 8101
--- table(9), set(0) ---
--- table(32), set(0) ---
--- table(47), set(0) ---
Ссылка на сообщение
Поделиться на других сайтах
  • 2 weeks later...

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

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

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

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

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

Вхід

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

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

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

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

    • Від Remez
      Ценник 5,500
       
      в наличии 3 шт
       
       





    • Від mac
      Глюк в тому, що один (так - тільки один) mac адрес onu існує в білінгу у вигляді строки. Це трохи заважає.
      olt - bdcom gepon.
      Наскільки зрозумів, це виключно проблема реалізації snmpwalk у freebsd, де snmpwalk може на свій розсуд віддати mac адресу не як hex-string, а як звичайний string.
      Можливо snmpwalk тригериться на якомусь символі, мені невідомо.
       
      # tcpdump -vv -i em0 udp port 161 and host olt and host ub | grep "3320.101.10.4.1.1.241 ... olt.snmp > ub.47940: [udp sum ok] { SNMPv2c C="*****" { GetResponse(44) R=93278354 E:3320.101.10.4.1.1.241="8LO"W*" } } ub.47940 > olt.snmp: [udp sum ok] { SNMPv2c C="*****" { GetNextRequest(34) R=93278355 E:3320.101.10.4.1.1.241 } } snmpwalk -c***** -v2c -t5 olt .1.3.6.1.4.1.3320.101.10.4.1.1 SNMPv2-SMI::enterprises.3320.101.10.4.1.1.241 = STRING: "8LO\"W*" snmpwalk -Ox -c***** -v2c -t5 olt .1.3.6.1.4.1.3320.101.10.4.1.1 SNMPv2-SMI::enterprises.3320.101.10.4.1.1.241 = Hex-STRING: 38 4C 4F 22 57 2A  
      Це стосується таких параметрів у snmp конфізі bdcom
       
      [signal] MACINDEX=".1.3.6.1.4.1.3320.101.10.4.1.1" [misc] ONUINDEX=".1.3.6.1.4.1.3320.101.11.1.1.3"  
      За для усунення глюку спробував трошки змінити код і завдати тип snmp параметру явно у ./api/libs/api.ponbdcom.php у function collect()
      Це працює. Мабуть станеться у нагоді:
       
      # diff api.ponbdcom.php{.new,.bak} 37c37 < $onuIndex = $this->snmp->walk('-Ox ' . $oltIp . ':' . self::SNMPPORT, $oltCommunity, $onuIndexOid, self::SNMPCACHE); --- > $onuIndex = $this->snmp->walk($oltIp . ':' . self::SNMPPORT, $oltCommunity, $onuIndexOid, self::SNMPCACHE); 91c91 < $macIndex = $this->snmp->walk('-Ox ' . $oltIp . ':' . self::SNMPPORT, $oltCommunity, $macIndexOID, self::SNMPCACHE); --- > $macIndex = $this->snmp->walk($oltIp . ':' . self::SNMPPORT, $oltCommunity, $macIndexOID, self::SNMPCACHE);  
      P.S. Створив тему, а зараз міркую: а може це глюк у ПЗ olt. Оновлю фірмваре olt та перевірю...
       

    • Від Plastilin
      Вітаю. Маю наступний комплект. Ubilling на Debian + Mikrotik CHR як маршрутизатор. Наче все запустилось, але виникло питання яке не вдається розрулити. Читав Wiki, ковиряв, читав знову Wiki, знову ковиряв - не допомогло.
      Чи можливо якось визначити конкретну IP адресу з пулу який видає Mikrotik клієнту через Radius? Мені пропонує обрати наступну вільну адресу з пулу при спробі зміни адреси?
      З цього з'являється додаткове питання, чи можливо контролювати доступ користувачам у яких IP назначений статично, тобто прописаний вручну? Наприклад при зміні статусу не активний - пхати до Firewall Mikrotik правила заборони доступу з IP адреси визначеної вручну, навіть якщо вона не отримана по DHCP.
       
      UPD: з першою частиною знайшов: IP_CUSTOM=1 в alter.ini 
    • Від ppv
      Потрібно було витерти одну мережу, всі абоненти з неї були перенесені в іншу. Але світить що 6 IP зайняті, хоча вона повністю вільна.
       
      ID    Мережа/CID           RВсього IP        Використано IP ▾           Вільно IPСервіс
      6      172.16.70.0/23        506                    6                                       500
       
      Підкажіть як правильно це підчистити щоб видалити мережу.
    • Від sanyadnepr
      Приветствую всех.
      Подскажите пожалуйста где копнуть и нет ли проблемы со стороны протокола взаимодействия сити24 или возможно не учтена необходимая проверка в модуле сити24 в Ubilling, пока писал понял что похоже в проверке payID, но это не точно.  
      Недавно обнаружилось с сити24 начали прилетать дубликаты платежей, в целом платежей мало, два одинаковых запроса Pay с одинаковым transactionID и payID в одну секунду одному платежному ID при этом биллинг "думает" примерно чуть больше минуты и отвечает одним ответом <result>0</result>, сити24 утверждает что ответ они не получили и по протоколу дальше повторяет запросы дублем, биллинг ответ и так по кругу, сити24 спрашивает каким образом с одинаковым payID от сити24 билл продолжает обрабатывать запросы и пополнять абоненту счет раз в 5 минут примерно, на одну и туже сумму, ведь этот payID уже был обработан предполагают сити24 согласно протоколу.
      Конечно есть вопрос к сити24 зачем они дублем присылают два запроса, но они отвечают что эта ситуация учтена в протоколе и проблема на стороне биллинга, потому что он пополняет счет по уже обработанному одинаковому payID.
      При этом transactionID в дублях одинаковый, но с каждым новым дублем разный.
      Если зафаерволить запросы от сити24, но оставить возможность отвечать то после блокировки билл отправляет 2-3 минуты 6 ответов <account>0001</account>  <result>0</result>.
      После снятия блокировки, дубли и платежи нескольких проблемных абонентов прилетают так же по кругу, при этом и с некоторыми новыми пополнениями происходит аналогичная ситуация.
      В openpayz в платежах transactionID и не видно payID.

×
×
  • Створити нове...