Strona używa cookies (ciasteczek). Dowiedz się więcej o celu ich używania i zmianach ustawień. Korzystając ze strony wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.    X

Bezprzewodowy router na Debianie — wersja kompletna cz. I

Ale po co?

Ostatnio wpadł mi w ręce komputer w formacie Mini-ITX. Małe wymiary i minimalne zużycie prądu (18 W podczas obciążenia) skłoniły mnie do wykorzystania go jako domowy router bezprzewodowy. No ale po co się w to bawić skoro niezły router WI-FI można kupić za niewielkie pieniądze? Bo tak ;-)
W sieci można znaleźć masę poradników jak wykonać tytułowe zadanie ale moim zdaniem żaden nie jest kompletny i dlatego postanowiłem opisać cały proces od początku do końca.

Czy jest kierownik?

Kierownikiem tego interesu mianowałem Debiana. Kto zajmuje się siecią ten wie, że routery są kluczowym elementem każdej infrastruktury sieciowej bo jak nie działa router to nie działa cała sieć. Na co dzień w roli routerów stosuję OpenBSD ale niestety karta WI-FI jaką wykorzystałem (TP-LINK TL-WN722N USB) jest słabo wspierana przez ten system.
No więc jak Linux to tylko Debian. Jak Debian to wersja stabilna. Do repozytorium stabilnego Debiana wprowadzane są tylko poprawki bezpieczeństwa co zmniejsza prawdopodobieństwo, że po jakiejś aktualizacji coś przestanie działać.
Takie podejście jest bardzo praktyczne lecz w tym przypadku sprawiło mi mały kłopot, bowiem obsługa kart TP-LINK TL-WN722N pojawiła się w jądrze Debiana Wheezy, czyli testing co jak dla mnie wyklucza zastosowanie w roli routera.

I co teraz?

Wyjścia z sytuacji są dwa:
1. Kompilacja własnego kernela. Jako zagorzały fan (ale nie fanatyk) OpenBSD uważam, że jeśli nie jesteś developerem systemu, nie powinieneś brać się za kompilację jądra lub programów bo prędzej czy później okaże się to celnym strzałem w stopę ;-)
2. Wykorzystanie backportów.
Jak dla mnie kompilacja odpada, więc wybieram backporty.

r   e   k   l   a   m   a

Wymówka pierwsza

Chociaż opis miał być kompletny, to jednak proces instalacji systemu pominąłem, ponieważ wyszedłem z założenia, że jest to na tyle proste, że nie warto tego opisywać.

No to zaczynamy!

W pliku /etc/apt/sources.list dopisujemy repozytorium backportów:

deb http://backports.debian.org/debian-backports squeeze-backports main contrib non-free

I instalujemy jądro i niezbędne oprogramowanie:

aptitude update

aptitude -t squeeze-backports install linux-image-3.2.0-0.bpo.4-486 firmware-atheros

Oczywiście jeśli Twoja karta nie bazuje na chipsecie Atherosa, zamiast firmware-atheros wpisz właściwą nazwę producenta.
Więcej nie będziemy korzystać z backportów, więc możemy skasować wcześniejszy dopisek i kolejny razodświeżamy repozytoria:

aptitude update

Hostapd jest programem kontrolującym pracę karty WI-FI w trybie punktu dostępu.

aptitude install hostapd

Tworzymy jego plik konfiguracyjny

nano /etc/hostapd/hostapd.conf

i wklejamy zawartość tego pliku.
W pliku /etc/default/hostapd dopisujemy:

DAEMON_CONF="/etc/hostapd/hostapd.conf"

Ponieważ obsługa karty pojawiła się już w systemie, czas na jej konfigurację. W pliku /etc/network/interfaces dopisujemy sekcję:

auto wlan0

iface wlan0 inet static

        address 192.168.20.1

        netmask 255.255.255.0

        network 192.168.20.0

        broadcast 192.168.20.255

Adresy ip musisz wpisać właściwe Twojej sieci.

Żeby nie bawić się w ręczne wpisywanie adresów ip w komputerach w sieci lokalnej, warto zainstalować serwer DHCP :

aptitude install isc-dhcp-server

Edytujemy jago plik konfiguracyjny /etc/dhcp/dhcpd.conf i wklejamy zawartość pliku.
Jeszcze tylko dopisujemy do pliku /etc/default/isc-dhcp-server:

INTERFACES="wlan0"

i konfiguracja DHCP zakończona.
Żeby nasz router mógł przekazywać pakiety do sieci, należy w jądrze włączyć tę opcję. Najprościej w pliku /etc/sysctl.conf odszukać linijkę:

#net.ipv4.ip_forward=1

i skasować #.
Tak radzi większość internetowych tutoriali, jednak poprawny (zgodny z dokumentacją) sposób modyfikacji ustawień jądra polega na utworzeniu pliku z rozszerzeniem .conf w folderze /etc/sysctl.d/

nano /etc/sysctl.d/local.conf

net.ipv4.ip_forward=1

Takie podejście znacznie ułatwia cofnięcie się do ustawień "fabrycznych" jeśli za bardzo namieszamy.
Teraz już tylko reboot i włączenie funkcji NAT przez wpisanie w konsoli po restarcie:

iptables -t nat -A POSTROUTING -s 192.168.0.0/16 -o eth0 -j MASQUERADE

Wymówka druga

Tekst pisałem "z palca" więc gdyby okazało się, że jednak czegoś brakuje, proszę o informację a postaram się uzupełnić.

A w kolejnej części opiszę jak nieco zabezpieczyć nasz router i napisać dobry skrypt firewalla. 

linux

Komentarze