Jump to content

NAS сервер Bandwidthd Хелп


Recommended Posts

Всем привет.

Это снова я с просьбой о помощи.

 

Описание:

ОС: Linux Ubuntu Server 10.10 x64

Stargazer DHCP Ubilling Rscriptd Bandwidthd

 

Сервер с stargazer: 172.16.0.1 - Тут же и dhcp и ubilling

Ещё есть интерфейс eth0 с выходом в мир ip: 192.168.1.163

 

Сервер с rscriptd: 172.16.0.2 - тут же и bandwindthd и NAT

Ещё есть интерфейс eth0 с выходом в мир ip: 192.168.1.2

 

 

OnConnect на Stargazer (172.16.0.1):

#!/bin/bash
# Login
user=$1
ip=$2
cash=$3
eth=eth0
eth_local=eth1
mir=192.168.1.2
iptables -t filter -A INPUT   -s $ip -j ACCEPT > /dev/null
iptables -t filter -A FORWARD -s $ip -j ACCEPT > /dev/null
iptables -t filter -A FORWARD -d $ip -j ACCEPT > /dev/null
iptables -t filter -A OUTPUT  -d $ip -j ACCEPT > /dev/null
iptables -D FORWARD -i $eth_local -s $ip -j DROP > /dev/null
while [ $? -eq 0 ]
do
   iptables -D FORWARD -i $eth_local -s $ip -j DROP > /dev/null
done
iptables -D FORWARD -o $eth_local -d $ip -j DROP > /dev/null
while [ $? -eq 0 ]
do
   iptables -D FORWARD -o $eth_local -d $ip -j DROP > /dev/null
done
iptables -t nat -A POSTROUTING -s $ip -o $eth -j SNAT --to-source $mir > /dev/null

 

 

OnDisconnect на Stargazer (172.16.0.1):

#!/bin/bash
user=$1
ip=$2
eth=eth0
eth_local=eth1
mir=192.168.1.2 
iptables -t filter -D INPUT -s $ip -j ACCEPT > /dev/null
while [ $? -eq 0 ]
do
   iptables -t filter -D INPUT -s $ip -j ACCEPT > /dev/null
done
iptables -t filter -D FORWARD -s $ip -j ACCEPT > /dev/null
while [ $? -eq 0 ]
do
   iptables -t filter -D FORWARD -s $ip -j ACCEPT > /dev/null
done
iptables -t filter -D FORWARD -d $ip -j ACCEPT > /dev/null
while [ $? -eq 0 ]
do
   iptables -t filter -D FORWARD -d $ip -j ACCEPT > /dev/null
done
iptables -t filter -D OUTPUT -d $ip -j ACCEPT > /dev/null
while [ $? -eq 0 ]
do
   iptables -t filter -D OUTPUT -d $ip -j ACCEPT > /dev/null
done
iptables -t nat -D POSTROUTING -s $ip -o $eth -j SNAT --to-source $mir > /dev/null
while [ $? -eq 0 ]
do
   iptables -t nat -D POSTROUTING -s $ip -o $eth -j SNAT --to-source $mir > /dev/null
done
iptables -I FORWARD -i $eth_local -s $ip -j DROP > /dev/null
iptables -I FORWARD -o $eth_local -d $ip -j DROP > /dev/null

 

DHCP настройки dhcpd.conf:

option domain-name "isp";
option domain-name-servers 172.16.0.1;
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 {
subnet 172.16.0.0 netmask 255.255.192.0 {
default-lease-time 3600;
option domain-name "ourisp";
option subnet-mask 255.255.192.0;
option routers 172.16.0.2;
include "/etc/dhcp3/multinet/ethernet.conf";
}
}

 

 

 

:::::::NAS:::::::

 

OnConnect и OnDisconnect на сервере NAS (172.16.0.2) используются стандартные из Ubilling единственно что заменил так это:

 

LOGIN=$1
IP=$2
CASH=$4
ID=$3

 

 

NAT на 172.16.0.2:

#!/bin/sh
# Включаем форвардинг пакетов
echo 1 > /proc/sys/net/ipv4/ip_forward
# Разрешаем трафик на loopback-интерфейсе
iptables -A INPUT -i lo -j ACCEPT
# Разрешаем доступ из внутренней сети наружу
iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
# Включаем NAT
iptables -t nat -A POSTROUTING -o eth0 -s 172.16.0.0/18 -j MASQUERADE
# Разрешаем ответы из внешней сети
iptables -A FORWARD -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
# Запрещаем доступ снаружи во внутреннюю сеть
iptables -A FORWARD -i eth0 -o eth1 -j REJECT

 

 

 

 

 

