Перейти до

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

Ні, в фаєрі ви це діло не зариєте.

Ще раз кажу, що ви між антеннами можете зробити те саме, що на свічах, і локалізувати проблему тільки на цьому домі.

Нема вумного свіча - то хоча б локалізуйте.

Ще раз пояснюю.

Зробіть окремий влан для цього дому. Новий пул адрес і нова послуга у біллінгу.

Підіймаєте 2 влани на насі.

Один для всіх і другий для цього дому.

Свічі тупі - тому навішувати таг та знімати його будуть антенни.

 

БС-ки робите у режимі роутера. Менеджмент інтерфейс lan. bridge1 -> lan.vlan10 + wlan

Лінки між цим чіпати не треба, достатьно ВДС між лінками.

 

Тіки МТУ інтерфейсу де влани підійміть до 1504.

 

Я так розумію, що в більшості це радіо? І тіки зовсім трохи кабелю?

Відредаговано L1ght
Ссылка на сообщение
Поделиться на других сайтах
Опубліковано: (відредаговано)
Я так розумію, що в більшості це радіо? І тіки зовсім трохи кабелю?

ага десь  95-98% радіо.

 

 

 

БС-ки робите у режимі роутера. Менеджмент інтерфейс lan. bridge1 -> lan.vlan10 + wlan

а з цим треба мені самому розібратися, ато зара як накалапуцькаю нівкого нету небуде :)  

 

БС-ки робите у режимі роутера. Менеджмент інтерфейс lan. bridge1 -> lan.vlan10 + wlan

 

йомайо оце всі бс лазяти  :facepalm:

нема сил зараз.

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

так раз і назавжди вирішимо  проблему.

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

В себе вирішив проблему так:

 

1. В місцях, де є L2 вмикаємо DHCP snooping.

2. На сервері встановлюємо dhcpdrop

3. Невеличкий скрипт парсить лог dhcpdrop і в Убілінгу собака кидає смс, якщо є роутер в мережі.

4. В мережі, де немає світчів з DHCP snooping, там клієнти таки вмикають роутери. Але у 99% адреса 192.168.0.1/(1.1 або 2.1) і логін admin/admin.

 

Як тільки прийшло смс з IP та mac такого роутера заходимо на нього і першим кроком вимикаем вбудований DHCP Server. 2-м кроком вмикаємо віддалене керування і ребутаєм роутер. Після рестарту він вже нікому не заважає. А Ви можете на нього попасти. А от клієнт уже ні. Но то його трабл уже.

 

По маку шукайте товариша уже потім в спокійній обстановці і давайте по вухах.

Можна ще назву WiFi змінити на щось типу Zvoni_063-xxx-xxx-x.

Ссылка на сообщение
Поделиться на других сайтах
Опубліковано: (відредаговано)
Як тільки прийшло смс з IP та mac такого роутера заходимо на нього і першим кроком вимикаем вбудований DHCP Server. 2-м кроком вмикаємо віддалене керування і ребутаєм роутер. Після рестарту він вже нікому не заважає. А Ви можете на нього попасти. А от клієнт уже ні. Но то його трабл уже.   По маку шукайте товариша уже потім в спокійній обстановці і давайте по вухах. Можна ще назву WiFi змінити на щось типу Zvoni_063-xxx-xxx-x.

 

Як же я недокумекав!

там же не WAN порт який зафаєрволений а LAN!

 

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

 

неподілитесь? :rolleyes:

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

Запускаю дроппер таким скриптом: /install/dhcpdrop/dhdrop.sh
 

#!/bin/bash

echo "DHCDROP Started at `date`" > /install/dhcpdrop/logs/dhcpdrop.log
echo " " > /install/dhcpdrop/logs/alert.log
/install/dhcpdrop/dhcdrop -i eth0 -y -l xx:xx:xx:xx:xx -L 192.168.0.0 >> /install/dhcpdrop/logs/dhcpdrop.log
echo "====================================================" >> /install/dhcpdrop/logs/dhcpdrop.log
mess=`/bin/cat /install/dhcpdrop/logs/dhcpdrop.log | grep IP-header -B3`
if [ -n "$mess" ] ; then
echo $mess > /install/dhcpdrop/logs/alert.log
echo $mess >> /install/dhcpdrop/logs/dhcpdrop.log
fi
/bin/cat /install/dhcpdrop/logs/dhcpdrop.log >> /install/dhcpdrop/logs/dhcpdrop_all.log

