Перейти до

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


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

  • Відповіді 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

Наскільки я з того місива, з телефону зрозумів- у вас повернення денної швидкості коряве. Зробіть до 23:59:59.

 

Привіт добродії! Змінив "часові рамки", як казав Найт. Минула доба і ось тепер такі логі:

 

Настає ніч:


#### Shape start19-Jan-2015 00:03:00####
user login:gost1m1ap0_30x8
normal mark:18101
user tariff:Free
normal speed:4100
new speed:6200
===============

.........

Багато інших юзерів (30 штук)

.........
user login:gostln314ap0_1sa1
normal mark:18123
user tariff:UnlimX
normal speed:4100
new speed:4100
===============

user login:gostln326ap0_ldj2
normal mark:18130
user tariff:Free
normal speed:10500
new speed:6200
===============
user login:gostlt6ap0_hffj
normal mark:18131
user tariff:Free
normal speed:4200
new speed:6200

####Shape end 19-Jan-2015 00:03:00####

Побрили - все в нормі.

 

Ось ранок як в них почався:

#### Shape start19-Jan-2015 08:13:01####
user login:gostln326aap0_whtn
normal mark:18129
user tariff:Free
normal speed:100000
new speed:4200
===============
.......

Тіж самі юзери...

.......
user login:gostln326ap0_ldj2
normal mark:18130
user tariff:Free
normal speed:10500
new speed:4200
===============
user login:gostlt6ap0_hffj
normal mark:18131
user tariff:Free
normal speed:4200
new speed:4200
===============
user login:gostpl6ap0_ridl
normal mark:18132
user tariff:UnlimX
normal speed:4100
new speed:4100
===============
####Shape end 19-Jan-2015 08:13:01####

Якось так, ніби все гаразд.

 

P.S. Найт. Якшо у Вас є реквізити приват24, кідай в лИчку, буду дякувати.

Відредаговано -VaSaK-
Ссылка на сообщение
Поделиться на других сайтах
Якось так, ніби все гаразд.

Власне от тут нещодавно вже обговорювалось, чому час "від" не може бути меншим за час "до".

 

 

P.S. Найт. Якшо у Вас є реквізити приват24, кідай в лИчку, буду дякувати.