В итоге Ubilling пишет что:

Нету графичков из-за того что не найден сервер доступа с bandwidthd для сети пользователя

 

но если зайти на nas 172.16.0.2/band/

То там можно увидеть графики по подключениям и расходу трафика.. - т.е. Bandwidthd работает.

 

А в логах у rscriptd:

cat /var/log/rscriptd.log
2011-11-03 10:51:21 -- rscriptd v. 2.407-p1
2011-11-03 10:51:21 -- Message queue created successfully. msgKey=5555 msgID=163840
2011-11-03 10:51:21 -- rscriptd started successfully.
2011-11-03 10:51:21 -- +++++++++++++++++++++++++++++++++++++++++++++

 

Не пойму в чём дело.. что я не так сделал?

Помогите пожалуйста новичку :)

Link to post
Share on other sites

Сорри, забыл ещё показать что у меня в stargazer'e

 

stargazer.conf:

################################################################################
#						Stargazer Configuration file						  #
################################################################################

# путь к логфайлу
LogFile = /var/log/stargazer.log

# путь к pid
PIDFile = /var/run/stargazer.pid

# файл с описанием класов трафика
Rules = /etc/stargazer/rules

# время записи детальной статистики в базу
DetailStatWritePeriod = 1/4

# время сброса счетчиков трафика в базу
StatWritePeriod = 10

# день снятия абонплаты
DayFee = 1

# это последний день месяца?
DayFeeIsLastDay = no

# день обнуления счетчиков трафика
DayResetTraff = 1

# "размазанное" снятие абонплаты
SpreadFee = no

# позволять пользователю доступ если у него остался предоплаченый трафик?
FreeMbAllowInet = no

# писать стоимость предоплаченого трафика?
WriteFreeMbTraffCost = yes

# снимать полную абонплату ежемесячно?
FullFee = yes

# названия класов трафика относительно /etc/stargazer/rules
<DirNames>
 DirName0 = Internet
 DirName1 = External
 DirName2 =
 DirName3 =
 DirName4 =
 DirName5 =
 DirName6 =
 DirName7 =
 DirName8 =
 DirName9 =
</DirNames>
ExecutersNum = 1

# путь модулей
ModulesPath = /usr/lib/stg

# модуль хранения данных
<StoreModule store_mysql>
# хост MySQL
 dbhost = localhost
# имя базы
 dbname = stg
# логин пользователя MySQL
 dbuser = root
# пароль пользователя MySQL
 rootdbpass = *******
</StoreModule>
<Modules>

# модуль авторизации AlwaysOnline (рекомендуется)
<Module auth_ao>
</Module>

# модуль авторизации штатного авторизатора stargazer
<Module auth_ia>
 Port = 5555
 UserDelay = 60
 UserTimeout = 65
 FreeMb = cash
</Module>

# модуль коллектора трафика NetFlow
<Module conf_sg>
 Port = 5555
</Module>
</Modules>

<Module remote_script>
SendPeriod = 10
SubnetFile =/etc/stargazer/remote_nas.conf
Password = 123456
UserParams=Cash Tariff
Port = 9999
</Module>

 

/etc/stargazer/remote_nas.conf :

172.16.0.0/18 192.168.1.2

 

 

 

 

 

И в rscriptd на 172.16.0.2 :

 

LogFileName=/var/log/rscriptd.log
ExecutersNum=1
ConfigDir=/etc/rscriptd
Password=123456
Port=9999
UserTimeout=60
ScriptOnConnect=/etc/rscriptd/OnConnect
ScriptOnDisconnect=/etc/rscriptd/OnDisconnect

Link to post
Share on other sites

