Користувальницькькі налаштування

Налаштування сайту


setupubuntuserver1010

Розбіжності

Тут показані розбіжності між вибраною ревізією та поточною версією сторінки.

Посилання на цей список змін

Порівняння попередніх версій Попередня ревізія
setupubuntuserver1010 [2023/06/15 20:36]
nightfly знищено
— (поточний)
Рядок 1: Рядок 1:
-**Установка Stargazer+Ubilling на Ubuntu Server 10.10** 
- 
-====== Установка требуемого внешнего ПО на сервер с Ubilling ====== 
- 
-<code> 
-apt-get install mysql-server-core-5.1 mysql-client-core-5.1 libmysqlclient16 libmysqlclient-dev apache2 mysql-server expat libexpat-dev php5-cli libapache2-mod-php5 php5-mysql dhcp3-server build-essential bind9 bandwidthd softflowd 
-</code> 
-При установке программ вас попросят ввести пароль для root от mysql. 
- 
- 
-**Включаем мод в php:** 
-<code>a2enmod php5</code> 
- 
-**Редактируем /etc/sudoers** 
-<code> 
-User_Alias BILLING = www-data 
-BILLING          ALL = NOPASSWD: ALL 
-</code> 
- 
- 
-**Делаем симлинк на Bandwindthd** 
-<code> 
-ln -fs /var/lib/bandwidthd/htdocs/ /var/www/band 
-</code> 
- 
- 
-======= Установка IPSET  ======= 
- 
-**1. Качаем архив IPSET 4.x версии он нормально работает на Maverick (в последних версиях 12.04 можно установить через apt-get install ipset)** 
-[[http://ipset.netfilter.org/install.html]] 
- 
-**2. Распаковываем: ** 
-<code>tar -xf ipset-4.5.tar.bz2</code> 
- 
-**3. Заходим в папку собираем и включаем:** 
-<code> 
-cd ipset-4.5/ 
- 
-make && make install && make clean 
- 
-depmod && depmod -A 
-modprobe ip_set 
-</code> 
-Всё должно пройти без ошибок.  
- 
-И собственно всё.. Ipset уже готов служить вам =) 
- 
-======= Установка и настройка Htb ======= 
- 
-0. Качаем Htb: [[http://sourceforge.net/projects/htbinit/]] 
- 
-1. В скрипте htb.init проверяем и корректируем по вкусу переменные HTB_PATH, HTB_CACHE, TC, IP, MP. 
- 
-2. <code>cp htb.init /etc/init.d/htb</code>  и делаем <code>update-rc.d htb defaults</code> 
- 
-3. cd /etc/sysconfig/htb <code>  
-touch eth0 
-touch eth1 
-touch eth0-2.root 
-touch eth1-2.root 
-</code> 
- 
- 
-nano eth0 <code>  
-DEFAULT=0 
-R2Q=100 
-</code> 
- 
-nano eth1  
-<code> 
-DEFAULT=0 
-R2Q=100 
-</code> 
- 
-nano eth0-2.root 
-<code> 
-RATE=100Mbit 
-CEIL=100Mbit 
-</code> 
- 
-nano eth1-2.root 
-<code> 
-RATE=100Mbit 
-CEIL=100Mbit 
-</code> 
- 
-**Проверить работу скрипта htb.init, кроме спидтестов, можно просмотром конфигурации командами:** 
-<code> 
-tc class show dev ВАШ_ИНТЕРФЕЙС 
-tc qdisc show dev ВАШ_ИНТЕРФЕЙС 
-</code> 
- 
- 
- 
-======= Установка Stargazer ======= 
-<code> 
-mkdir /root/BILLING 
-cd /root/BILLING 
-wget http://stg.dp.ua/download/server/2.407-p1/stg-2.407-p1.tar.gz 
-tar zxvf stg-2.407-p1.tar.gz 
-cd stg-2.407-p1/projects/stargazer/ 
-./build 
-make install 
-cd ../sgconf && ./build && make && make install 
-cd ../sgconf_xml/ && ./build && make && make install 
-</code> 
- 
- 
- 
- 
-======= Редактирование конфигов и настройка опций ======= 
- 
- 
-**Редактируем конфиг /etc/stargazer/stargazer.conf** 
-__Вот здесь очень сомнительное место. Возможно стоит его не рассматривать.__ 
-Сделайте симлинк на cap_nf и remote_script из /etc/stargazer/conf-available.d/ в /etc/stargazer/conf-enabled.d/ 
-и желательно удалить линк на cap_ether говорят он не вменяемый =) 
-И давайте сразу создадим директорию под логи - для удобства: 
- 
-<code> 
-rm /etc/stargazer/conf-enabled.d/mod_cap_ether.conf 
-ln -fs /etc/stargazer/conf-available.d/mod_remote_script.conf /etc/stargazer/conf-enabled.d/ 
-mkdir /etc/stargazer/log/ 
-</code> 
-__ 
-Конец сомнительного места.__ 
- 
-<code> 
-################################################################################ 
-#                        Stargazer Configuration file                          # 
-################################################################################ 
- 
-# путь к логфайлу 
-LogFile = /etc/stargazer/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 = Local 
-  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> 
- 
-<Module cap_nf> 
-      TCPPort = 42111 
-      UDPPort = 42111 
-</Module> 
- 
-</Modules> 
- 
- 
- 
- 
-</code> 
- 
- 
- 
-**Редактируем конфиг /etc/stargazer/rules** 
-<code> 
- 
-ALL     172.16.0.0/18   DIR1 
-ALL     0.0.0.0/      DIR0 
- 
-</code> 
- 
- 
-**И так первый запуск stargazer'a:** 
-<code>stargazer</code> 
- 
-**Теперь проверим создались ли базы в MySQL** 
-<code>mysql -u root -p stg -e "SHOW TABLES"</code> 
- 
-В ответ должны увидеть это: 
-<code> 
-Tables_in_stg 
- 
-admins 
-messages 
-stat 
-tariffs 
-users 
-</code> 
- 
- 
-**Выключаем stargazer:** 
-<code>killall stargazer</code> 
- 
-**Теперь можно приступить к установке Ubilling'a** 
- 
-<code>cd /var/www/ 
-mkdir billing 
-cd billing 
-wget http://ubilling.net.ua/ub.tgz 
-tar zxvf ub.tgz 
-</code> 
- 
-**Тут у меня возникала проблема с правами на файлы..** 
-<code> 
-chmod -R 0777 content/ config/ multinet/ exports/ remote_nas.conf vservices.php 
-</code> 
- 
- 
-**Заливаем дамп mysql из ubilling:** 
-<code>cat /var/www/billing/docs/test_dump.sql | mysql -u root -p stg</code> 
- 
-**Проверяем что дамп залит:** 
-<code>mysql -u root -p stg -e "SHOW TABLES"</code> 
-В ответ увидим много таблиц: 
-<code> 
-+-----------------+ 
-| Tables_in_stg | 
-+-----------------+ 
-| address | 
-| admins | 
-| ahenassign | 
-| apt | 
-| build | 
-| cardbank | 
-| cardbrute | 
-| cashtype | 
-| cfitems | 
-| cftypes | 
-| city | 
-| contracts | 
-| contrahens | 
-| cpe | 
-| cpetypes | 
-| dhcp | 
-| directions | 
-| dshape_time | 
-| emails | 
-| employee | 
-| jobs | 
-| jobtypes | 
-| logs_11_2011 | 
-| messages | 
-| modem_templates | 
-| modems | 
-| nas | 
-| nethosts | 
-| networks | 
-| notes | 
-| payments | 
-| phones | 
-| realname | 
-| services | 
-| servtariff | 
-| speeds | 
-| stat | 
-| street | 
-| switches | 
-| switchmodels | 
-| tags | 
-| tagtypes | 
-| tariffs | 
-| taskman | 
-| userreg | 
-| users | 
-| userspeeds | 
-| vcash | 
-| vcashlog | 
-| vservices | 
-| weblogs | 
-+-----------------+ 
-</code> 
- 
-**Редактируем конфиг в ubilling: /var/www/billing/config/mysql.ini** 
- 
-<code> 
-;Хост БД 
-server = "localhost" 
-;порт MySQL 
-port = "3306" 
-;логин пользователя MySQL 
-username = "root" 
-;его пароль 
-password = "ваш_пароль" 
-;имя базы 
-db = "stg" 
-character = "UTF8" 
-prefix = "billing"</code> 
- 
-**Редактирем конфиг в ubilling /var/www/billing/config/billing.ini** 
-<code> 
-; метод взаимодействия со stargazer 
-baseconf = sgconfxml 
- 
-; путь к sgconf  
-SGCONF=/usr/sbin/sgconf 
- 
-; путь к sgconf_xml 
-SGCONFXML=/usr/sbin/sgconf_xml 
- 
-; хост на котором запущен stargazer 
-STG_HOST=localhost 
- 
-; порт конфигуратора 
-STG_PORT=5555 
- 
-; порт XMLRPC 
-XMLRPC_PORT=8081 
- 
-; логин администратора stargazer (по умолчанию admin) 
-STG_LOGIN=admin 
- 
-; пароль администратора stargazer (по умолчанию 1234567) 
-STG_PASSWD=123456 
- 
-;Пути окружения 
-;путь к sudo 
-SUDO=/usr/bin/sudo 
- 
-;путь к top в пакетном режиме 
-TOP = /usr/bin/top -b -n1 
- 
-;путь к cat 
-CAT=/bin/cat 
- 
-;путь к grep  
-GREP=/bin/grep 
- 
-;путь к RC скрипту isc-dhcpd 
-RC_DHCPD=/etc/init.d/dhcp3-server 
- 
-STGPID=/var/run/stargazer.pid 
- 
-;путь к uptime 
-UPTIME=/usr/bin/uptime 
- 
-;путь к ping 
-PING=/bin/ping 
- 
-;путь к PHPSysInfo 
-PHPSYSINFO=phpsysinfo/ 
- 
-STGNASHUP=1  
- 
-;язык по умолчанию 
-LANG = ru 
- 
-;размер иконок в "панели задач" 
-TASKBAR_ICON_SIZE = 64 
- 
-; опции регистрации новых пользователей 
-; регистрировать новых пользователей со случайным MAC 
-REGRANDOM_MAC=1 
- 
-; регистрировать новых пользователей с флагом "Всегда онлайн" 
-REGALWONLINE=1 
- 
-; регистрировать новых пользователей с отключенной детальной статистикой 
-REGDISABLEDSTAT=1 
- 
-</code> 
- 
- 
-**Не забываем указать путь на будующий "лог файл" от dhcpd /var/www/billing/config/alter.ini** 
-<code>NMLEASES = /var/log/dhcpd.log 
-</code> 
- 
- 
-**Создаём симлинки на каталог и файл - без них ни чего не заработает =)** 
-<code> 
-ln -fs /var/www/billing/multinet/ /etc/dhcp3/multinet 
-ln -fs /var/www/billing/remote_nas.conf /etc/stargazer/remote_nas.conf 
-</code> 
- 
- 
- 
-**Копируем стандартные скрипты из Ubilling в stargazer и выставляем на них права.** 
-<code> 
-cp -f /var/www/billing/docs/presets/Linux/etc/* /etc/stargazer/ 
-chmod a+x /etc/stargazer/* 
-</code> 
- 
- 
-**Редактируем /etc/stargazer/config для подключения к базе stg** 
-<code> 
-host = localhost 
-username = root 
-password = ваш_проль 
-database = stg 
-</code> 
- 
- 
- 
-**Запускаем stargazer** 
-<code>stargazer</code> 
- 
- 
- 
- 
-====== Создание зоны .isp, редактирование хостов и DHCP ====== 
- 
-** Редактируем файл /etc/bind/named.conf ** 
-<code> 
-include "/etc/bind/named.conf.options"; 
-include "/etc/bind/named.conf.local"; 
-include "/etc/bind/named.conf.default-zones"; 
- 
-zone "isp" { 
-  type master; 
-  file "/etc/bind/db.isp"; 
-}; 
- 
-</code> 
- 
- 
-**Создаём файл и редактируем его** 
-<code> 
-cd /etc/bind/ 
-touch db.isp 
-nano db.isp 
-</code> 
- 
- 
-**Содержимое /etc/bind/db.isp** 
-<code> 
-$TTL 3h 
-@ IN SOA billing.isp. root.billing.isp. 1 1d 12h 1w 3h 
- 
-isp. IN NS billing.isp. 
- 
-billing A          172.16.0.1 #Биллинг 
-stat    A          172.16.0.1 #Личный кабинет 
-nas1    A          172.16.0.1 #Сервер Bandwidthd 
- 
-</code> 
- 
-** Редактируем /etc/bind/named.conf.options ** 
-<code> 
-acl isp { 
-        172.16.0.0/18; 
-        }; 
-options { 
-        directory "/var/cache/bind"; 
- 
-        auth-nxdomain no;    # conform to RFC1035 
-        listen-on-v6 { any; }; 
-        allow-query {"isp";}; 
-}; 
- 
-</code> 
- 
- 
-**Настройка хостов в Apache2 /etc/apache2/site-enabled/000-default -Приводим содержимое в данный вид:** 
-<code> 
-<VirtualHost *:80> 
-ServerName billing.isp 
-DocumentRoot "/var/www/billing/" 
-AddDefaultCharset utf-8 
-</virtualhost> 
- 
- 
-<VirtualHost *:80> 
-ServerName stat.isp 
-DocumentRoot "/var/www/billing/userstats/" 
-AddDefaultCharset utf-8 
-</virtualhost> 
- 
-<VirtualHost *:80> 
-ServerName nas1.isp 
-DocumentRoot "/var/www/band/" 
-AddDefaultCharset utf-8 
-</virtualhost> 
-</code> 
- 
-**Настройка DHCP 
-Чтобы dhcp заработал нужно отредактировать /etc/default/dhcp3-server** 
-<code> 
-INTERFACES="eth1" 
-</code> 
-Это интерфейс на котором у нас в дальнейшем будут раздаваться IP адреса для абонентов. 
- 
- 
-**Редактируем /etc/dhcp3/dhcpd.conf** 
-<code> 
-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.1; 
-include "/etc/dhcp3/multinet/ethernet.conf"; 
-} 
-} 
-</code> 
- 
- 
-**Для того чтобы логировать не известные МАК'и настрим логирование /etc/rsysctl.conf или он может называться /etc/sysctl.conf Сталкивался с разным названием)) :** 
-<code> 
-!dhcpd 
- *.*                       /var/log/dhcpd.log 
-</code> 
- 
- 
-** Делаем шаманское движение, без которого в Ubuntu у вас не получится заставить dhcpd юзать каталог multinet ** 
- 
-Редактируем nano /etc/apparmor.d/usr.sbin.dhcpd3 
-Добавляем туда следующее: 
-<code> 
-/var/www/billing/multinet/ r, 
-/var/www/billing/multinet/** r, 
-</code> 
- 
- 
-**После чего перезапускаем службы:** 
-<code> 
-/etc/init.d/rsysctl restart или /etc/init.d/rsyslog restart 
-/etc/init.d/bind9 restart 
-/etc/init.d/apache2 restart 
-/etc/init.d/dhcp3-server restart 
-</code> 
- 
- 
- 
- 
- 
- 
-======= Переходим к web интерфейсу - Настройка ======= 
- 
-** 
-http://billing.isp/ 
-Login: admin Password: demo (Желательно сменить пароль)** 
- 
- 
-**1. Добавляем классы трафика.** 
-<code> 
-Справочники ---> Классы трафика:  
- 
-№.0 Название класса: Интернет 
-№.1 Название класса: Локалка 
-</code> 
- 
- 
-**2. Добавляем сети.** 
-<code> 
-Справочники ---> Сети 
- 
-Начальная ІР: 172.16.0.11 Последний ІР: 172.16.63.255 
-Тип сети: dhcpstatic 
-Network/CIDR: 172.16.0.0/18 
- 
-Услуги. 
-Название услуги: Интернет 
-</code> 
- 
- 
-**3. Создаём правило раздачи DHCP** 
-<code> 
-Справочники ---> DHCP 
- 
-Сеть: 172.16.0.0/18 
-Имя конфига DHCP: ethernet.conf 
-</code> 
-<code> 
-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 { 
-{SUBNETS} 
-} 
-</code> 
- 
- 
- 
-**Создаём безлимитный тариф.** 
-<code> 
-Справочники ---> Тарифы 
-Создать новый тариф 
- 
-Название тарифа: Unlim-1 
-Абонплата: 50 
-Предоплаченный трафик: 0 
-Подсчет трафика: up+down 
-Стоимость заморозки: 10 
-Цена не зависит от времени: Ставим галочку 
-Без порога: Ставим галочку 
-</code> 
- 
- 
-**5. Делаем ограничение по скорости для нашего тарифа.** 
-<code> 
-Справочники ---> Скорость тарифов 
- 
-Делаем скоростные ограничения 1мб/c 
-Скорость загрузки: 1024 
-Скорость отгрузки: 1024 
-</code> 
- 
- 
-**Добавляем наш будущий сервер доступа "NAS"** 
-<code> 
-Справочники ---> Сервера доступа (NAS) 
- 
-Сеть: 172.16.0.0/18 
-Тип сервера доступа: rscriptd 
-IP: 172.16.0.1 
-Имя сервера доступа: nas1 
-Ссылка на Bandwidthd: http://nas1.isp/ 
-</code> 
- 
-======= Скрипты автозапуска ======= 
- 
-** Создаём файл в /etc/init.d/ и редактируем его** 
-<code> 
-touch /etc/init.d/bil 
-chmod a+x /etc/init.d/bil 
-nano /etc/init.d/bil 
-</code> 
- 
-** Содержимое /etc/init.d/bil ** 
-<code> 
- 
-#!  /bin/sh 
-# /etc/init.d/bil 
- 
-######################################################################## 
-######################## Конфигурация путей ############################ 
- 
-HTB="/etc/init.d/htb" #Путь к шейперу 
-IPT="/sbin/iptables" # Путь до IPTABLES 
-IPS="/usr/local/sbin/ipset" # Путь до IPSET 
-WAN_IP="ВАШ_ВНЕШНИЙ_IP" #IP адрес внешнего интерфейса 
-IF_WORLD="eth0" #Интерфейс смотрящий в грешный мир 
-SQL="/etc/init.d/mysql" # Путь до init.d скрипта MySQL 
-WEB="/etc/init.d/apache2" #  Путь до init.d скрипта Apache2 
-DHCP="/etc/init.d/dhcp3-server" # Путь до init.d скрипта Dhcp3-server 
-BAND="/etc/init.d/bandwidthd" # Путь до init.d скрипта Bandwindthd 
-STAR="/usr/sbin/stargazer" # Путь до bin файла stargazer 
-SOFTD="/etc/init.d/softflowd" #  Путь до init.d скрипта  Softflowd 
-#Softflowd для разных подсетей 
-SOFT="/usr/sbin/softflowd -i eth1 -n 127.0.0.1:42111" # Тут указываем интерфейс на котором висят пользователи (eth1) 
- 
-######################################################################## 
-# Что будет происходить и запускаться при старте: (Конфигурация запуска) 
-######################################################################## 
- case "$1" in 
-   start) 
- 
-echo "###################################################################################" 
-echo "###################################################################################" 
-echo "########################### Запускаем Биллинговую систему #########################" 
-echo "###################################################################################" 
-echo "###################################################################################" 
- 
-#Перезапускаем MySql, Apache, Dhcp3-server 
-$SQL restart 
-$WEB restart 
-$DHCP restart 
- 
-###################################################################################### 
- 
-#Разрешаем хождение пакетов 
-echo 1 > /proc/sys/net/ipv4/ip_forward 
- 
-# Создаём списки для подсети: (172) 
-$IPS -N FFIN ipmap --network 172.16.0.0/18 
-$IPS -N FSNAT ipmap --network 172.16.0.0/18 
-$IPS -N FSNATDROP ipmap --network 172.16.0.0/18 
- 
- 
-##################################### 
-#     # 
-# Социальные запреты     # 
-#     # 
-##################################### 
- 
-# Создание правил доступа к социальным сетям (разрешённые IP адреса) 
-$IPS -N WHITE iptree 
- $IPS -A WHITE 172.16.0.30 
-        $IPS -A WHITE 172.16.0.38 
-        $IPS -A WHITE 172.16.0.39 
-        $IPS -A WHITE 172.16.0.41 
-        $IPS -A WHITE 172.16.0.42 
-        $IPS -A WHITE 172.16.0.43 
-        $IPS -A WHITE 172.16.0.44 
-        $IPS -A WHITE 172.16.0.45 
-        $IPS -A WHITE 172.16.0.46 
-        $IPS -A WHITE 172.16.0.51 
-        $IPS -A WHITE 172.16.0.64 
- 
-#Адреса серверов социальных сетей: 
- $IPS -N SOCIAL iptree 
- $IPS -A SOCIAL 217.20.152.240 
- $IPS -A SOCIAL 87.240.131.99 
- $IPS -A SOCIAL 87.240.143.242 
- $IPS -A SOCIAL 87.240.188.249 
- $IPS -A SOCIAL 93.186.224.240 
- $IPS -A SOCIAL 93.186.224.243 
- 
-# Разрешаем Белому списку посейщать социальные сети 
-$IPT -t filter -A FORWARD -m set --set WHITE src -m set --set SOCIAL dst -j ACCEPT 
- 
-# Запрещаем всем не вошедшим в белый список посейщать социальные сети 
-$IPT -t filter -A FORWARD -m set --set SOCIAL dst -j DROP 
- 
- 
- 
-# Добавляем наши адреса в NAT таблицу 
-#(172) 
-$IPT -t nat -A POSTROUTING -m set --set FSNAT src -o $IF_WORLD -j SNAT --to-source $WAN_IP 
-$IPT -t filter -I FORWARD -m set --set FFIN src,dst -j ACCEPT 
-$IPT -t filter -I FORWARD -m set --set FFIN dst,src -j ACCEPT 
-$IPT -t filter -I FORWARD -m set --set FSNATDROP src,dst -j DROP 
-$IPT -t filter -I FORWARD -m set --set FSNATDROP dst,src -j DROP 
- 
- 
- 
- 
-############################################################################################ 
- 
-# Запускаем Bandwindthd 
-$BAND start 
- 
-# Запускаем HTB (Шейпер) 
-$HTB start 
- 
-# Запускаем прослушку Softflowd для (172) 
-$SOFT 
- 
- 
-# Запускаем Stargazer 
-$STAR 
- 
-echo "###################################################################################" 
-echo "###################################################################################" 
-echo "#################################### Биллинг запущен ##############################" 
-echo "###################################################################################" 
-echo "###################################################################################" 
-     ;; 
- 
- 
- 
- 
- 
-######################################################################################## 
-######################################################################################## 
-# Что будет происходить при остановке скрипта: (Конфигурация завершения работы биллинга) 
-######################################################################################## 
- 
-   stop) 
-echo "###################################################################################" 
-echo "###################################################################################" 
-echo "############################# Выключаем систему Биллинга ##########################" 
-echo "###################################################################################" 
-echo "###################################################################################" 
- 
- 
-#Убиваем все процессы старгазера 
-killall stargazer 
- 
-#Удаляем правила шейпера 
-tc qdisc del dev eth1 root #(172) 
- 
-#Останавливаем softflowd 
-$SOFTD stop 
- 
-#Останавливаем Bandwindthd 
-$BAND stop 
- 
-#Останавливаем шейпер HTB 
-$HTB stop 
- 
- 
- 
-# Чистим правила в таблицах Iptables и удаляем списки IPSET 
- 
-#(172) 
-$IPT -F 
-$IPT -F -t nat 
-$IPS -F FFIN 
-$IPS -X FFIN 
-$IPS -F FSNAT 
-$IPS -X FSNAT 
-$IPS -F FSNATDROP 
-$IPS -X FSNATDROP 
- 
- 
- 
- 
- 
-# Удаляем конфигурацию доступа к социальным сетям 
-$IPS -X SOCIAL 
-$IPS -X WHITE 
- 
-#Удаляем учётные записи с конфигурацией шейпера. 
-rm -rf /etc/stargazer/dn/* 
- 
-echo "###################################################################################" 
-echo "###################################################################################" 
-echo "#################################### Биллинг выключен #############################" 
-echo "###################################################################################"      
-echo "###################################################################################" 
- 
-     ;; 
-   *) 
-     echo "Usage: /etc/init.d/billing {start|stop}" 
-     exit 1 
-     ;; 
- esac 
- 
- exit 0 
- 
- 
-</code> 
- 
- 
-<code>update-rc.d bil defaults</code> 
- 
- 
- 
-**Теперь делаем рестарт и после него проверяем как всё запустилось** 
-<code> 
-shutdown -r now 
-</code> 
- 
- 
- 
- 
- 
-======= Скрипты OnConnect - OnDisconnect + Htb + IPSET ======= 
- 
-** Скрипт OnConnect из стандартного набора ubilling совсем капельку отредактирован мной (путь к логам отредактирован, прежде чем копировать и вставлять убедитесь что вы создали все директории): ** 
-<code> 
- 
-#!/bin/bash 
-#OnConnect 
-IFUP="eth1" 
-IFDOWN="eth1" 
- 
- 
-########################### 
-LOGIN=$1 
-IP=$2 
-CASH=$3 
-ID=$4 
-SPEED=`/etc/stargazer/GetSpeed $LOGIN` 
-UPSPEED=`/etc/stargazer/GetUpSpeed $LOGIN` 
-MAC=`/etc/stargazer/GetMac $LOGIN` 
-SCOUNT="Kbit" 
- 
-IPT="/sbin/iptables" 
-IPS="/usr/local/sbin/ipset" 
-tc="/sbin/tc" 
-arpcmd="/usr/sbin/arp" 
-cur_date=`date \+\%Y.\%m.\%d` 
-cur_time=`date \+\%H:\%M:\%S` 
- 
-# DELETE RULEZ 
-###################################################################### 
-$IPT -t nat -D PREROUTING --src $IP --dst 0.0.0.0/0 -p tcp --dport 80 -j DNAT --to-destination 172.16.0.1 
-$IPT -t filter -D INPUT -s $IP -j ACCEPT 
-while [ $? -eq 0 ] 
-do 
-$IPT -t filter -D INPUT -s $IP -j ACCEPT 
-done 
- 
-$IPT -t filter -D FORWARD -s $IP -j ACCEPT 
-while [ $? -eq 0 ] 
-do 
-$IPT -t filter -D FORWARD -s $IP -j ACCEPT 
-done 
- 
-$IPT -t filter -D FORWARD -d $IP -j ACCEPT 
-while [ $? -eq 0 ] 
-do 
-$IPT -t filter -D FORWARD -d $IP -j ACCEPT 
-done 
- 
-$IPT -t filter -D OUTPUT -d $IP -j ACCEPT 
-while [ $? -eq 0 ] 
-do 
-$IPT -t filter -D OUTPUT -d $IP -j ACCEPT 
-done 
-####################################################################### 
- 
-# fix user mac to ip 
-$arpcmd -d $IP $MAC 
-while [ $? -eq 0 ] 
-do 
-$arpcmd -d $IP $MAC 
-done 
-$arpcmd -s $IP $MAC 
- 
-############################ 
- 
-declare -i mark1=$ID+101 
-declare -i mark2=$ID+4101 
- 
-$IPT -t mangle -A FORWARD -d $IP -j MARK --set-mark $mark1 
-$IPT -t mangle -A FORWARD -s $IP -j MARK --set-mark $mark2 
- 
- 
-############################################ 
-########## 1subnet 
-#Download 
-$tc class add dev $IFDOWN parent 1:1 classid 1:$mark1 htb rate $SPEED$SCOUNT 
-$tc filter add dev $IFDOWN parent 1: protocol ip prio 3 handle $mark1 fw classid 1:$mark1 
- 
-#Upload 
-$tc class add dev $IFUP parent 1:1 classid 1:$mark2 htb rate $UPSPEED$SCOUNT 
-$tc filter add dev $IFUP parent 1: protocol ip prio 3 handle $mark2 fw classid 1:$mark2 
-############################################# 
- 
- 
- 
-## Интернет для (172) 
-$IPS -D FSNATDROP $IP 
-while [ $? -eq 0 ] 
-do 
-$IPS -D FSNATDROP $IP 
-done 
-$IPS -A FFIN $IP 
-$IPS -A FSNAT $IP 
- 
- 
-# 
-################################################ 
- 
-# DAY/NIGHT switcher 
-/bin/echo $SPEED:`expr $ID + 4101` > /etc/stargazer/dn/$LOGIN 
- 
- 
-# ADD TO LOG 
-echo "$cur_date $cur_time CONNECT: ID-$ID;LOGIN-$LOGIN;IP-$IP;CASH-$CASH;SPEED-$SPEED;UPSPEED-$UPSPEED,MAC-$MAC" >> /etc/stargazer/log/allconnect.log 
- 
-</code> 
- 
- 
- 
- 
- 
-** Скрипт OnDisconnect из стандартного набора ubilling совсем капельку отредактирован мной (путь к логам отредактирован, прежде чем копировать и вставлять убедитесь что вы создали все директории): ** 
-<code> 
- 
- 
-#!/bin/bash 
-# OnDisconnect 
-IFUP="eth1" 
-IFDOWN="eth1" 
- 
-LOGIN=$1 
-IP=$2 
-CASH=$3 
-ID=$4 
-SPEED=`/etc/stargazer/GetSpeed $LOGIN` 
-UPSPEED=`/etc/stargazer/GetUpSpeed $LOGIN` 
-SCOUNT="Kbit" 
- 
-IPT="/sbin/iptables" 
-IPS="/usr/local/sbin/ipset" 
-tc="/sbin/tc" 
- 
- 
-# TIME FORMAT 
-cur_date=`date \+\%Y.\%m.\%d` 
-cur_time=`date \+\%H:\%M:\%S` 
- 
-# DELETE RULEZ  IPT 
-###################################################################### 
-$IPT -t filter -D INPUT -s $IP -j ACCEPT 
-while [ $? -eq 0 ] 
-do 
-$IPT -t filter -D INPUT -s $IP -j ACCEPT 
-done 
- 
-$IPT -t filter -D FORWARD -s $IP -j ACCEPT 
-while [ $? -eq 0 ] 
-do 
-$IPT -t filter -D FORWARD -s $IP -j ACCEPT 
-done 
- 
-$IPT -t filter -D FORWARD -d $IP -j ACCEPT 
-while [ $? -eq 0 ] 
-do 
-$IPT -t filter -D FORWARD -d $IP -j ACCEPT 
-done 
- 
-$IPT -t filter -D OUTPUT -d $IP -j ACCEPT 
-while [ $? -eq 0 ] 
-do 
-$IPT -t filter -D OUTPUT -d $IP -j ACCEPT 
-done 
- 
-######################### 
- 
-declare -i mark1=$ID+101 
-declare -i mark2=$ID+4101 
- 
- 
-if [ -n "$mark1" ] 
-then 
-    $IPT -t mangle -D FORWARD -d $IP -j MARK --set-mark $mark1 
-    while [ $? = 0 ] 
-    do 
-            $IPT -t mangle -D FORWARD -d $IP -j MARK --set-mark $mark1 
-    done 
-fi 
- 
-if [ -n "$mark2" ] 
-then 
-    $IPT -t mangle -D FORWARD -s $IP -j MARK --set-mark $mark2 
-    while [ $? = 0 ] 
-    do 
-            $IPT -t mangle -D FORWARD -s $IP -j MARK --set-mark $mark2 
-    done 
-fi 
- 
-############################################################################# 
- 
-#Download 
-$tc filter del dev $IFDOWN parent 1: protocol ip prio 3 handle $mark1 fw classid                                                                              1:$mark 
-$tc class del dev $IFDOWN parent 1:1 classid 1:$mark1 htb rate $SPEED$SCOUNT 
- 
-#Upload 
-$tc filter del dev $IFUP parent 1: protocol ip prio 3 handle $mark2 fw classid 1                                                                             :$mark1 
-$tc class del dev $IFUP parent 1:1 classid 1:$mark2 htb rate $UPSPEED$SCOUNT 
- 
-############################################################################ 
- 
- 
-## Отключить интернет (172) 
-$IPS -D FFIN $IP 
-while [ $? -eq 0 ] 
-do 
-$IPS -D FFIN $IP 
-done 
-$IPS -D FSNAT $IP 
-while [ $? -eq 0 ] 
-do 
-$IPS -D FSNAT $IP 
-done 
-$IPS -A FSNATDROP $IP 
- 
- 
-############################################################################ 
- 
- 
-$IPT -t nat -A PREROUTING --src $IP --dst 0.0.0.0/0 -p tcp --dport 80 -j DNAT --to-destination 172.16.0.1 
- 
- 
- 
-# DAY/NIGHT switcher 
-/bin/rm /etc/stargazer/dn/$LOGIN 
- 
- 
-echo "$cur_date $cur_time DISCONNECT: ID-$ID;LOGIN-$LOGIN;IP-$IP;CASH-$CASH" >> /etc/stargazer/log/allconnect.log 
- 
-</code> 
- 
- 
- 
- 
-======= Пробуем стартовать ======= 
-Для начала остановим систему через скрипт bil: 
-<code> 
-/etc/init.d/bil stop 
-</code> 
- 
-Ну а теперь запустим эту систему: 
-<code> 
-/etc/init.d/bil start 
-</code> 
- 
-В теории всё должно работать. 
- 
- 
-======= Приколюхи от Ubilling: ======= 
- 
- 
-** колонка "онлайн" с модными звёздочками ** 
- 
-1. Лезем в конфиг /var/www/billing/config/alter.ini и редактируем: 
-<code> 
-DN_ONLINE_DETECT=1 
-</code> 
- 
-2. Убеждаемся что в скриптах OnConnect/OnDisconnect есть подобное: 
-OnConnect 
-<code> 
-/bin/echo $SPEED:`expr $ID + 4101` > /etc/stargazer/dn/$LOGIN 
-</code> 
- 
-OnDisconnect 
-<code> 
-/bin/rm /etc/stargazer/dn/$LOGIN 
-</code> 
- 
- 
- 
-3. Делаем симлинк на папку: 
-<code> 
-ln -fs /etc/stargazer/dn/ /var/www/billing/content/dn 
-</code> 
- 
-4. Радуемся звёздочкам =) 
- 
-======= Мой alter.ini ======= 
-<code> 
- 
-;Опции поиска новых MAC адресов 
-;Если у вас в сети используються только статические пулы хостов DHCP переменная NMLEASES должна выглядеть как /var/log/messages, или как /var/db/dhcpd/dhcpd.leases или /var/log/dhcpd.log в случае раздачи динамикой не привязываясь к маку, ну либо вы выдаете неизвестным пользователям IP адреса из другой сети с заворотом на страницу с уведомлением.  
-NMLEASES = /var/log/dhcpd.log 
- 
-;Показывать неизвестные МАС адреса в диалоге смены МАС  
-NMLEASEMARK="DHCPDISCOVER" 
- 
-;Показывать неизвестные МАС адреса в диалоге смены МАС  
-NMREP_INMACCHG=1 
- 
-Отображать новые MAC адреса в виде выпадающего списка  
-SIMPLENEWMACSELECTOR=1 
- 
-;Подгружать плагины профиля пользователя 
-PROFILE_PLUGINS=1 
- 
-;Показывать название населенного пункта в адресных полях 
-CITY_DISPLAY=1 
- 
-;Рассматривать квартиру с нулевым номером как частный дом  
-ZERO_TOLERANCE=1 
- 
-;Поддержка работы с доксис модемами  
-DOCSIS_SUPPORT=0 
- 
-;Идентификатор сети модемов  
-DOCSIS_MODEM_NETID=2 
- 
-; Пути к исходным и скомпилированным конфигам модемов  
-docsis_cm_source=multinet/cm_source/ 
-docsis_cm_bin=multinet/cm_bin/ 
- 
-;Присваивание контрагентам улиц  
-AGENTS_ASSIGN=1 
- 
-; Включать експорт оплат? (например в 1С)  
-EXPORT_ENABLED=1 
- 
-;Идентификатор предпринимателя по умолчанию (используется если не присвоена улица либо вообще отключено присваивание улиц  
-;множественным контрагентам)  
-DEFAULT_ASSIGN_AGENT=1 
- 
-;Время начала и конца суток  
-EXPORT_FROM_TIME=00:00:00 
-EXPORT_TO_TIME=23:59:59 
- 
-;Формат експорта  
-EXPORT_FORMAT=xml 
- 
-; Експортировать только положительные оплаты?  
-EXPORT_ONLY_POSITIVE=1 
- 
-;Шаблоны експорта  
-EXPORT_TEMPLATE=config/1c.xml 
-EXPORT_TEMPLATE_HEAD=config/head-1c.xml 
-EXPORT_TEMPLATE_END=config/end-1c.xml 
- 
-;Входная и выходная кодировки експорта 
-EXPORT_ENCODING=utf-8 
-IMPORT_ENCODING=utf-8 
- 
-;Отображение трафика, может принимать значения: «float», «b», «Kb», «Mb», «Gb», «Tb» (Без кавычек)  
-TRAFFSIZE= Gb 
- 
-;Производить ли ресет пользователя при смене тарифа  
-TARIFFCHGRESET=1 
- 
-;Прятать ли пароли из административного интерфейса? 
-PASSWORDSHIDE=0 
- 
-;Определять онлайновость исходя из содержимого /content/dn ? 
-DN_ONLINE_DETECT=0 
- 
-;Человеко-читаемая трансляция имен сервисов в отчетах о оплатах  
-TRANSLATE_PAYMENTS_NOTES=0 
- 
-;Подсвечивать «важные» поля профиля  
-HIGHLIGHT_IMPORTANT=1 
- 
-;Генерировать nmchange.sh при посещении отчета по тарифам  
-NMCHANGE=0 
- 
-;Подсвечивать строки в модуле «Онлайн»  
-ONLINE_LIGHTER=1 
- 
-;Включить поддержку OpenPayz? 
-OPENPAYZ_SUPPORT=0 
- 
-;Ручной режим OpenPayz  
-OPENPAYZ_MANUAL=1 
- 
-;ID типа платежа под с которым будут вноситься оплаты в ручном режиме  
-OPENPAYZ_CASHTYPEID=1 
- 
-;Подсветка сегодняшних оплат  
-HIGHLIGHT_TODAY_PAYMENTS=1 
- 
-;Включение расширенных фильтров в модуле «Онлайн», например, теперь можно найти всех Варфоломеев проживающих на улице Ленина  
-ONLINE_FILTERS_EXT=1 
- 
-;При удалении пользователя не трогать его договор в целях обеспечения уникальности 
-STRICT_CONTRACTS_PROTECT=1 
- 
-;Контролировать ли уникальность номера договора?  
-STRICT_CONTRACTS_UNIQUE=1 
- 
-;Включена ли поддержка учета КТВ?  
-CATV_ENABLED=0 
- 
-;Показывать ли колонку LAT в модуле «Онлайн»?  
-ONLINE_LAT=1 
- 
-;Включить массовую рассылку сообщений авторизаторам при помощи stargazer?  
-MASSSEND_ENABLED=1 
- 
-;Использовать ли рассылку хелпдеском вместо использования механики рассылки stargazer?  
-MASSSEND_SAFE=1 
- 
-; Максимально допустимый уровень кредита, возможны значения от 0 до «много-много», DISABLED если не лимитируем. 
-STRICT_CREDIT_LIMIT=DISABLED 
- 
-; Включено ли связывание пользователей (ака корпоративные пользователи)?  
-USER_LINKING_ENABLED=1 
- 
-; Поле для связывания (IP, login… или еще какое-то)  
-USER_LINKING_FIELD="IP" 
- 
-;ID доп. поля профиля по которому определяется факт связанности 
-USER_LINKING_CFID=24 
- 
-; Репликация тарифа родительского пользователя на дочерних  
-USER_LINKING_TARIFF=1 
- 
-; Репликация денежных операций родительского пользователя на дочерних  
-USER_LINKING_CASH=1 
- 
-;  Репликация кредита родительского пользователя на дочерних  
-USER_LINKING_CREDIT=1 
- 
-;Путь к логфайлу stargazer  
-STG_LOG_PATH=/etc/stargazer/log/stargazer.log 
- 
-;Путь к arping  
-ARPING=/usr/sbin/arping 
- 
-;Интерфейс с которого будет производиться arping  
-ARPING_IFACE=-i vlan101 
- 
-;Включать ли модуль ARPdiag? Имеет смысл если используется статическая адресация а также arpwatch 
-ARPDIAG_ENABLED=1 
- 
-;Путь к логу arpwatch  
-ARPDIAG_LOG=/var/log/messages 
- 
-;Опция отвечающая за то, какие таблички должны быть исключены при бекапе БД  
-NOBACKUPTABLESLIKE=logs_,detailstat,weblogs 
- 
-;Может ли пользователь изменять размер иконок в панели задач? 
-TB_ICONCUSTOMSIZE=1 
- 
-;Генерировать рандомный MAC в диалоге ручной смены MAC?  
-MACCHANGERANDOMDEFAULT=1 
- 
-; Если значение установлено в 1 - будет вызван ресет пользователя при изменении любого кастомного поля профиля 
-RESETONCFCHANGE=1 
-RESETONTAGCHANGE=1 
- 
-; Показывать ли уведомление о новых тикетах в «Панели задач»?  
-TB_NEWTICKETNOTIFY=1 
- 
-Включен ли импорт банковских выписок?  
-BS_ENABLED=1 
- 
-;Входная и выходная кодировки банковских выписок, в норме может потребоваться модификация только входной. 
-BS_INCHARSET="cp866" 
-BS_OUTCHARSET="utf-8" 
- 
-;Опции импорта банковских выписок (черная магия, руками не трогать)  
-BS_OPTIONS="|,13,3,4,5" 
- 
-;Тип оплат для денег разнесенных автоматом по выпискам  
-BS_CASHTYPE=1 
- 
-;Режим высокой производительности модуля «Онлайн»: Ajax, отложенный рендеринг,  
-;максимально урезанный функционал. Неплохо работает при абонбазах 10-60к абонентов, 
-;не вызывая своим видом возрастания нагрузки на сервер, как и коллапса браузера  
-ONLINE_HP_MODE=1 
- 
-; Запрет на редактирование логинов-паролей-айпишек при регистрации, рекомендуется включить и не трогать руками 
-SAFE_REGMODE=1 
- 
-;Количество тикетов на стриницу в хелпдеске 
-TICKETS_PERPAGE=50 
- 
-;Включен ли учет НДС?  
-NDS_ENABLED=0 
- 
-;ID тега обозначающего пользователя плательщика НДС  
-NDS_TAGID=9 
- 
-;Процентная ставка НДС  
-NDS_TAX_PERCENT=20 
- 
-;Дополнительные ссылки к «Финансовым операциям» из модуля онлайн и результатов поиска  
-FAST_CASH_LINK=0 
- 
-;Включен ли мониторинг сигнала на Mikrotik?  
-MTSIGMON_ENABLED=0 
- 
-;Используется ли сервис приема заявок на подключение?  
-SIGREQ_ENABLED=0 
- 
-;Время в минутах по прошествию которого все свитчи будут перепинговываться.  
-SW_PINGTIMEOUT=2 
- 
-;Включен ли показ непингнувшихся свитчей на панели задач?  
-TB_SWITCHMON=1 
- 
-;Включено ли API удаленного вызова пароцедур?  
-REMOTEAPI_ENABLED=1  
- 
-;Включена ли поддержка шаблонизации аттрибутов Radius?  
-RADIUST_ENABLED=0 
- 
- 
-</code> 
- 
-======= Источники и автор статьи: ======= 
- 
- 
-**Основные источники информации которые помогли написать эту инструкцию:** 
- 
-local.com.ua 
- 
-wiki.ubilling.net.ua 
- 
-habrahabr.ru 
- 
- 
-**Автор инструкции:** [[http://local.com.ua/forum/user/19095-mescaline/|Сергей - Mescaline ]](c)