LMS w NND konfiguracja
From NndWiki
Wielu użytkowników NND chciało by móc administrować siecią w wygodny sposób, z pomocą przychodzi nam panel LMS http://www.lms.org.pl. Służy on do generowania plików konfiguracyjnych w naszym systemie głównie zarządzanie siecią i użytkownikami.
Przy jego pomocy dodamy/usuniemy klienta czy też komputer z sieci poprzez wygodny panel, a także przypiszemy odpowiednią taryfę i predkość. LMS posiada wiele fonkcji zapraszam do obejrzenia dema systemu demo.lms.org.pl Użytkownik: admin, hasło: test. Przed instalacją panelu najlepiej się zapoznać z dokumentacją.
Na początek przygotujemy nasze NND
Przygotowanie systemu
Nasze NND powinno już być skonfigurowane do pracy w sieci (routing, dhcp, niceshaper, squid), same te podane przeze mnie pakiety nie są wystarczające oczywiście. Należy doinstalować Apache z PHP, MySQL (opis na stronie NND). Należy zaaktualizować bazę pakietów:
pacman -Suy
pacman -S mysql-devel
po tym kroku należy doinstalować
pacman -S perl //Perl do obsługi skryptów LMS jest wymagany
pacman -S perl-devel
Teraz do porawnej instalacji panelu wymagana jest obsługa polecenia make, lecz sama instalacja tego pakietu może powodować błędy w uruchamianiu skryptów dlatego polecam zaaktualizować cały system do wersji devel
install_devel
Po ściagnięciu pakietów i aktualizacji naszego NND możemy już doinstalować moduły perla opisane w dokumentacji:
Config::IniFiles,
DBI,
DBD-mysql (Jeśli masz zamiar używać mysql'a),
Aby nam tego nie brakowało instalujemy:
pacman -U http://ww2.devel.nnd-linux.pl/nnd/pakiety/perl-dbi-1.56-1nnd.pkg.tar.gz
pacman -U http://ww2.devel.nnd-linux.pl/nnd/pakiety/perl-config-inifiles-2.38-3nnd.pkg.tar.gz
pacman -U http://ww2.devel.nnd-linux.pl/nnd/pakiety/perl-dbd-mysql-3.0006-2nnd.pkg.tar.gz
Po instalacji tych pakietów można śmiało uruchomić LMS'a.
Instalacja LMS
Na swoim przykładzie ściagnąłem wersje stabilną LMS-1.8.13 Tessa z bibliotekami smarty [[1]]
Rozpakowałem na serwerze archiwum do katalogu /home/httpd/html. Zawartość archiwum umieściłem w katalogu lms
W /etc tworzymy katalog lms i kopiujemy do niego pliki lms.ini i lms-mg.ini z katalogu LMS /lms/sample/
Edytujemy plik lms.ini w sekcji [database] ustawiamy namiary naszej bazy danych dla LMS (domyślnie baza nazywa się lms), wpisujemy użytkownika i hasło do bazy (pamietamy aby usunąć znak ; na początku linijek które zmieniamy żeby ustawienia działały).
W katalogu /lms/doc/ znajduje się plik lms.mysql należy go wgrać do bazy na której ma działać nasz LMS (najlepiej phpmyadminem otworzyć baze i dać import).
Nasz LMS jest już prawie gotowy do uruchomienia teraz przechodzimy do katalogu /lms/sample i edytujemy plik rc.lmsd wpisujemy w nim namiary na bazę danych naszego LMS'a. Potem przechodzimy do katalogu daemon i odpalamy ./configure potem make i make install
Dodajemy rc.lmsd np do /etc/rc.d/rc.local aby się uruchamiał podczas startu systemu np :
/home/httpd/html/lms/sample/./rc.lmsd start
Aby LMS naliczał płatności automatycznie dodałem do crona takie coś:
01 12 * * * /home/httpd/html/lms/bin/lms-payments
Ten wpis powoduje że LMS codziennie o godz. 12,01 uruchamia skrypt lms-payments który sprawdza czy abonament został naliczony za okres wybrany w LMS, jeśli nie to nalicza taryfę przypisaną klientowi.
Po tym wszystkim w końcu możemy otworzyć w przeglądarce panel LMS http://ip_serwera/lms wyskoczy nam żeby założyć użytkownika jeśli na dole nie ma żadnych błędów tzn że nie zrobiliśmy błędu przy konfiguracji bazy danych.
Po utworzeniu użytkownika dodajemy po kolei sieci,taryfy, klientów i ich komputery.
Konfiguracja demonów i hosta
Zalogowani w panelu LMS klikamy kolejno Konfiguracja w podmenu na Hosty i dodajemy tam naszego hosta czyli wpisujemy tylko nazwę naszego serwera taką jaką podaliśmy przy jego instalacji
Pozostało nam skonfigurować podmenu Demon. U siebie mam zrobione dhcp i niceshapera i to wam podam.
Klikamy Dodaj instancję nazwę dajemy "dhcp" niżej wybieramy naszego hosta, w polu moduł wpisujemy:
/usr/local/lms/lib/dhcp.so
i jeszcze tylko priorytet na 1 i tyle reszty nie ruszamy
Teraz po dodaniu instancji wracamy do podmenu Demon klikamy na nazwę instancji "dhcp" i klikamy dodaj opcję
w polu nazwa wpisujemy "begin" a w polu wartość:
authoritative;
boot-unknown-clients off;
ddns-update-style=ad-hoc;
zapisujemy i dodajemy kolejną opcję
W polu nazwa wpisujemy "command" a wartość:
killall dhcpd ; /etc/rc.d/dhcpd restart
lms-makehosts
i podobnie zapisz
dodajemy kolejną opcję w polu nazwa wpisz "file" a wartość "/etc/dhcpd.conf" i zapisz
dodajemy jeszcze dwie opcje o nazwach "net" i "networks" które mają puste wartości
W ten sposób testowo możemy wykonać pierwsze przeładowanie któro zapisze użytkowników w /etc/dhcpd.conf i uruchomi serwer dhcp
została jeszcze konfiguracja niceshapera podam ustawienia dla wersji 0.5 i 0.6
edytujmy wcześniej skopiowany przez nas plik lms-mgc.ini z /etc/lms/ w nim na samym początku ustawmy bazę danych.
Niżej znajduje się linijka "instances = " i reszte kasujemy i wpisujemy np niceshaper5
i niżej tworzymy:
[mgc:niceshaper5]
outfile = /etc/niceshaper/users
allexistnodes = ####################
allexistnodes = %IP eth1 dl_ceil %DOWNCEILkbit ul_ceil %UPCEILkbit
post_exec = /etc/rc.d/niceshaper stop
post_exec = /etc/rc.d/niceshaper start
oczywiście wartości kbit można modyfikować jeśli był by jakiś problem
Dla niceshapera 0.6 sprawa wygląda następująco
w instances wpisujemy nazwę np niceshaper6 zamiast niceshaper5
i tworzymy poniżej instancję
[mgc:niceshaper6]
outfile = /etc/niceshaper0.6/class
allexistnodes = ######################
allexistnodes = class download eth1 %name
allexistnodes = match dstip %IP
allexistnodes = ceil %DOWNCEILkbit
allexistnodes = class upload ppp0 %name //ppp0 to w tym przypadku interfesj do internetu
allexistnodes = match srcip %IP
allexistnodes = ceil %UPCEILkbit
to by było na tyle w lms-mgc teraz w panelu musimy ustawić Demon
Dodajemy demona o nazwie "niceshaper" zaznaczamy naszego hosta w polu moduł wpisujemy:
/usr/local/lms/lib/system.so
priorytet dajemy 2. Wracamy do listy demonów i klikamy na "niceshaper" i dodajemy opcję o nazwie "command" a wartość dla niceshapera0.5:
killall niceshaper
killall niceshaper
killall niceshaper
rm /var/run/niceshaper.pid
lms-mgc
/etc/rc.d/niceshaper stop
/etc/rc.d/niceshaper start
dla niceshapera0.6:
killall niceshaper0.6
killall niceshaper0.6
killall niceshaper0.6
rm /var/run/niceshaper.pid
lms-mgc
/etc/rc.d/niceshaper0.6 stop
/etc/rc.d/niceshaper0.6 start
podziękowania dla Aphexa który pomaga w konfiguracji na forum NND. Zapraszam na forum i gdzie można zadawać pytania i ew. uwagi
//autor realisty
