DualWAN, MultiWAN, Load Balancing, Bonding, Failover

Wszystko zaczęło się od ciągłych problemów z Internetem.


 

Mieszkając na uboczu, nie doprosimy się o podłączenie linii kablowej do naszego domu i zawsze dostajemy odpowiedź: brak możliwości technicznych, zatem zostaje nam tylko Internet radiowy. Niestety na obecną chwilę wszystkie oferty mają ograniczenia na ilość przesyłanych danych. Owszem jeden jedyny dostawca i do tego darmowy Aero2 nie ma takiej przypadłości, ale za to ma inną. Co godzinę zrywane jest połączenie i trzeba je wznawiać, na dodatek prędkość jest dość wolna. Owszem każdy router obsługujący modem ma możliwość automatycznego wznawiania połączenia, czyli to nie jest problem. Natomiast ja mam inną konfigurację. Dysponuję Internetem bluecconect i dwoma Aero2.  Idealnym rozwiązaniem byłoby połączenie (zsumowanie) takich trzech źródeł Internetu, i tu właśnie zaczyna się cała zabawa...

 

Zeroshell - idealny linux do routera

Jakiś czas temu znalazłem idealną dystrybucję Linux-a na moją Alix –  Zeroshell.  Tak naprawę to było na odwrót. Najpierw znalazłem Zeroshell i pod niego kupiłem płytę Alix 2C. Przed zakupem Alix, dwa tygodnie w roli routera pracował stary komputer Dell, który miał uszkodzoną zintegrowaną kartę graficzną. Taki zestaw Zeroshell+ stary komputer nadawał się prawie idealnie, choć to „prawie” bardzo mnie irytowało – chodzi o hałas. Hałasował oczywiście wiatrak zasilacza i chłodzenia procesora. Poza tym komputer był bardzo duży jak na router i pobierał zbyt dużo energii. Z wyliczeń wyszło mi, że kupno płyty Alix zwróci się po niecałym roku używania, i najważniejsze - nie będzie hałasu.

