Archive for the ‘FreeBSD’ Category

pfSense on nokia ip 130

sobota, 10 października, 2009

O pfSense

   pfSesne jest to system bazujący na FreeBSD. Stworzony z myślą o pracy jako firewall lub router. W 2004 roku powstał jako fork m0n0wall. Obecnie developerzy przepisali go od początku. Optymalizując kod oraz likwidując różne bolączki.
pfSense to wyspecjalizowany firewall z funkcjami dorównywającymi profesjonalnym komercyjnym produktom. Pełną listę możliwości można znaleść na stronie projektu http://pfsense.org/index.php?option=com_content&task=view&id=40&Itemid=43

   Większość korporacyjnych firewalli takich jak Nokia IP , Cisco PIX/ASA, Big IP, Juniper Netscreen to wyspecjalizowane pcety z zainstalowanym linux lub FreeBSD. Producenci tych urządzeń często pobierają od klientów roczną opłatę za wsparcie techniczne i nowy software. Po pewnym czasie zaprzestają wsparcia swoich produktów i proponują zakup nowych rozwiązań.

   pfSense jest idealną alternatywą dla tych co chcą wykorzystać swoje stare urządzenia takie jak wyspecjalizowane firewall czy też stare serwery lub po prostu stacje robocze. Przy odrobinie fantazji można go zainstalować na większości urządzeń zgodnych z architekturą x86. Na forum projektu pojawiły się już informację na temat zastępowania wysłużonych Cisco PIX nowym pfSense. Dla użytkowników chcących mieć pewność ,że ich firewall będzie działał jak należy projekt oferuje komercyjne wsparcie techniczne.

   Od paru tygodni jestem posiadaczem Noki IP 130. Ponieważ już wcześniej wykorzystywałem pfSense do licznych projektów bez wachania zainstalowałem je na mojej nowej zabawce.

Procedura instalacji

   Procedura instalacji jest dość prosta gdyż w noki jest zainstalowany dysk 2,5 cala. Po wymontowaniu jego i podłączeni do standardowego pc możemy na nim zainstalować system z tzw live-cd.
W najnowszej wersji pfsense 1.2.3:

Podczas instalacji z live-cd trzeba pamiętać aby wybrać wersję systemu Embeded – brak klawiatury myszki i monitora.

W zależności od tego czy podczas instalacji dysk był podłączony do złącza pata czy usb, po instalacji należy edytować plik /etc/fstab. Tak ,żeby wskazywał na właściwe partycję, w moim przypadku

/dev/ad0s1a oraz /dev/ad0s1b. 

Po takiej procedurze możemy włożyć dysk z powrotem do noki i uruchomić pfsense.

Problemy

   Na urządzeniu nokia ip 130 testowałem pfSense 1.2.1 1.2.2 1.2.3rc3 1.2.3. Wszystkie te wersjie chodzą bez większych problemów. Jedyny mankament jaki zauważyłem to to ,że po naciśnięciu reboot przez gui urządzenie nie bootuje się z powrotem. Po wykonaniu komendy reboot w konsoli wszystko przebiega bez zarzutu.

UPDATE: pfSense 2.0 na urządzeniach nokia ip 120 i nokia ip 130 nie jest wstanie się zrestartować. Bug został potwierdzony na forum pfsense oraz na innej stronie.Od roku nie został rozwiązany. Obecnie wydanie polecenia reboot jest tożsame z wydanie polecenia shutdown. Po wyłączeniu urządzenia z prądu i ponownym podłączeniu system bez problemu startuje. Uwaga problem dotyczy tylko wybranej platformy!!

Wady

  • Zawiera sporo ciekawych funkcji dodatkowych niestety większość w fazie alpha/beta.

Zalety

  • Darmowy
  • Komercyjne wsparcie
  • Chodzi na większości plaform x86
  • Wspiera dynamiczne protokoły routingu.
  • Od niedawna posiada wsparcie dla Voice over IP oraz IDS/IPS Snort z możliwością pobranie dedykowanych reguł dla ruchu głosowego.

Podsumowując jeśli twojej firmy nie stać na Cisco ASA lub nie jesteś pewien jaki produkt zakupić spróbuj najpierw pfSense. Warto !