xx:xx:xx:xx:xx - мак Вашої мережевої в LAN
Скрипт формує 2 файли :
dhcpdrop_all.log - загальний лог запуску
alert.log - якщо при запуску знайшовся роутер
 
Скрипт для Собаки: /install/dhcpdrop/watch_dhcp.sh

#!/bin/bash

iMAC=`cat /install/dhcpdrop/logs/alert.log | grep DHCDROP | cut -d "," -f2 | cut -d "," -f1 | cut -d " " -f5`
iIP=`cat /install/dhcpdrop/logs/alert.log | grep DHCDROP | cut -d "-" -f2 | cut -d " " -f2 | cut -d ")" -f1`
if [ -n "$iMAC" ] && [ -n "$iIP" ] ; then echo "$iIP $iMAC"
else echo "FALSE"

В собаці активуємо :
 

Включен роутер -   script   /install/dhcpdrop/watch_dhcp.sh  notlike  FALSE     log,email,sms,andresult

І для періодичного запуску в крон пишемо : (4 раза на годину)

*/15 * 	* * * 	root	/install/dhcpdrop/dhdrop.sh

Як результат - якщо хтось втиркнув роутер в LAN наразі  упродовж 15 хвилин отримуємо смс з IP та MAC того роутера.

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

Может кто решал проблему сдедующего рода.

Есть сеть, авторизация по 82 опции с ics-dhcpd. Когда абон просит айпишку он получает ее на основании связки Agent ID & Circuit ID. А когда тот же абон просит айпишку уже на другом девайсе, например на компе, он ничего не получает. В dhcpd.log DHCPDISCOVER from 00:40:96:40:38:f8 via em0: network *******: no free lease

 

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

#!/bin/bash

lease=`cat /var/log/dhcpd.log | grep lease | wc -l`

b=5

if [ "$lease" -gt "$b" ]
 then

mv /var/db/dhcpd/dhcpd* /var/db/dhcpd/trash &&
mv /var/log/dhcpd.log /opt/dhcpd.log &&
touch /var/log/dhcpd.log &&
/usr/local/etc/rc.d/isc-dhcpd stop &&
/etc/rc.d/syslogd restart &&
/usr/local/etc/rc.d/isc-dhcpd start

else

echo "Clear"
fi
exit 0

Но так, как этот костыль не есть тру, нужен другой рецепт.

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

Я уже объяснял как - сравнивать количество текущих с предыдущими, и в случае != чистить лизы.

Можно обойтись вообще без этого, реалтайм слушая stdin и в случае возникновения события - дергать все только тогда когда это нужно. А не ежеминутно.

 

 

Нафига вот это:

mv /var/db/dhcpd/dhcpd* /var/db/dhcpd/trash &&
mv /var/log/dhcpd.log /opt/dhcpd.log &&
touch /var/log/dhcpd.log &&
/usr/local/etc/rc.d/isc-dhcpd stop &&
/etc/rc.d/syslogd restart &&

и кому это нужно вообще - остается загадкой.

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

 

Нафига вот это:

mv /var/db/dhcpd/dhcpd* /var/db/dhcpd/trash &&

mv /var/log/dhcpd.log /opt/dhcpd.log &&

touch /var/log/dhcpd.log &&

/usr/local/etc/rc.d/isc-dhcpd stop &&

/etc/rc.d/syslogd restart &&

и кому это нужно вообще - остается загадкой.

 

 

Ну как загадкой. Базу лиз нужно очистить, иначе не получит адрес. Дхцпв.лог почистить, так как по логике костыля это понятно. ну а остальное и так понятно.

 

Можно обойтись вообще без этого реалтайм слушая stdin и в случае возникновения события - дергать все только тогда когда это нужно. А не ежеминутно.

 

Чем слушать то ???

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

лог сислога у вас подрабатывает "базой лиз"?

 

 

Чем слушать то ???

Чем угодно.

 

http://en.wikipedia.org/wiki/Standard_streams

 

Логика подсказывает, что для этого отлично может подойти чото типа http://php.net/manual/en/features.commandline.io-streams.php

 

Итого:

1. висим такие, слушаем через пайп инпут

2. принимаем решения

3. все

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

Ну ессесно нет, но без его дергания ничего в новосозданый dhcpd.log не писало.

 

За рецепты спасибо!

