Перейти до

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 користувачів

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

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

    • Від 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.

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