WIRTUALIZACJA SERWERÓW okiem open source

Linux Router Debian, podział pasma HTB, LMS, Load-Balancing, PPPoE, PPtP w 10min

Z doświadczenia wiemy, że każdy admin jest leniwy (ja też). Skoro już ruszył szanowne 4 literki w celu znalezienia czegoś u wuja Googla to chce osiągnąć swój super-cel szybko i najlepiej kilkoma klikami. A proszę bardzo. Instalacja nie jest skomplikowana. Uważam, że jeśli nigdy nie zajmowałeś / zajmowałaś się linuxami a masz jakikolwiek blade pojęcie o działaniu sieci komputerowych to poradzisz sobie z instalacją tego wszystkiego.

Aktualizacja paczek: 01.09.2011 - zobacz listę zmian (kliknij)

Jeśli szukasz odpowiedzi na jakieś pytanie to zajrzyj do FAQ (kliknij) lub na forum dyskusyjne (kliknij) zanim mi je zadasz :)

Jeśli chcesz przejść dalej musisz najpierw wbić sobie do głowy, że potrafisz:

  • zainstalować Debiana 6 (squeeze) w wersji netinstall
  • sprawdzić czy adres IP, który masz umożliwi Ci dostęp do Internetu
  • czytać i postępować tak jak  jest tu napisane :]

KROK 1 - Ala ma komputer

Wymagania co do komputera są proste. Po pierwsze musi mieć twardy dysk, CD-ROM, koło 256MB RAM oraz działać po włączeniu zasilania oraz musi umieć zbootować się z płytki CD. Upewnij się, że posiadasz zamontowane dwie karty sieciowe. Jeśli masz sieć powyżej 50 użytkowników - zainteresuj się komputerem z 2 corami oraz przynajmniej 1 GB ramu.

KROK 2 - Komputer ma linuxa

Na początku przygotuj sobie adresację IP (adres, maska, brama, dns), na której będziesz miał dostęp do Internetu. Zainstaluj Debiana 6 (Squeeze) w wersji amd64 (pobierz) lub i386 (pobierz) po wcześniejszym wypaleniu obrazów na CD. Jeśli tylko Twój sprzęt obsługuje wersję 64-bitową - gorąco ją polecam. Podczas instalacji wybierz interfejs eth0 jako główny oraz wpisz POPRAWNIE adresację tak, aby instalator miał dostęp do Internetu. Ten krok prawdopodobnie powtórzysz kilka razy jeśli nie robiłeś tego wcześniej ;) Przy wyborze oprogramowania zaznacz jedynie "System podstawowy" i "Serwer SSH". Środowisko graficzne, które domyślnie jest zaznaczone nie będzie Ci do niczego potrzebne. Jeśli nie wiesz, co odpowiedzieć na pytania instalatora - wybierz potwierdzenie lub wpisz cokolwiek. Bezpośrednio po instalacji zaloguj się na konto użytkownika root z hasłem, które podałeś podczas instalacji oraz wykonaj następujące polecenia:

apt-get update && apt-get upgrade

Jeśli nie masz programu puTTy to ściągnij go stąd (kliknij). Odpal i połącz się poprzez SSH z adresem IP, który podałeś podczas instalacji systemu. W zależności od języka i zestawu znaków (tzw. locales) wybierz odpowiednie kodowanie znaków (ISO-8859-2 lub UTF-8). Jeśli nie wiesz o co chodzi to po zalogowaniu się wpisz po prostu:

LANG=

Nie polecam przechodzić do dalszego kroku, dopóki wszystko nie zostało zrobione jak powyżej.

Krok 3 - Linux ma paczki

STOP! Instalatory nadpiszą poprzednią wersję bazy LMSa (klienci itd).

Kliknij tutaj aby przejść na forum i pobrać adresy skryptów instalacyjnych.

Po drodze zostaniesz zapytany o kilka spraw, przez instalatora:

  • zapytanie o pakiet phpmyadmin - wybierz apache2 - UWAGA - wciśnij spację aby zapaliła się gwiazdka przy zaznaczeniu - to najczęściej powtarzany przez Was błąd i mówicie, że nie działa phpmyadmin ;) Jeśli jesteś już po instalacji to wpisz dpkg-reconfigure phpmyadmin i powtórz krok.
  • zapytanie: "Configure database for phpmyadmin with dbconfig-common" - wybierz NIE
  • zapytanie o serwer mysql - zapisz na kartce hasło - będzie Ci potrzebne za chwilę ponownie!
  • zapytanie o serwer postfix - wybierz Internet Site
  • cała reszta pytań - odpowiadasz TAK lub DALEJ :)

Po zapakowaniu wszystkiego potrzebnego do Twojego komputera system zrobi reboot. Po restarcie maszyny powinieneś mieć gotowy działający router z LMS i zaawansowanym podziałem pasma. W zasadzie jedyne co musisz zmienić to ustawienia parametrów Twojego łącza WAN (DOWNLOAD i UPLOAD - teraz też dodatkowe nocne dla WAN) w pliku:

