Перейти до

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


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

Хлопцi. Вибачайте, питання простi, але "щось тут не так".
1) не працюе интернет з lan`y до wan`y. Хоча б повинно :angry:
2) uhw не резолвить тобто не робить редирект при заходi на сайт. Хоча б повинно. :angry:
 

Для того, щоб интернет був у ланi - вказано "gateway_enable".

Для того, щоб робило редиректи при заходи на сайт - доступ вiдкрит до 8.8.8.8

em1 - интернет по дхцп, например 10.0.0.1/24

em0 - лан з користувачами

rc.conf

hostname="localho"
ifconfig_em1="DHCP"
gateway_enable="YES"
ifconfig_em0="172.17.0.1/24"
ifconfig_em0_alias0="inet 172.32.0.1 netmask 255.255.240.0"
cloned_interfaces="vlan7"
ifconfig_vlan7="inet 172.17.10.1/24 vlan 7 vlandev em0"

ifconfig_em2="10.0.3.15/24"
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="em0 vlan7"

ubilling_enable="YES"
ubilling_flags="em0"

#optional services
memcached_enable="NO"
memcached_flags="-l 127.0.0.1 -m 64"
radiusd_enable="NO"

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

# ==========

firewall.conf

#!/bin/sh

# firewall command
FwCMD="/sbin/ipfw -q"
${FwCMD} -f flush

# Interfaces setup
LAN_IF="em0"
WAN_IF="em1"

# Networks define
${FwCMD} table 2 add 172.17.0.0/24
${FwCMD} table 9 add 10.0.0.0/24

#NAT
${FwCMD} nat 1 config log if ${WAN_IF} reset same_ports
${FwCMD} add 6000 nat 1 ip from table\(2\) to not table\(9\) out xmit ${WAN_IF}
${FwCMD} add 6001 nat 1 ip from any to me in recv ${WAN_IF}

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

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