Попробую накостылять что-то исходя из ваших советов.

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

 

 

За рецепты спасибо! Попробую накостылять что-то исходя из ваших советов.

подсказываю - по запросу "php stdin pipe log" гугл вываливает на 96% готовое решение :)

Ссылка на сообщение
Поделиться на других сайтах
Опубліковано: (відредаговано)

NAS на FreeBSD 9.2 с rscriptd

які особливоті установки на 9.3 х86 або х64?

на 9.3 х86 в режимі ports  перед установков оновив порти.

непоставився вебсервер, перл ....

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

Ше не збирав 9.3. Благо 9.2 EoL тіко з нового року. Так шо зараз онлі 9.2х64 і онлі бінарниками - далі як буде вільний час переберу/потестую.

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

 

 

Так шо зараз онлі 9.2х64 і онлі бінарниками
 

 

на тазіку  оперативи нема гектарами тай не конче

є сенс x86 ставити,

 у такому випадку які дії?

Ссылка на сообщение
Поделиться на других сайтах
Опубліковано: (відредаговано)

як так?

 

GRANT ALL PRIVILEGES ON *.* TO 'somelogin'@'%' WITH GRANT OPTION;

Access denied for user 'root'@'localhost' (using password: YES)

 

мускула оновляв недавно

 

 

---------------------------------------------------------------------------

а так

все надав тільки на створення нових користувачів незміг надати права

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

cat юзерь на НАС

 

Warning: mysql_connect(): Connection refused in /etc/rscriptd/GetSpeed on li ne 5 Warning: mysql_select_db(): No such file or directory in /etc/rscriptd/ GetSpeed on line 6 Warning: mysql_select_db(): A link to the server could no t be established in /etc/rscriptd/GetSpeed on line 6 Warning: mysql_query(): No such file or directory in /etc/rscriptd/GetSpeed on line 8 Warning: mysq l_query(): A link to the server could not be established in /etc/rscriptd/Ge tSpeed on line 8 Warning: mysql_fetch_array() expects parameter 1 to be reso urce, boolean given in /etc/rscriptd/GetSpeed on line 9:8101

 

 

лог mysql мовчить на білінгу відносно юзеря для віддаленого насу

 

юзери в табличках 3 і 4

пайпи пусті

бо у /etc/stargazet/dh  замість швидкості ота лобуда що неможем законектитись до бд

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

 

Базу лиз нужно очистить, иначе не получит адрес

лог сислога у вас подрабатывает "базой лиз"?

 

 

Чем слушать то ???

Чем угодно.

 

http://en.wikipedia.org/wiki/Standard_streams

 

Логика подсказывает, что для этого отлично может подойти чото типа http://php.net/manual/en/features.commandline.io-streams.php

 

Итого:

1. висим такие, слушаем через пайп инпут

2. принимаем решения

3. все

 

 

tail -F /var/log/dhcpd.log | ./kostil.sh

#!/usr/local/bin/bash

while read line
do
 if [[ $line =~ 'no free leases' ]]
 then
   mv /var/db/dhcpd/dhcpd* /var/db/dhcpd/trash &&
   cp /var/log/dhcpd.log /opt/dhcpd.log &&
   cat /dev/null > /var/log/dhcpd.log
   /usr/local/etc/rc.d/isc-dhcpd restart
 fi

пойдет ?

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

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

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

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

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

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