/serwer/serwer.conf

Hasło do LMS ustawisz sobie podczas pierwszego logowania się w przeglądarce po adresem:

http://adres_ip_routera

Instalator wygeneruje losowe hasło do bazy danych zatem nie ma potrzeby jego zmiany.

Krok 4 - Uwagi do bajki

Router posiada następującą funkcjonalność:

  • dynamiczny podział pasma na WAN za pomocą IMQ na HTB/esfq z priorytetyzacją usług (plik /serwer/skrypty/htbwan.sh)
  • statyczny podział pasma dla klientów sieci LAN za pomocą IMQ na HTB/sfq (plik /serwer/skrypty/htblan.sh)
  • firewall odpowiadający za autoryzację klientów po MAC+IP (plik /serwer/skrypty/firewall.sh)
  • serwer DHCP dla klientów
  • serwer DNS dla kientów
  • serwer PPPoE dla LAN oraz PPtP dla LAN i WAN (dostęp zdalny) - nazwa komputera z LMS to login, hasło to PIN klienta jeśli nie zostało zdefiniowane hasło przy danym komputerze (nowa funkcja)
  • komunikaty: dla nieautoryzowanych klientów, przypomnienie o płatnościach, blokada dostępu do sieci (nowa funkcja)
  • panel LMS z autorskim demonem do przeładowywania serwera (katalog /var/www)
  • funkcje LMS: klienci, komputery, sieci, urządzenia sieciowe, mapa sieci, taryfy, faktury, helpdesk, terminarz i inne
  • userpanel (nowa funkcja): informacje, faktury i płatności, kontakt poprzez helpdesk z panelem LMS
  • taryfy nocne dla LAN i WAN :D (nowa funkcja)
  • przekierowania portów poza LMS (nowa funkcja)
  • obsługa dwóch lub więcej łączy WAN (kliknij) (nowa funkcjonalność)
  • serwer przeładowuje konfigurację praktycznie natychmiast po wprowadzeniu zmian w LMS (płynność 2-3 sek)
  • przykładowe dane konfiguracyjne z opisem
  • po więcej informacji zapraszam do FAQ (kliknij)

Jądro (2.6.32), iptables 1.4.8 oraz iproute zostały załatane patchami kolegi DJ Gregora z linuxbox.pl.

Wszelkie powyższe materiały i opisy na stronie oraz wypowiedzi autora na forum stanowią jego własność intelektualną. W szczególności skrypty z katalogu /serwer oraz /var/v-smart oraz wszystkie paczki deb. Autor zezwala na używanie powyższych materiałów w sposób komercyjny i niekomercyjny jednak zabrania modyfikowania ich i umieszczania poza stroną v-smart.pl

