Re: Generowanie pasma x3 inne spojrzenie
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 www.euro-net.pl/~wojtek/x3/podzial
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
uczestnicy (1)
-
Wojciech Świadkowski