do tej pory nie udzielalem sie zbytnio. ale czasem
trzeba sie podzielic z innymi swoja praca, szczegolnie jak widze duze
zaangazowanie ze strony innych i z ktorej to pracy ja rowniez
korzystam
a wiec zaproponuje cos
alternatywnego. robilem to dla siebie i nie
ma pewnie wszystkich opcji ktore uzywacie ale u mnie sie sprawdza
skrypt perlowy
kopiujemy do /etc/lms/prog-1.8.0/podzial
skrypt wymagal kiedys dodatkowych pol w bazie, ale
obecnie nie uzywa ich , chociaz moze wyswietlic bledy
co robi , a czego nie:
- nie sumuje predkosci klienta ( jesli ma kilka
abonamentow ) a jedynie wybiera najwieksza na podstawie downloadu
- wszystkie kompy z profilu klienta pakuje do
jednego pasma
- dodaje sie do /etc/cron.hourly
- zaklada strukture drzewiasta w iptables i stad
wynikaja pewne zalety i wady:
wady
pierwsze 2 liczby w adresie ip dla wszystkich przycinanych hostow sa takie
same
zalety
kazdy pakiet
ma prawie identyczna droge przez regolki i przy kilku tysiacach regolek liczba
porownan zamyka sie ponizej 100 na pakiet
- osoba ktora nie ma taryfy na swoim profilu
nie ma internetu
- jesli cron.hourly wykonuje sie w minutach
0,5,10,15 ....50,55 skrypt nie zadziala w nocy
- skryp sie nie sprawdza na przeciazonych laczach
poniewaz zaklada omijanie przez niektore pakiety przycinanie pasma.
wymagania
==============
lms.ini
[podzial]
; gdzie zapisuje skrypt a po
skonczeniu generowania go uruchamia
podzial_out
=
/etc/rc.d/rc.podzial
podzial_uid
=
0
podzial_gid
=
0
podzial_perm
= 0700
; znacznik czasu aby nie przeladowywac bez
potrzeby
podzial_time
= /etc/lms/time.podzial
; interfejsy ,
podzial_wan_interfaces =
eth0
podzial_local_interfaces = eth1 eth2 eth3
;
predkosci
podzial_wan_speed =
70Mbit
podzial_local_speed =
70Mbit
podzial_bin
= /sbin/tc
podzial_firewall_bin = /usr/sbin/iptables
;
bez podzialu powinny byc lokalne interfejsy
podzial_bez
= 10.1.0.1
; bonusy do predkosci podstawowej
; przy jakim saldzie ma dawac bonusy w zl, moze byc
ze znakiem -
podzial_bonus_saldo = 0
; jaki ma byc bonus do predkosci
podstawowej w kbit - dziala w dzien i w nocy
podzial_bonus
= 64
; podzial procentowy jesli jest inny niz 0 zmienna
podzial_bonus jest pomijana, dziala na predkosci podstawowej w dzien i w
nocy
podzial_bonus_procent =
100
; maksymalna wartosc po bonusach ktorej nie mozna
przekroczyc w kilo bitach
podzial_bonus_limit =
3000
; godziny nocne
; musimy po okresie nocnym zaladowac skrypt z
predkoscia podstawowa nic nie stoi na przeszkodzie dodac wszystkie godziny
dzienne
; ale kazde przeladowanie zajmuje jakis czas
procesorowi ( mam u siebie na jednym z komputerow 4355 wpisow w tabeli
mangle )
podzial_x1
= 08
podzial_x2
= 00
07
podzial_x3
= 01 02 03 04 05 06
; poczatek adresu ip
podzial_pre_lan =
10.1
; adresy ip nastepna
cyfra
podzial_nazwy_c = 96 97
98 99 100
; tego nie zmieniac chyba ze wiesz o co chodzi
podzial_nazwy_d = 0 32 64
96 128 160 192 224
podzial_pre
= 27
podzial_pre_ile =
32
==============================
w bazie (czasem niektore pola moga byc nie
uzywane ale tak juz zostawiam )
CREATE TABLE `woj_gry` (
`id` int(11) NOT
NULL auto_increment,
`name` text NOT NULL,
`protokol` text
NOT NULL,
`zakres` text NOT NULL,
`ip` varchar(20) NOT NULL
default '10.1.0.1/32',
`aa` char(1) NOT NULL default '',
`pi` varchar(20) NOT NULL default '0.0.0.0/0',
PRIMARY KEY
(`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 PACK_KEYS=0 AUTO_INCREMENT=3
;
#
# Zrzut danych tabeli
`woj_gry`
#
INSERT INTO `woj_gry` VALUES (2, 'voip-halonet',
'tcp', '5060', '217.11.128.5/24', '', '0.0.0.0/0');
=================
w tabeli nodes jest dodatkowe pole
`tariffsid` int(11) NOT NULL default
'1',
w tabeli tariffs
`priorytet` int(2) NOT NULL
default '4',
jak o czyms nie zapomnialem to juz bedzie
wszystko.
sugestie mile widziane, wszystko co ma poprawic
zadowolenie klienta jest zawsze mile widziane, nawet krytyka
Wojtek