Tagged as: , , , , , , , ,    autor: yarzombo Comments Off
Komentarze (114) Trackbacks (4)
  1. Staty(bandwitch) skończyły mi się na 31 stycznia. Dlaczego ?

  2. Jeszcze jedna sprawa. Czy dało by się tak zrobić skrypt instalacyjny, żeby w katalogu /var/www lms był w swoim katalogu, a nie jak jest teraz po instalacji że wszystkie pliki i katalogi lms-a są porozwalane w katalogu głównym.

  3. Mozna ale po co. Wiekszosc osob wtedy powiedzialoby, ze do panelu LMS musi wchodzi wpisujac dluzszy adres a tak wpisuja tylko adres IP routera w przegladarce i dziala ;) Gdybys chcial to sam przerabiac to niestety katalog /var/www/daemon musi zostac w miejscu poniewaz jest dosc duzo powiazan do niego zrobionych. To taka podstawowa informacja.

    Dodatkowo mozesz tak ustawic apacha, aby np. miec aliast http://adres_ip/lms wskazujacy na katalog /var/www a katalog glowny miec gdzie indziej. Zapraszam do googla.

    Zapomniales dodac, ze poradziles sobie z uploadem. Pozwole sobie wkleic tresc e-maila:

    „Kilka dni temu napisałem na twojej stronie, że mam problem z trzymaniem w widełkach prędkości upload, cała instalacja przebiegła bez problemu i w/g opisu.
    Generalnie w tej chwili problem jest rozwiązany, wiem już jak skonfigurować LMS żeby wszystko smigało, ale nie bardzo to wszystko jest dla mnie jasne.”

    W mailu wspomniales tez o problemie z przeladowywaniem konfiguracji w przypadku manipulacji grupami. Jak juz pisalem, sprawdze to i ewentualnie poprawie bledy :) Dzieki za zainteresowanie.

  4. Hej!

    skorzystałem z Twoich instrukcji i wszystko fajnie, ale… :)

    chcę to podłączyć do netia24… router asmax (w trybie bridge, bo mam 8 adresów IP z netii uzyskanych, a w trybie routera nie potrafię ich „przekazać dalej”) niestety pppoe-discovery zawsze kończy się timeoutem…

    czy zmiany zrobione w jądrze mogą jakoś utrudniać działanie klienta pppoe? lub może serwer pppoe może jakoś w tym przeszkadzać?

    dzięki!

  5. Hm. Nie testowalem PPPoE clienta na tym jajku. Musicie sami probowac. Pewnie to kwestia konfiga PPPoE. Poczytajcie po necie. Jak serwer dziala to klient tez powinien.

  6. Witam.
    Opis uratował mi życie :)
    Mimo że instalacja w moim przypadku trwała ok 7h bo neoware c100 nie chciał współpracować dodatkowo fakt że system był stawiany na pendrivie mu się nie podobał ale jak przelazłem procedurę instalacji debiana to już potem było z górki.
    Zapewne najbliższe dni spędzę na zrozumieniu właściwie co do czego służy ponieważ moje doświadczenie z linuxem sprowadza się jedynie do rocznego używania gentoo zbotstrapowanym ze stage 1 :) jako desktopa, więc znam system jedynie tyle ile potrzebowałem.
    Sytuacja a właściwie 3 szkodników którym udostępniam internet zmusiła mnie do wymyślenia jakiegoś rozwiązania bo te szkodniki zapychają łącze wszystkimi dziwnymi programami do ściągania uruchamianymi przy starcie i nie pomogły moje tłumaczenia by ograniczali upload. Mimo prób i starań i zablokowanych większości portów livbox nie dawał rady więc kupiłem mały cichy terminal. Rozważałem kupno routera i wgrania jakiegoś tomato ale w związku z tym że obecna praca będzie wymagała ode mnie coraz bardziej zwiększonej wiedzy w zakresie sieci więc jednak wybrałem serwerek.
    Pierwsze próby były z CDN linux niestety bezskuteczne. Potem trafiłem na ten artykuł, który brzmiał zachęcająco i zacząłem zabawę. Na początku bałem się że wszystko się wydłuży ale się udało.
    Tym małym komentarzem chciałem docenić bezinteresowną pracę i chęć podzielenia się wiedzą za która bardzo dziękuję.
    Jest duża szansa że z mojej strony wynikną w niedługim czasie różne pytania i byłoby mi więcej niż miło gdybym uzyskał na nie jakieś odpowiedzi.
    Pozdrawiam Bartosz.K

  7. Staty(bandwitch) skończyły mi się na 31 stycznia 2011 roku godz. 2:21.
    Dlaczego nie pokazuje mi statystyk ?
    Do 31 stycznia wszystko było ok.
    Nic nie grzebałem w debianie

  8. Ciekawe. Sprawdz czy bandwidthd chodzi czyli:

    ps ax | grep bandwidthd

  9. debian:~# ps ax | grep bandwidthd
    4614 ? SN 3:15 /usr/sbin/bandwidthd
    4616 ? SN 3:20 /usr/sbin/bandwidthd
    4617 ? SN 3:06 /usr/sbin/bandwidthd
    4618 ? SN 3:06 /usr/sbin/bandwidthd
    4632 ? SN 0:00 /usr/sbin/bandwidthd
    4636 ? SN 0:00 /usr/sbin/bandwidthd
    4641 ? SN 0:00 /usr/sbin/bandwidthd
    11957 ? ZN 0:00 [bandwidthd]
    16031 pts/0 S+ 0:00 grep bandwidthd

  10. Kashue – ja takiego czegoś szukałem od conajmniej trzech lat
    Sorry za spam

  11. Po zmianie grupy i przeładowaniu transfery pozostają po staremu, dopiero po przypisaniu nowej dowolnej taryfy i przeładowaniu zmienia się transfer na taki jaki przydzielony jest do zadanej grupy.

  12. DELKO – pozostaje Ci chyba zrobic:

    dpkg-reconfigure bandwidthd

    yakubek – zmuszasz mnie zebym to wszystko sprawdzil a ja teraz mam powazna robote w firmie. Musze miec troche czasu na sen jeszcze hehe ;)

    BTW chlopaki / dziewczyny – zaraz pojawi sie nowy debian 6 (squeeze). Obiecuje, ze paczki po tygodniu beda z nim w pelni kompatybilne :D Byc moze nawet od razu zadzialaja bo w zasadzie wielkich zmian raczej debianowcy nie zrobia.

  13. yarzombo – jest coraz więcej postów, proponuję uruchomić małe forum, będzie łatwiej nam wszystkim.

  14. Dobra zrobiłem Wam forum. Link:

    http://forum.v-smart.pl

    Jednocześnie małe info, że nie można tu już dopisywać komentarzy bo za dużo tego tu rzeczywiście.