мм.. 36 просмотров темы и ни кто не поможет?((

Может я как то не правильно вопрос поставил...

Скрипты для onconnect и ondisconnect я брал с этого форума...

nat сделал сам.. но я так понимаю он кривой ибо просто пробрасывает все сеть .... обходя всякие там проверки...

 

Я не понимаю как сделать NAS ибо основная документация на freeBsd...

Link to post
Share on other sites

Нету графичков из-за того что не найден сервер доступа с bandwidthd для сети пользователя

а сам NAS для нужной подсети добавили? Там логика простая - если для подсети в которой находится пользователь есть NAS с установленным параметром "Bandwidthd URL" берутся и показываються его графички. То что пользователь принадлежит некой сети определяется методом развертывания сети multinet от "start IP" до "end IP" и сопоставлением развернутого масива с пользовательской IP.

Link to post
Share on other sites

Нету графичков из-за того что не найден сервер доступа с bandwidthd для сети пользователя

а сам NAS для нужной подсети добавили? Там логика простая - если для подсети в которой находится пользователь есть NAS с установленным параметром "Bandwidthd URL" берутся и показываються его графички. То что пользователь принадлежит некой сети определяется методом развертывания сети multinet от "start IP" до "end IP" и сопоставлением развернутого масива с пользовательской IP.

 

т.е. Я в /etc/stargazer/remote_nas.conf

Добавляю только подсеть? (172.16.0.0/18)

Link to post
Share on other sites
я всё делал по этой статье: http://wiki.ubilling...ubuntuserver104

документация по линуксу мягко говоря не актуальна

 

т.е. Я в /etc/stargazer/remote_nas.conf

Добавляю только подсеть? (172.16.0.0/18)

 

Туда нифига руками добавлять не надо - оно заполняется автоматически при изменениях в модуле "NAS-ы" и должно быть симлинкнуто например так:

ln -fs /usr/local/www/data/billing/remote_nas.conf /etc/stargazer/remote_nas.conf

 

Также в billing.ini есть опция отвечающая за отсылку SIGHUP старгейзеру в случае изменения NAS-ов. Тобишь весь процес добавления/удаления серверов доступа таки автоматизирован. Определение возможности показа поюзерных графичков завязано только на данные в модуле конфигурации NASов и подсети пользователей.

 

UPD Посмотрите что-ли в демке как это все работает.

Link to post
Share on other sites
я всё делал по этой статье: http://wiki.ubilling...ubuntuserver104

документация по линуксу мягко говоря не актуальна

 

т.е. Я в /etc/stargazer/remote_nas.conf

Добавляю только подсеть? (172.16.0.0/18)

 

Туда нифига руками добавлять не надо - оно заполняется автоматически при изменениях в модуле "NAS-ы" и должно быть симлинкнуто например так:

ln -fs /usr/local/www/data/billing/remote_nas.conf /etc/stargazer/remote_nas.conf

 

Также в billing.ini есть опция отвечающая за отсылку SIGHUP старгейзеру в случае изменения NAS-ов. Тобишь весь процес добавления/удаления серверов доступа таки автоматизирован. Определение возможности показа поюзерных графичков завязано только на данные в модуле конфигурации NASов и подсети пользователей.

 

UPD Посмотрите что-ли в демке как это все работает.

хм...

А у меня в /var/www/billing/remote_nas.conf ни чего не пишется...((

 

В billing.ini

STGNASHUP=1

 

документация по линуксу мягко говоря не актуальна

И как тогда быть.. =(

Link to post
Share on other sites
А у меня в /var/www/billing/remote_nas.conf ни чего не пишется...((

должно писаться при выборе типа NAS-a - rscriptd, также проверьте права на файл.

Link to post
Share on other sites
А у меня в /var/www/billing/remote_nas.conf ни чего не пишется...((

должно писаться при выборе типа NAS-a - rscriptd, также проверьте права на файл.

Права выствил chmod a+x да и 777 тож пробовал..

 

должно писаться при выборе типа NAS-a - rscriptd

т.е. там по стандарту стоит rscriptd - и всё ровно нужно ткнуть менюшку? - Завтра домой привезу сервер попробую =)

Link to post
Share on other sites

Кстати, версия надеюсь 0.1.8?

 

Ubilling - 0.1.8 rev 815

Скачал с офф сайта..

 

Походу дело было всётаки в chmod.. сделал на всю папку billing 777 и в файл remote_nas.conf добавилась запись..

Но результатов это не дало)))

Графика как не было так и нет и пишет то же самое про сервер доступа..

Link to post
Share on other sites

Сервер доступа хотябы показывается в модуле "Отчет по трафику"?

Да написано его название но ни каких данных о трафике нет.. просто предлагает посмотреть трафик - день неделя месяц год... но ни по одному из пунктов нет отчёта.. жмешь на ссылку "День" и открывается затемнённая страничка и грузиться но не прогружает ни чего просто пусто... написано Отгружено - загружено

Link to post
Share on other sites

В итоге нашли проблему которую я сам и создал =)

Ошибся в разделе сети... и первая ошибка была то что я не выставил права на файлы в папке billing...

Всем спасибо. Скоро я вернусь)))

Link to post
Share on other sites
  • 10 years later...
3 часа назад, Oleg2018 сказав:

Извините за вопрос как правильно прописать ссылку на Bandwindthd если у меня удаленный NAS (Cisco ASR1002)

Я что-то пропустил? А что, уже ASR-ки научились рисовать какие-то per-user графички? Правда? :)
 

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...