FreeBSD system na miare potrzeb

sobota, 20 września, 2008

   FreeBSD jest zaawansowanym systemem tworzony na University of California w Berkeley.
Docenił go szereg firm z całego świata np. yahoo, juniper, home.pl, nokia i wiele innych. Niektórzy nawet mówią o jego wydajności i zastosowaniu w następujący sposób: “gdzie inny system nie może tam FreeBSD pomoże. Oczywiście przesadnym było by twierdzić ,że jest to najlepszy system na świecie, z pewnością jest jednym z wydajniejszych i elastyczniejszych.

   Osobiście FreeBSD używam w bardzo wielu miejscach, w szczególności na routerach szkieletowych oraz innych maszynach strukturalnych. Dzięki developerom z całego świata w systemie jest szereg udogodnień wspierających codzienną administrację systemu oraz sieci. Nie wszystkie z nich są autorstwa zespołu FreeBSD niektóre takie jak OpenBGPd, OpenOSPFd, PF, CARP są autorstwa zespołu OpenBSD oraz, ZFS, DTrace są autorstwa Sun Micrososystems. Przeniesiono je z innych systemów.

Przygotowano już cztery narzędzia do tworzenia mini dystrybucji FreeBSD. Za ich pomocą można przygotować w pełni funkcjonalny mini-system dla urządzeń typu WRAP.

PicoBSD – Obecnie już nie wspierane. System oparty na FreeBSD 3,x mieszczący się na jednej dyskietce.

MiniBSD – Projekt wzorowany na skryptach Manuel Kasper’a. Obecnie oparty o FreeBSD 4.x 5.x oraz 6.x. Ten mini system można zmieścić na Flashu 16Mb.
Strona domowa projektu: http://minibsd.org

NanoBSD – Projekt wywodzi się z Soekris-Tech. Jego autorem jest Poul-Henning Kamp. Obecnie oficjalnie wspierany przez zespół FreeBSD. Umożliwia on przygotowaniu obrazu systemu który można zmieścić na 64Mb karcie Compact Flash. NanoBSD pozwala z optymalizować system pod kątem dedykowanej potrzeby tzn, pomaga przygotować jądro systemu oraz zestaw pakietów niezbędnych do uzyskania określonej funkcjonalności np. koncentratora VPN.

TinyBSD – Projekt finansowany przez Google Summer of Code 2008. Następca NanoBSD, w dużej mierze bazuje na jego kodzie, wspierany przez zespół FreeBSD. Jest dostępny w repozytorium CVS FreeBSD.Umożliwia on na zmniejszenie systemu do około 30Mb. Tak samo jak jego pierwowzór pozwala na dostosowanie jądra systemu i portów – nie pakietów(pkg) tak jak w NanoBSD. Zawiera on sześć pre definiowanych konfiguracji, takich jak Wireless Acess Point, VPN, Firewall, bridge, wrap, default, minimal.
Strona domowa projektu: http://tinybsd.org

   Wszystkie te narzędzia/systemy reprezentują sobą zbliżone możliwości. Ich twórcy twierdzą ,że wszystko co się da zrobić na FreeBSD da się zrobić i na tych mini dystrybucjach. Charakteryzują się one bardzo małym rozmiarem i dużą wydajnością. Wszystkie z nich są przygotowywane pod kątem pracy na karcie Compac Flash. Są doskonałym rozwiązaniem dla urządzeń WRAP takich jak Soekris czy Alix jak i również dla starych terminali np. Neoware EON 2000, IBM t2200 i pewnie wiele innych. Trwają również pracę nad obsługą popularnych urządzeń RouterBoard dostarczanych z systemem Mikrotik.

   Zubożone FreeBSD jest idealną alternatywą dla drogich komercyjnych rozwiązań. Jedynym minusem tych tych mini systemów jest bardzo uboga dokumentacja do obsługi samych skryptów i konfiguracji z nich wynikłej. Dla doświadczonych administratorów nie będzie to jednak ogromny problem gdyż sam system FreeBSD jest bardzo dobrze udokumentowany na stronie domowej projektu. Napisano również szereg książek na jego temat.

   Z doświadczenia wiem ,że FreeBSD czy też jego zubożona wersja potrafi spokojnie przewyższyć wydajnością nie jeden sprzętowy router. Istotny jest jedynie odpowiedni dobór sprzętu oraz konfiguracja samego systemu. Warto wspomnieć ,że większość routerów średniej klasy jest opartych o rozwiązania typowo softwarowe co za tym idzie, w żaden sposób nie odbiegają wydajnością od alternatywnych rozwiązań. Ważnym faktem również jest ,że system JunOS – flagowy Juniper Networks jest także oparty o FreeBSD. Oczywiście nie sam system świadczy o wydajności, w przypadku urządzeń Juniper większość operacji odbywa się w warstwie sprzętowej i dlatego też trudno by porównywać z nimi rozwiązania typowo softwarowe.