#Debtors forwarding
${FwCMD} add 4 allow ip from any to 8.8.8.8 via ${LAN_IF}
${FwCMD} add 4 allow ip from 8.8.8.8 to any via ${LAN_IF}
${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

#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


вывод ipfw show

root@localho:/usr/home/ubilling # ipfw show
00004    0      0 allow ip from any to 8.8.8.8 via em0
00004    0      0 allow ip from 8.8.8.8 to any via em0
00004    0      0 allow ip from table(2) to me dst-port 80 via em0
00004    0      0 allow ip from me to table(2) src-port 80 via em0
00005   12   1531 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    0      0 nat 1 ip from table(2) to not table(9) out xmit em1
06001  135  13936 nat 1 ip from any to me in recv em1
12000    0      0 pipe tablearg ip from table(3) to any via em0 in
12001    0      0 pipe tablearg ip from any to table(4) via em0 out
65535 2271 201601 allow ip from any to any

Відредаговано Qvent
Ссылка на сообщение
Поделиться на других сайтах
  • Відповіді 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

 

 

${FwCMD} table 9 add 10.0.0.0/24
 

вам действительно вся сеть нужна там?

проще сделайте её пустой или добавте ипишник WAN-a туда, а не сеть целеком

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

Вы правы, исправил, оставив только айпи вана.

 

${FwCMD} table 9 add 10.0.0.0/24
 

вам действительно вся сеть нужна там?

проще сделайте её пустой или добавте ипишник WAN-a туда, а не сеть целеком

 

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

Ну что, благодаря снапшотам в esxi, разобрался с первой проблемой. ДНС не те были указаны.

Также завелась переадресация  должников. Но а вот uhw, что-то выделывается, айпишки даёт, но не редиректит с сайтов.

 

Должники и uhw, в той форме что у меня, я так понял не могут "дружить"? либо то либо то?

 

 

 

firewall сейчас такой.

#!/bin/sh

# firewall command
FwCMD="/sbin/ipfw -q"
${FwCMD} -f flush

# Interfaces setup
LAN_IF="em0"
WAN_IF="em1"

# Networks define
${FwCMD} table 2 add 172.17.0.0/24
${FwCMD} table 9 add 10.0.0.0/24

#NAT
${FwCMD} nat 1 config log if ${WAN_IF} reset same_ports
${FwCMD} add 6000 nat 1 ip from table\(2\) to not table\(9\) out xmit ${WAN_IF}
${FwCMD} add 6001 nat 1 ip from any to me in recv ${WAN_IF}

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

${FwCMD} add 4 allow ip from any to 8.8.8.8 via ${LAN_IF}
${FwCMD} add 4 allow ip from 8.8.8.8 to any via ${LAN_IF}
${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

#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

# default block policy
${FwCMD} add 65533 deny all from table\(2\) to any via ${LAN_IF}
${FwCMD} add 65534 deny all from any to table\(2\) via ${LAN_IF}
${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 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

Відредаговано Qvent
Ссылка на сообщение
Поделиться на других сайтах
  • 2 weeks later...

Нужно поднять 20вланов.

Подскажите, по поводу firewall.conf верно ли будет указывать каждый интерфейс либо же можно как-то задать сразу диапазон?

#!/bin/sh

# firewall command
FwCMD="/sbin/ipfw -q"
${FwCMD} -f flush

# Interfaces setup
LAN_IF="re0"
WAN_IF="ste0"
VLAN2_IF="vlan2"
VLAN3_IF="vlan3"
VLAN4_IF="vlan4"
VLAN5_IF="vlan5"
VLAN7_IF="vlan7"
тут аналогично вланы от 8 до 17
VLAN18_IF="vlan18"
VLAN19_IF="vlan19"
VLAN20_IF="vlan20"


# Networks define
${FwCMD} table 2 add 172.17.0.0/24
${FwCMD} table 2 add 172.17.2.0/24
${FwCMD} table 2 add 172.17.3.0/24
${FwCMD} table 2 add 172.17.4.0/24
${FwCMD} table 2 add 172.17.5.0/24
тут айпи от 7до18
${FwCMD} table 2 add 172.17.19.0/24
${FwCMD} table 2 add 172.17.20.0/24



#NAT
${FwCMD} nat 1 config log if ${WAN_IF} reset same_ports
${FwCMD} add 6000 nat 1 ip from table\(2\) to not table\(9\) out xmit ${WAN_IF}
${FwCMD} add 6001 nat 1 ip from any to me in recv ${WAN_IF}

#Shaper - table 4 download speed, table 3 - upload speed
${FwCMD} add 12001 pipe tablearg ip from any to table\(4\) via ${LAN_IF} out
${FwCMD} add 12001 pipe tablearg ip from any to table\(4\) via ${VLAN2_IF} out
${FwCMD} add 12001 pipe tablearg ip from any to table\(4\) via ${VLAN3_IF} out
тут также вланы от 4до28
${FwCMD} add 12001 pipe tablearg ip from any to table\(4\) via ${VLAN29_IF} out
${FwCMD} add 12000 pipe tablearg ip from table\(3\) to any via ${LAN_IF} in
${FwCMD} add 12000 pipe tablearg ip from table\(3\) to any via ${VLAN2_IF} in
${FwCMD} add 12000 pipe tablearg ip from table\(3\) to any via ${VLAN3_IF} in
${FwCMD} add 12000 pipe tablearg ip from table\(3\) to any via ${VLAN4_IF} in
${FwCMD} add 12000 pipe tablearg ip from table\(3\) to any via ${VLAN5_IF} in
тут также от 7го до 28
${FwCMD} add 12000 pipe tablearg ip from table\(3\) to any via ${VLAN29_IF} in


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

Отличный мануал, но имелось ввиду именно правила ipfw, а не то что писать в rc.conf. В rc.conf всё прописал.

 

Кстати. Подскажите ubilling_flags за что отвечает?  Если у меня 20вланов, все их туда писать?

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

можно сделать конструкцию 

ipfw table 12000 tablearg ip from table\(4\) to any via "vlan*"

 

Отличный мануал, но имелось ввиду именно правила ipfw, а не то что писать в rc.conf. В rc.conf всё прописал.

 

Кстати. Подскажите ubilling_flags за что отвечает?  Если у меня 20вланов, все их туда писать?

 

ubilling_flags расчитан только на один ифейс

как варианто просто модифицировать rc скрипт

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

Подскажите.

 

Если взять одну сеть из "сети и услуги" и добавить её с несколькими разными названиями в услуги. Последствий с путаницей в системе потом не будет?

 

 

Мне нужно сеть например 1.1.1.1/24 несколькими разными названиями(например  улицой) назвать в услугах, чтобы при добавлении пользователя, выбирать нужное название.

Проблем же с всякими дублями или еще чем-то не должно быть?

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

Подскажите.

 

Если взять одну сеть из "сети и услуги" и добавить её с несколькими разными названиями в услуги. Последствий с путаницей в системе потом не будет?

 

 

Мне нужно сеть например 1.1.1.1/24 несколькими разными названиями(например  улицой) назвать в услугах, чтобы при добавлении пользователя, выбирать нужное название.

Проблем же с всякими дублями или еще чем-то не должно быть?

нет, там вроде заполнение сети смотрится непосредственно по самой сети, а не услуге

так что должно быть ок

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

Подскажите пожалуйста.

 

Если открыть порт 1919 для абона (172.17.0.99) методом:

ipfw add 11 allow tcp from any 1919 to 172.17.0.99 1919 
ipfw add 10 allow tcp from 172.17.0.99 1919 to any 1919

на абона продолжит своё действие ограничение скорости установленное согласно тарифу ? на всех портах или на всех кроме 1919?

 

Данный метод открытия порта верный? или есть более правильные методы с точки зрения freebsd?

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

Подскажите пожалуйста.

 

Если открыть порт 1919 для абона (172.17.0.99) методом:

ipfw add 11 allow tcp from any 1919 to 172.17.0.99 1919 
ipfw add 10 allow tcp from 172.17.0.99 1919 to any 1919

на абона продолжит своё действие ограничение скорости установленное согласно тарифу ? на всех портах или на всех кроме 1919?

 

Данный метод открытия порта верный? или есть более правильные методы с точки зрения freebsd?

открыть порт снаружи или только внутри сети?

если снаружи через нат - то нужно делать port forwarding и к вашим правилам отношения не имеет.

и вообще почитайте как фаервол работает - при прохождении пакета при (one_pass=1) при первом же правиле типо allow,pipe пакет проходит через него и вылетает из фаервола

т.е. разрешаете трафик до шейпинга - шейпится не будет, после шейпинга - будет применятся только если юзер в должниках и его выкинуло из таблиц 3 и 4.

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

Привіт , є можливість зробити звіт про використання модулю "живи з цим " ?

+   і перевірка на створенні завдання , щоб не дублювалися іншим адміном  :D

Відредаговано kissbohda
Ссылка на сообщение
Поделиться на других сайтах
  • 2 weeks later...

С праздниками всех.

Подскажите решения проблемы со старгейзером:

 

2016-01-07 17:31:36 -- Cannot read tariff 18MB.
2016-01-07 17:31:36 -- Cannot read tariff 18MB. Parameter Period
2016-01-07 17:31:36 -- Cannot read user VNLR130ap533_x854. Tariff 6MB not exist.
2016-01-07 17:31:36 -- USERS: Error: Cannot read users!
 
Скрипты конекта к насу немного покуражены под себя, но работали без проблем до переезда.
Ссылка на сообщение
Поделиться на других сайтах

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

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

Яхху! Я хоть кого-то научил использовать хотя бы ctrl-F по FAQ-у :)

 

К сожалению имел большой интерес к документации еще года два назад ... Не думал, что в факе имеет место быть такой случай.

Может быть мне попробовать написать абзац об восстановлении из бекапа в разделе "бекапалка". Или это банально просто и не интересно?

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

 

Яхху! Я хоть кого-то научил использовать хотя бы ctrl-F по FAQ-у :)

 

К сожалению имел большой интерес к документации еще года два назад ... Не думал, что в факе имеет место быть такой случай.

Может быть мне попробовать написать абзац об восстановлении из бекапа в разделе "бекапалка". Или это банально просто и не интересно?

 

видео есть . 

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

3sQ4wHA.png

3sQ3wwW.png

перший скрін то білінг (172.16.0.1)

другий кілєнт  172.16.23.44

 

Хлопці туплю, але не пойму де

підкажіть а?

бо сторінка відкривається з середини пів години

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

Що треба: Розділити абонбазу з одного на два різні Убілінги. (непитайте нах, любий каприз за ваші гроші якто кажуть :) )

Що я зробив, тупо влив всю базу stg і в табличці users  зніс лишне, поки виглядає все ок.

 

чим череватий може бути такий маневр у майбутньому?

 

може є кращі методи? порадьте

Дякую

 

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

Підозрюю, що треба пробігтися по  ...  табличках і грохнути записи з логінами яких немає в табличці users

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

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

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

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

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

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

Вхід

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

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

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

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

    • Від 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, торг
       

    • Від Dilan
      Собственно ищу кто сделает такую связку с нуля под ключ. Тз высылаю в личку. Заранее спасибо.

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