Вхід

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

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

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

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

    • Від 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.
    • Від nightfly
      Ubilling 1.4.3 rev 9058 The Bladewood Grove
       
      Зміни в структурі БД. alter.ini: нові опції OPHANIMFLOW_ENABLED та OPHANIMFLOW_URLS котрі вмикають та керують інтеграцією з OphanimFlow. alter:ini: нова опція PHOTOSTORAGE_POSTPROCESSING, що вмикає післяобробку зображень при завантаженні в Сховище зображень. alter:ini: нова опція PHOTOSTORAGE_WATERMARK, що вмикає розміщення вотермарки на всіх зображеннях, що завантажуються. alter:ini: нова опція PHOTOSTORAGE_RECOMPRESS, що вмикає зміну компрессії завантажених зображень. alter:ini: нова опція PHOTOSTORAGE_AUTORESIZE, що вмикає автоматичне та лагідне масштабування зображень конячих розмірів. alter:ini: нова опція PHOTOSTORAGE_DRAWIMGINFO, що вмикає вдруковування в зображення відлагоджувальної інформації. alter.ini: нова опція ONDEMAND_CHARTS, що вмикає відкладене завантаження графіків завантаження користувацької смуги. userstats.ini: нова опція OPHANIM_ENABLED, що вмикає інтеграцію OphanimFlow в кабінеті користувача. Модуль Заздрість: тепер авторизаційні дані пристроїв, не відображаються в списку пристроїв. Модуль “Заздрість”: при створенні та редагуванні пристроїв, для полів “пароль” та “enable пароль” тепер використовуються інпути паролів. Модуль “Заздрість”: заздрісним пристроям додано нове поле “Порт”. Тепер в скриптах можна використовувати, відповідний макрос {PORT}. Модуль “Статистика трафіку користувача”: проведено радикальний рефакторинг. Модуль “Статистика трафіку користувача”: додано опційну можливість, відображення трафіку отриманого з OphanimFlow. Модуль “Статистика трафіку користувача”: виправлено проблему невірного відображення залишку коштів на кінець місяця, при використанні Ішимури. Модуль “Статистика трафіку користувача”: додано можливість відображення графіків за останню годину з OphanimFlow. Модуль “Користувачі”: додано опційну можливість, відображення трафіку отриманого з OphanimFlow. Модуль “Сховище зображень”: тепер додатково перевіряє завантажувані зображення на тему їх валідності. Модуль “Фінансові операції”: виправлено відображення суми платежів користувача. Remote API: новий виклик ophanimtraff, який просто бере і синхронізує локальну БД з віддаленими джерелами OphanimFlow. Remote API: виклик userbynum тепер також опційно містить поле з “Платіжним ID” користувача. Глобально: у всіх полях вводу паролів, окрім форми входу, тепер відображається елемент керування “показати/приховати” пароль. Кабінет користувача: в модулі “Трафік” додано опційну можливість, відображення трафіку отриманого з OphanimFlow. Кабінет користувача: в модулі “Трафік” виправлено проблему невірного відображення залишку коштів на кінець місяця, при використанні Ішимури. Кабінет користувача: в модулі “Відеоспостереження” для NVR WolfRecorder замінено розділювач попередньо заповнених даних авторизації. OpenPayz: додано frontend portmonemulti, для отримання платежів від різних контрагентів. Інформацію по контрагентам бере з біллінгу, також використовую розширену інформацію контрагента. Платіжна система в контрагенті мусить бути створена, як PORTMONE 1984tech: додано функціонал генерації RPZ для isc-bind, спасибі @misterromanbush  
      Повний чейнджлог
      Оновлена демка
       

    • Від mac
      Здається, після оновлення PHP 7.4 до PHP 8.2 feesharvester припинив працювати:
       
      /usr/local/bin/curl "http://127.0.0.1/billing/?module=remoteapi&key={SERIAL}&action=feesharvester" <br /> <b>Fatal error</b>: Uncaught TypeError: Unsupported operand types: string - string in {UBPATH}/billing/api/libs/api.fundsflow.php:570 Stack trace: #0 {UBPATH}/billing/modules/remoteapi/feesharvester.php(22): FundsFlow-&gt;harvestFees('2024-01') ...  
      Невеличке розслідування врешті з'ясувало, що це через наявність пробілу у деяких логінах абонентів. Як так сталося? Тому що інколи був неуважно додан трейлінг пробіл до номеру будинка і цей пробіл потрапив до логіну абоненту. Логін абоненту неможливо змінити ніяким чином штатними засобами. Я не розглядаю створення нового абонента для усунення помілки.

      Був обран такий шлях вирішення проблеми. Заміну функції php explode() знайшов у мережі. Мабуть це станеться в нагоді:

       
      diff api.fundsflow.php.bak api.fundsflow.php.new 559c559 < $eachfee = explode(' ', $eachline); --- > $eachfee = preg_split("~(?<!\\\\)(?:\\\\{2})*'[^'\\\\]*(?:\\\\.[^'\\\\]*)*'(*SKIP)(*F)|\s+~s" , $eachline);  
    • Від Zend
      Продам сабж.
      2 контроллера CA07336-C001, в каждом по одном интерфейсном модуле CA07336-C009 (2 x 1Gbps iSCSI)
      HDD: 24 x 900GB SAS 10K
      Исправен.
      С ним могу продать шкафчик того же вендора.
       
      Стоимость - $4000, торг
       


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