Zeroshell to dystrybucja Linux-a na serwery lub urządzenia wbudowane (embedded devices), zapewniająca podstawowe usługi sieciowe. Uruchamia się z CD-ROMa, Compact Flash, pendriva,a konfiguruje się poprzez przeglądarkę internetową. Dla mnie, najistotniejsze były następujące cechy:

  • Obsługa modemów UMTS/HSDPA 3G (także telefon jako modem- nie ma problemów z prawidłowym wykrywaniem i obsługą).
  • Load Balancing and Failover wielu połączeń internetowych !!!!(mając kilka źródeł Internetu, można je równoważyć oraz przełączać w razie uszkodzenia łącza).
  • Bonding – to bardzo przydatne udogodnienie, bo można połączyć kilka łącz internetowych w jedno; niestety potrzebny jest w Internecie serwer/router z publicznym IP do którego trzeba zestawić połączenie VPN.
  • QoS (Quality of Service) – zarządzanie ruchem (ustawianie minimalnej i maksymalnej przepustowości oraz pierwszeństwo dla danego typu ruchu.
  • Wireless Access Point, niestety tylko obsługuje karty bezprzewodowe na procesorze Atheros.
  • Lan-to-Lan VPN (wymagane do Bonding).
 

 

Jak zainstalować Zeroshell na pendrive lub karcie CF?

Znalazłem w Internecie kilka opisów jak to zrobić i nie jest to jakaś wiedza tajemna, ale dla porządku opiszę jak, ja to robiłem.

 Po pierwsze ściągamy http://na.mirror.garr.it/mirrors/zeroshell/ZeroShell-2.0.RC2-IDE-USB-SATA-Disk-2GB.img.gz. Jako że jest to archiwum,  rozpakowujemy go i mamy plik ZeroShell-2.0.RC2-IDE-USB-SATA-Disk-2GB.img

Do nagrania tego obrazu na pendriva lub kartę CF użyłem programu USB Image Tool (w Windows XP).

Nie mamy co się obawiać, że nagramy obraz na dysk twardy, bo po prostu w programie widoczne są tylko urządzenia na USB (pendrive i karty w czytniku).

Mamy już przygotowanego pendriva z Zeroshell.  Jeśli ktoś chce uruchomić komputer z USB a jednak to nie działa, trzeba poszukać takiej opcji w biosie i ją włączyć. Zeroshell nie wymaga od komputera ani dysku, ani karty graficznej, zatem niektóre zepsute laptopy mogą posłużyć jako router J Z moich obserwacji 256MB RAM wystarcza do tego zadania. Choć gdy włączyłem na Zeroshell antywirus dla przeglądanych stron WWW, okazało się, że 256MB RAM to stanowczo za mało. Tak, tak - ta dystrybucja zawiera i coś takiego jak Transparent Proxy with Web Antivirus.

 

 

Zeroshell na VirtualBox.

Bardzo dobrym rozwiązaniem jest potestowanie Zeroshell na wirtualnej maszynie czyli VirtualBoxie. Możemy ściągnąć gotowca dla VirtualBox-a  http://na.mirror.garr.it/mirrors/zeroshell/ZeroShell-2.0.RC2-VirtualBox.zip. Należy pamiętać aby dobrze skonfigurować kartę sieciową pod VirtualBox w trybie Bridged Adapter, gdyż jak pamiętam nie jest to zrobione. 

 

 

VirtualBox służył mi do wielu testów, zatem zachęcam do zainstalowania go i używania z Zeroshell jako idealnego poligonu doświadczalnego.

 

 

Jak zainstalować ZeroShell na twardym dysku ?

ZeroShell można zainstalować na dysku twardym, jeśli takowy komputer posiada.  Najłatwiej można to zrobić, uruchamiając np. ZeroShell z CD-ROMa lub pendriva.

Tak wygląda Zeroshell po uruchomieniu:

 Shell

 

Podłączamy kabelkiem nasz komputer do sieci z dostępem do Internetu, a nastęnie konfigurujemy ustawienia sieciowe, aby nasz Linux miał dostęp do Internetu:


Wybrać należy <I> IP Manager
Następnie Modify <M> IP address
Teraz wpisujemy adres IP, jaki ma mieć nasz Linux (ja zmieniam na adres 192.168.2.130)
IP [129.168.0.75]: 192.168.2.130
Nic więcej nie przestawiamy, czyli enter, enter itd.
Teraz jeszcze trzeba ustawić bramę, czyli wybieram <G> Set Default Gateway
U mnie bramą jest 192.168.2.75
Wciskamy Q aby wrócić do głównego ekranu.

 

Net powinien działać. Można to sprawdzić, pingując np. googla. Przechodzimy do <S> Shell Prompt
root@zeroshell /> ping 8.8.8.8 - u mnie działa, zatem przerywamy przez Ctrl-C.

 

Teraz ściągamy instalkę:
root@zeroshell /> cd /
root@zeroshell /> wget http://na.mirror.garr.it/mirrors/zeroshell/ZeroShell-2.0.RC2-IDE-USB-SATA-Disk-2GB.img.gz

 

Sprawdzamy jak zmapował się dysk twardy:
root@zeroshell /> fdisk -l

Disk /dev/sda: 2949 MB, 2949644288 bytes
255 heads, 63 sectors/track, 358 cylinders, total 5761024 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk /dev/sda doesn't contain a valid partition table

 

U mnie jest to: /dev/sda , nie mam na dysku żadnej partycji zatem, nic więcej się nie pojawia.

 

!!!!!!!!!!UWAGA!!!!!!!!

WSZYSTKIE DANE NA DYSKU ZOSTANĄ ZNISZCZONE

Zatem jeśli jest więcej niż jeden dysk podpięty to proszę bardzo uważać.

 

Rozpakowujemy instalkę na dysk:

root@zeroshell /> gzip -dc ZeroShell-2.0.RC2-IDE-USB-SATA-Disk-2GB.img.gz | dd of=/dev/sda
Trochę czekamy i tworzą się automatycznie trzy partycje /dev/sda1 , sda2, sda3.

 

Sprawdzamy poleceniem #fdisk -l 
Na resztę dysku możemy założyć partycję /dev/sda4 poleceniem: #fdisk /dev/sda , a następnie formatować: #fdisk.ext4 /dev/sda4
Restartujemy komputer (pamiętając o wyjęciu CDrom-a lub pendriva aby komputer uruchomił się z twardego dysku).

 

Jeszcze raz trzeba skonfigurować sieć, tym razem Zeroshell będzie to już pamiętał, bo zapisze na twardym dysku.

 

W nastęnym artykule opiszę jak konfigurować Zeroshell.

Jak przekierować stronę WWW opartą na Joomla 2.5?

Po przeniesieniu strony WWW (Joomla 2.5) w inną lokalizację trzeba zrobić przekierowania.  Przekierowanie typu 301 jest najlepszym rozwiązaniem z punktu widzenia pozycjonowania strony, gdyż oznacza Moved Permanently (trwale przeniesiony).
Ja przeprowadzam się z podstrony firmowej www.geo-metric.pl/geospot na  swój serwer www.geospot.pl.
Aby w Joomla 2.5 zadziałały przekierowania (w plik .htaccess), trzeba włączyć w zapleczu korzystaj z mod_rewrite:

mod rewtite

 

OCZYWIŚCIE ROBIMY TO W STAREJ LOKALIZACJI (uwaga zrzut jest z nowej lokalizacji www.geospot.pl)!!!

Następnie w głównym katalogu tworzymy plik .htaccess , a w nim robimy przekierowanie na nowy adres:

RewriteEngine on
RewriteRule (.*) http://www.geospot.pl/$1 [R=301,L]


Takie przekierowanie jest idealne, jeśli nie zmieniamy struktury strony, gdyż np. www.strona2.pl/artykul1 jest przekierowany na taki sam w drugiej lokalizacji www.strona2.pl/artykul1 .
 Należy pamiętać o atrybutach pliku .htaccess, ma mieć wartość 604. Ja korzystam z filezilla, można za pomocą tego programu i kopiować pliki na ftp ,ale także edytować pliki zdalne (na ftpie) i zmieniać ich atrybuty:

filezilla prawa dostepu

Po tych zabiegach nie będziemy już widzieć naszej strony pod starym adresem, także nie zalogujemy się do zaplecza. Należy utrzymywać stary adres, przynajmniej do momentu, gdy Google nie przeniesie swoich linków na nową lokalizację. Zbyt wczesne zlikwidowanie spowoduje utratę linków, które były w wyszukiwarkach.
Teraz w nowej lokalizacji włączam na zapleczu mod_rewrite, następnie w katalogu głównym zmieniam htacces.txt na .htaccess i dodaję:

RewriteEngine On

RewriteCond %{REQUEST_URI} ^\/atrykuly/internet$
RewriteCond %{QUERY_STRING} ^$
RewriteRule ^(.*)$ http://www.geospot.pl/atrykuly/internet-sieci [L,R=301]


Zatem, nieistniejący artykuł www.geospot.pl/atrykuly/internet jest przekierowany na http://www.geospot.pl/atrykuly/internet-sieci , oczywiście jest to przekierowanie typu 301 aby pan Google „przeprowadził się na stałe”. Można dodawać kolejne wpisy, jeśli są potrzebne. To bardzo dobra regułka, jeśli zmieniła nam się struktura strony. Takie przekierowanie można robić także na zapleczu Komponenty/przekierowania. Jednak nie polecam, bo jak sądzę (nie weryfikowałem) nie jest to przekierowanie stałe. Warto zaglądać od czasu do czasu do tego modułu, gdyż widać  nieaktualne linki,  które należy obsłużyć (przekierować)
Przy okazji dodałem jeszcze jedno przekierowanie 301, które powoduje, że Google widzi wszystkie nasze strony pod adresem www.geospot.pl ,a nie część pod geospot.pl, a część pod www.geospot.pl.  Jeśli tego nie zrobimy to Google widzi naszą stronę jako dwie strony, co nie jest wskazane z punktu widzenia SEO.

RewriteEngine On

RewriteCond %{HTTP_HOST} ^geospot.pl
RewriteRule (.*) http://www.geospot.pl/$1 [R=301,L]

Ewentualnie na odwrót przekierować na „bez www.” dodając następujący kod:

RewriteEngine On
RewriteCond %{HTTP_HOST} www.geospot.com
RewriteRule (.*) http://geospot.com/$1 [R=301,L]

 

Mój pierwszy artykuł - Alix

Moja Alix 1CPo analizach wyszło, że muszę kupić płytę  ALIX 2D3  lub ALIX 2D2. Zastanawiam się jeszcze nad płytą Alix 1D lub Alix 1C - cenowo nieco droższa, ale za to ma wyprowadzenie: VGA, LPT, PS2,Audio In/out, wyprowadzone 12V, 5V do zasilania dysku HDD lub CDrom. Niestety płyta 1D ma tylko jedno gniazdo Ethernet. Wariant z jednym gniazdem sieciowym zmusza mnie do używania switch-a, co niezbyt mi się podoba, będę się musiał jeszcze nad tym zastanowić.  Koniecznie musi być to seria D (nie tyczy się to 1D/1C), gdyż  na płycie jest wyprowadzenie pod dodatkowe dwa USB. W specyfikacji jest napisane, że nie jest to wytestowane - trudno, trzeba będzie sprawdzić na własnej skórze.  Na płycie są dwa gniazda USB, zatem dwa dodatkowe bardzo się przydadzą. Wstępnie muszę podłączyć do płyty dwa modemy USB (Aero2 i blueconnect) i dwa telefony (jako modemy- Aero2). Jeśli jeszcze coś będzie do podłączenia to niestety bez huba USB się nie obejdzie. Seria D płyt Alix  różni się w stosunku do C jeszcze tym, że można przylutować kabel  zasilający do płyty. Inne różnice przynajmniej na razie nie mają dla mnie znaczenia.  Na pewno przylutuję do płyty buzer, bo standardowo płyta tego nie ma – może zrobię sygnalizację dźwiękową, np. gdy trzeba będzie ręcznie zresetować modem lub telefon. 

 

Wczoraj też zauważyłem, że ta płyta może być używana jako sieciowy odtwarzacz. Fajny pomysł, może i ja podłączę router do swojej Yamahy i będę mógł sterować smartfonem lub z komputera wieżą. Z takiego rozwiązania na pewno będzie zadowolona żona, bo nie może sobie poradzić bez muzyki, gdy kręci się po domu J Będzie potrzebny do tego jakiś przetwornik USB->SPDIF (USB DAC) oraz dobry program sterujący. Tylko czy na moim Zeroshell da się to prosto zaimplementować? 

Jednak trafiła się płyta  Alix 1C (zatem mam procesor 500Mhz, 256 Ram, VGA, 4xUSB2.0, możliwość podłączenia HDD i karty CompactFlash, Line out, 2xRS232, LPT, PS2-klawiatrura i tylko jeden port ETH 100MB/s). Wystarczy mi to jednak w zupełności, bo będę używał tylko Internetu radiowego, ale jakby była potrzebna większa ilość portów sieciowych, dołożę jakąś kartę sieciową na złączu PCI i po sprawie (najlepiej niski profil aby zmieściła się w obudowę). Na szczęście autorzy instrukcji wspomnieli, że karta graficzna działa tylko, gdy jest podłączony monitor. Zatem nie będzie pożerała prądu i nie będzie generowała zakłóceń do karty muzycznej, gdy nie podłączę monitora. Muszę zrobić kabelek do zasilania dysku, bo nic standardowego się nie nada. Kabelek już jest, wykorzystałem kable starego zasilacza komputerowego i jakiś kabel ze starego telewizora (akurat przypasowała końcówka). Dodatkowo w starociach komputerowych znalazłem wyprowadzenie dwóch portów USB. W złącze miniPCI wsadziłem kartę bezprzewodową, zatem mam już bezprzewodowy Access Point.

Pierwszy tydzień testów moja Alix przeleżała na biurku (zobacz zdjęcie poniżej). Jednak bałem się, że przez przypadek jakimś metalowym przedmiotem ją uszkodzę i wylądowała w kartonie. Jednak ostatecznie znalazła swoje miejsce w bardzo oryginalnej obudowie J czyli pojemniku na proszek do prania. Obudowa idealnie pomieściła Alix, dysk twardy SATA i kartę sieciową dwuportową 1GB/s. Półgodzinne korzystanie z kartonowego pudełka jako obudowy szybko uświadomiło mi, że elektronika lubi się grzać, zwłaszcza dysk. Zatem wolne miejsce w docelowej obudowie jest zaletą, gdyż dobrze cyrkuluje powietrze.

Tak zrobiony router wylądował na strychu z racji lepszego zasięgu sieci komórkowych. Anteny modemów i telefony umieściłem na kalenicy dachu. Zestaw działa już piąty dzień w tym miejscu i muszę przyznać, że jest nieźle. Widzę, po logach, że jeden z telefonów działa słabiej, bo ma więcej zerwanych połączeń, zatem może telefony są zbyt blisko siebie i przeszkadzają sobie. Kiedy zniknie śnieg, wybiorę się na dach i to poprawię.

Instalację linuxa ZeroShell zamieszczę w odrębnym artykule.

 

Własna domena - GEOSPOT.PL

Naturalnym wydaje się, że pierwszy opis, jaki się tu pojawi, to wiadomości jak i gdzie zamówić domenę, jak zrobić prostą stronę www i gdzie ją umieścić. Nie jestem specjalistą z tej dziedziny, zatem krytyka mile widziana.


Pierwszy problem to nazwa strony, bo moim zdaniem musi być łatwo zapamiętywalna. Nazwy typu 
jyl.pl może i są krótkie (co jest zaletą), ale jak dla mnie takie zbitki liter są nie do zapamiętania. Jest jeszcze jeden problem z nazwą - po prostu musi być wolna. No właśnie i to jest główny problem, wszyscy chcą mieć łatwe do zapamiętania domeny i po prostu te najciekawsze są już dawno zajęte. Aby sprawdzić czy wymyślona przez nas nazwa domeny nie jest już zarezerwowana trzeba to sprawdzić na jednym z wielu serwisów. Przykładowe: ovh.plnazwa.pl, home.pl, domeny.pl. Ale jest jeszcze inna możliwość, możemy sprawdzić czy przypadkiem domena nie jest do odsprzedania aftermarket.pl . W końcu się udało - huraaa, mam sensowną nazwę domeny geospot.pl. Teraz poszukiwania najtańszej oferty, znalazłem kilka firm, a do finału dotarła ovh.pl, głównie ze względu na cenę. Niestety w domenach .pl nie ma tu możliwości ukrycia swoich danych w bazie whois. Były inne oferty z pozoru wyglądające bardzo ciekawie bo niby 0zł za rok, ale to wielka ściema, bo po roku trzeba płacić jak za zboże, a przeniesienie w okresie promocyjnym (dwóch lat) jest dodatkowo płatne (roczna opłata).
Po uiszczeniu opłaty mam swoją upragnioną domenę 
geospot.pl i co teraz....?