приват24 не пересилає кокаїн :(

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

Такє ще ото питаннячко, дамп бази був в кілобайтах, тепер 170 мегабайт, то нормально для 30-ти юзерів?  :huh:

 

П.С. detailstat_11_2014 - 130 мегабайт, але Детальна статистика ні вкого не ввімкнута.

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

1. По розміру - це типово для живих 10-12 тис. абонентів.

2. Ну дик видаліть тим же модулем бекапів. Самі ж бачите, шо то за листопад минулого року. Аналогічно і з іншими, що пропонуються до очистки.

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

1. По розміру - це типово для живих 10-12 тис. абонентів.

2. Ну дик видаліть тим же модулем бекапів. Самі ж бачите, шо то за листопад минулого року. Аналогічно і з іншими, що пропонуються до очистки.

Зрозумів. А графічки і статистика хто скільки натягав, воно ж не зачепить? Відредаговано -VaSaK-
Ссылка на сообщение
Поделиться на других сайтах

А хто підкаже, як зробити перенапрвлення ніби як боржників у кабінет користувача, але на сігнап2?

 cat /etc/rc.conf
hostname="serverxload.localhost"
ifconfig_rl1="inet 172.16.32.101 netmask 255.255.255.0"
defaultrouter="172.16.32.1"
ifconfig_rl0="inet 172.16.0.1 netmask 255.255.255.0"
ifconfig_rl0_alias0="inet 172.32.0.1 netmask 255.255.240.0"
sshd_enable="YES"
# Set dumpdev to "AUTO" to enable crash dumps, "NO" to disable
dumpdev="AUTO"
# ====== added by UBinstaller ====

#all needed services
mysql_enable="YES"
apache24_enable="YES"
dhcpd_enable="YES"
dhcpd_flags="-q"
dhcpd_conf="/usr/local/etc/multinet/dhcpd.conf"
dhcpd_ifaces="rl0"

# ==========
#access/shape/nat
firewall_enable="YES"
firewall_nat_enable="YES"
dummynet_enable="YES"
firewall_script="/etc/firewall.conf"
cat /etc/firewall.conf
#!/bin/sh

# firewall command
FwCMD="/sbin/ipfw -q"

${FwCMD} -f flush

# Networks define
${FwCMD} table 2 add 172.16.0.0/24
${FwCMD} table 9 add 172.16.32.101

#NAT
${FwCMD} nat 1 config log if rl1 reset same_ports
${FwCMD} add 6000 nat 1 ip from table\(2\) to not table\(9\) via rl1
${FwCMD} add 6001 nat 1 ip from any to 172.16.32.101 via rl1

#Shaper - table 4 download speed, table 3 - upload speed
${FwCMD} add 12001 pipe tablearg ip from any to table\(4\) via rl0 out
${FwCMD} add 12000 pipe tablearg ip from table\(3\) to any via rl0 in

#default block policy
${FwCMD} add 65533 deny all from table\(2\) to any via rl0
${FwCMD} add 65534 deny all from any to table\(2\) via rl0
${FwCMD} add 65535 allow all from any to any

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

/usr/local/www/apache24/data/index.php

<?php
    function rcms_redirect($url, $header = false) {
        if($header){
            @header('Location: ' . $url);
        } else {
            echo '<script language="javascript">document.location.href="' . $url . '";</script>';
        }
    }
 
 
    $userip=$_SERVER['REMOTE_ADDR'];
 
    if (strpos($userip,'172.32.')===false)  {
        rcms_redirect("http://172.16.0.1/billing/userstats/");
    } else {
        rcms_redirect("http://172.16.0.1/signup2/");
  }
?>

global.template

option domain-name "ourisp"; 
option domain-name-servers 8.8.8.8; 
default-lease-time 3600; 
max-lease-time 43200; 
authoritative; 
ddns-update-style none; 
log-facility local7; 
one-lease-per-client true; 
deny duplicates;  


shared-network ourisp {

{SUBNETS}

###### Unknown users network
  subnet 172.32.0.0 netmask 255.255.240.0 {
  default-lease-time 3600;
  option domain-name "isp";
  option subnet-mask 255.255.240.0;
  option domain-name-servers 172.32.0.1;
  option routers 172.32.0.1;
  range 172.32.0.100 172.32.0.254;
  }

}

Тобто потрібно всіх з мережі 172.32.0.0/20 перенаправити, грубо кажучі на 172.16.0.1/signup2 або 172.32.0.1/signup2 аналогічно як це робить фаєрвол при відємному стані рахунку.

 

Якшо треба покажу ще недостаючих конфігів...  :facepalm:

Прошу вибачення.

Ссылка на сообщение
Поделиться на других сайтах
А хто підкаже, як зробити перенапрвлення ніби як боржників у кабінет користувача, але на сігнап2?

От точно так само як сказано в документації взяти і зробити.

 

 

Тобто потрібно всіх з мережі 172.32.0.0/20 перенаправити, грубо кажучі на 172.16.0.1/signup2 або 172.32.0.1/signup2 аналогічно як це робить фаєрвол при відємному стані рахунку.

 

Всі штуки в цьому житті, мають якесь своє конкретне призначення.

Наприклад той же UHW призначено, для завертання абонентів з невідомим обладнанням на сторінку активації цього самого обладнання. Той же signup2 в свою чергу, призначений конкретно для того, аби висіти на сайті провайдера у вигляді кнопочки "хочу підключитись, перетелефонуйте мені". 

Навіщо завертати вже підключеного фізично, до мережі користувача на сторінку, де він має благати, аби його підключили - залишається загадкою.

 

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

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

 

 

От точно так само як сказано в документації взяти і зробити.

 

Так справа ж в тім, шо нічеого не робив. 

У фаєрі цього не достатьньо:

#unknown users redirect
${FwCMD} add 5 fwd 127.0.0.1,80 ip from 172.32.0.0/20 to not me dst-port 80

Потім, що саме має бути у цьому файлі /usr/local/www/apache22/data/index.php:

 

В доках про UHW одне, для боржників інше. Як його зліпити до кучі? Ще там віртуал хости, теж покі що ще не дуже розумію.

Фішка в тому, якшо ввести адрессу руками 172.32.0.1/uhw(signup2), то воно працюе, а от авоматично, при любій адрессі ні.

Для зареганих юзерів (в мене їх мало), поміняті МАК не так складно, і не часто. А от відкрити мережу Вай-Фай то і нехай працює редірект на заявку.

Сайта свого не маю, тай для 30 юзерів ще ранувато.

Якщо ж всеж такі нескладно, показати як завернути у фаєрі чі в index.php, чі ..htaccess.

 

П.С. Найт, дайте якійсь реквізит для перекідання подяк.

  

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

Я одного не можу зрозуміти, ви signup2 хочете замість UHW використовувати чи як?

Якшо так то тоді /usr/local/www/apache22/data/index.php

<?php
    function rcms_redirect($url, $header = false) {
        if($header){
            @header('Location: ' . $url);
        } else {
            echo '<script language="javascript">document.location.href="' . $url . '";</script>';
        }
    }
 
 
    $userip=$_SERVER['REMOTE_ADDR'];
 
    if (strpos($userip,'172.32.')===false)  {
        rcms_redirect("http://172.16.0.1/billing/userstats/");
    } else {
        rcms_redirect("http://172.16.0.1/signup2/");
    }
?>

Теперь тільки розібрати моменти, якщо невідомі у вас отримують саме 172.32.х.х - то все ок.

І бажано виправити саму ссилку на правильну, якщо воно теж не співпадає.

Відредаговано L1ght
Ссылка на сообщение
Поделиться на других сайтах
Я одного не можу зрозуміти, ви signup2 хочете замість UHW використовувати чи як?

 

Саме так! Невідомий МАК опиняється саме в 172.32.0.0/20. Але автоматично чомусь не направляє, ні на УХВ як в оригіналі, ні на сігнап2 як в моєму випадку. Ото плясав з бубном, але клепки мабуть не вистачає як рулити віртуал хостом. Де ще ховається саме перенаправлення окрім фаєра хз. :facepalm:   

 

Посуті, я завжди можу змінити сігнап2 на УХВ у index.php. Але і УХВ не схотів їхати.

 

Може тут, і наскільки актуально це:

З доку про УХВ "требует наличия включенной опции allow_url_fopen в php.ini" - незрозуміло.

З доку про боржників "помощи UBinstaller с пересборкой ядра (options IPFIREWALL_FORWARD). -незрозуміло.

 

У боржників ще ж 47-ма табличка... хз, нема думок.

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

кхм...

${FwCMD} add 5 fwd 127.0.0.1,80 ip from 172.32.0.0/20 to not me dst-port 80

 

ви оце додали в фаєр, а після того машину перезавантажували, або фаер рестартували, або додали на гарячу?

в ipfw show э таке правило?

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

Машину не перегружав, але робив такє /etc/rc.d/ipfw restart і отримав ось що: 

net.inet.ip.fw.enable: 1 -> 0
net.inet6.ip6.fw.enable: 1 -> 0
ipfw: getsockopt(IP_FW_ADD): Invalid argument
Firewall rules loaded.

Поки що фаєр такий як я показував вищче, без шаманств.

Добре. Якщо я внесу те правило, але юзерів в тій підмережі нема, буде видно якийсь результат?  

ipfw show


00004    642     41221 allow ip from table(2) to 8.8.8.8 dst-port 53 via rl0
00004    642     75880 allow ip from 8.8.8.8 to table(2) src-port 53 via rl0
00004      0         0 allow ip from table(2) to me dst-port 80 via rl0
00004      0         0 allow ip from me to table(2) src-port 80 via rl0
00006      0         0 fwd 127.0.0.1,80 ip from table(47) to not me dst-port 80
06000 341367  22284350 nat 1 ip from table(2) to not table(9) via rl1
06001 435382 543431558 nat 1 ip from any to 172.16.32.101 via rl1
12000 340828  22247405 pipe tablearg ip from table(3) to any via rl0 in
12001 434020 543278153 pipe tablearg ip from any to table(4) via rl0 out
65533    210     62736 deny ip from table(2) to any via rl0
65535  59185  29006097 allow ip from any to any
Відредаговано -VaSaK-
Ссылка на сообщение
Поделиться на других сайтах

Тепер з правилом.

ipfw show
00004   104     6855 allow ip from table(2) to 8.8.8.8 dst-port 53 via rl0
00004   104    13205 allow ip from 8.8.8.8 to table(2) src-port 53 via rl0
00004     0        0 allow ip from table(2) to me dst-port 80 via rl0
00004     0        0 allow ip from me to table(2) src-port 80 via rl0
00005     0        0 fwd 127.0.0.1,80 ip from 172.32.0.0/20 to not me dst-port 80
00006     0        0 fwd 127.0.0.1,80 ip from table(47) to not me dst-port 80
06000 57889  3708134 nat 1 ip from table(2) to not table(9) via rl1
06001 74800 91806105 nat 1 ip from any to 172.16.32.101 via rl1
12000 57798  3701695 pipe tablearg ip from table(3) to any via rl0 in
12001 74588 91782452 pipe tablearg ip from any to table(4) via rl0 out
65533    34    10424 deny ip from table(2) to any via rl0
65535 59787 29300137 allow ip from any to any

Але нажаль неможу перевірити, працюю віддалено від своєї тачки та мережі.

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

 

 

Ок. Тепер є. Пробуйте кудись ходити невідомим. Каунтери мають клонцати.
 

То вже утром. Зараз немає змоги. Тобто замість нуля напроти 00005 має щось змінюватись...

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

Добре-добре! Не кричі, люди сплять. Буду вранці на місці, зясую що до чого. Але якшо каунтер клоцне, а перенаправлення не відбудеться, що тоді...

Ссылка на сообщение
Поделиться на других сайтах
Але якшо каунтер клоцне, а перенаправлення не відбудеться, що тоді...

будете писати в ООН, що fwd котрий бере пакет з одного місця і тупо ніяк не модифікуючи, запихає його в інше - не виконує міжнародних конвенцій.

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

Каунтер клоцає.

ipfw show
00004    20343     1327612 allow ip from table(2) to 8.8.8.8 dst-port 53 via rl0
00004    20333     2383514 allow ip from 8.8.8.8 to table(2) src-port 53 via rl0
00004        0           0 allow ip from table(2) to me dst-port 80 via rl0
00004        0           0 allow ip from me to table(2) src-port 80 via rl0
00005      266       42186 fwd 127.0.0.1,80 ip from 172.32.0.0/20 to not me dst-port 80
00006        0           0 fwd 127.0.0.1,80 ip from table(47) to not me dst-port 80
06000 12383172  1053257248 nat 1 ip from table(2) to not table(9) via rl1
06001 16654017 22350637988 nat 1 ip from any to 172.16.32.101 via rl1
12000 12369624  1052226440 pipe tablearg ip from table(3) to any via rl0 in
12001 16595447 22343424775 pipe tablearg ip from any to table(4) via rl0 out
65533    19763     5869823 deny ip from table(2) to any via rl0
65535   118357    54132585 allow ip from any to any

Тепер куди дивитись, щоб розгледіти той пакет?  :blink:

Якшо руками ввести 172.32.0.1, то пре прямісінько на signup2  :unsure:

Відредаговано -VaSaK-
Ссылка на сообщение
Поделиться на других сайтах
Опубліковано: (відредаговано)
00005 266 42186 fwd 127.0.0.1,80 ip from 172.32.0.0/20 to not me dst-port 80

каунтер клоцає, а браузерь тупо нехоче йти на ю%х  куда ви його переадресовуєте і таке буває, хоча з фряхою один експлоурер вийожується всі решта чемно йдуть куда посилають.

А ще, ваш клієнет який ДНС получає? 8.8.8.8 чи 172.32.0.1 чи що там ви йому даєте?  туда доступ відкритий? сам ДНС сервер працює для цієї мережі?

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

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

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

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

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

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

Вхід

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

Войти сейчас
  • Зараз на сторінці   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.

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