Osobiście zachęcam wszystkich spróbowania FreeBSD. Być może będzie to idealna alternatywa właśnie dla twoich routerów !

Warto zajrzeć:

http://FreeBSD.org
http://www.embeddedfreebsd.org/

Collectd at FreeBSD 7 HowTo

czwartek, 28 sierpnia, 2008

   Collectd jest małym niezwykle użytecznym programem do monitorowania serwerów Linux/Unix. Jest to wygodne narzędzie dla pojedynczych maszyn – wszędzie tam gdzie nie ma sensu instalować takich kombajnów jak cacti. Potrafi on wygenerować wykresy użycia procesora, pamięci, zajętości dysku, ruchu na interfejsach sieciowych oraz wiele innych, podobnych do tych które możemy zobaczyć w większości urządzeń sieciowych. Posiada on około 50 dodatkowych pluginów, które potrafią monitorować różne usługi oraz urządzenia np. UPSy. Pełną listę pluginów można znaleźć na stronie domowej projektu – http://collectd.org.

   Collectd jest dostępny w portach FreeBSD 7 i wymaga on do poprawnej pracy serwera http z obsługą cgi.

   Poniżej znajduję się procedura instalacji w systemie FreeBSD 7

Aby zainstalować pakiet przechodzimy do:

 cd /usr/ports/net-mgmt/collectd/

Następnie wydajemy komendy

 sudo make install clean

Po poprawnej kompilacji pakiet jest zainstalowany w /usr/local/www/collectd/.

Aby można było oglądać statystki przez www musimy skopiować plik collection.cgi do katalogu w którym są umieszczone pliki dla serwera http.

W moim przypadku wydajemy komendę:

sudo cp /usr/local/www/collectd/collection.cgi /usr/local/www/data/

Domyślnie we FreeBSD 7 perl nie zawiera modułu HTML/Entities.pm. Należy go doinstalować za pomocą shell cpan.

Aby uruchomić shell wpisujemy komendę:

sudo perl -MCPAN -e 'shell'

A następnie

install HTML/Entities

Aby Collectd uruchamiał się automatycznie przy starcie systemu w pliku /etc/rc.conf dopisujemy

collectd_enable="yes"

   

Aby uzyskać wykresy musimy edytować plik collectd.conf znajdujący się w katalogu /usr/local/etc/konfiguracją collectd

sudo joe /usr/local/etc/collectd.conf

Następnie ustawiamy dane podstawowe:

Hostname    "nasz serwer"
BaseDir     "/var/db/collectd"
PIDFile     "/var/run/collectd.pid"
PluginDir   "/usr/local/lib/collectd"
TypesDB     "/usr/local/lib/collectd/types.db"
Interval     10
ReadThreads  5

oraz usuwamy # znajdujący się przy modułach które nas interesują np. LoadPlugin interface i przechodzimy do sekcji w której konfigurujemy dany moduł.
np.

#<Plugin interface> 
#        Interface "eth0"
#        IgnoreSelected false
#</Plugin> 

Usuwamy # i wpisujemy poprawny interfejs który chcemy monitorować.

<Plugin interface> 
        Interface "fxp0"
        IgnoreSelected false
</Plugin> 

Następnie uruchamiamy collectd.

/usr/local/etc/collectd start

   
Jeśli skrypt nie zgłosił nam ,żadnych błędów otwieramy przeglądarkę i wpisujemy adres:

http://<adres server>/collection.cgi

Miłej Zabawy 🙂