OpenWrt to dystrybucja GNU/Linux przeznaczona dla małych routerów bezprzewodowych.
Pozwala na instalacje oprogramowania za pomocš menagera instalacji (takich jak apt w Debianie).
Bardzo dobrze sprawujš się routery Wrt54Gl firmy linksys oraz Asus WL500gP z 2 portami usb.
Sam osobiście przerobiłem wiele Linksys-ów Wrt54Gl i nigdy nie miałem z nimi żadnych problemów. Sš idealne jako alternatywa dla routerów cisco pod względem dostępu do sieci lokalnej za pomoca vpn (można na tych routerach zainstalować oprogramowanie openvpn).
Za to router Asus Wl500gP którego aktualnie używam w domu może zastapić nam mały serwer :) Dzięki wbudowanym 2 portom USB można podpišć do 1 dysk hdd i postawić sambe (serwer plików) do 2 drukarkę i router będzie działał również jako print serwer.
Poniżej opiszę sposoby instalacji na systemie już nie stety nie rozwijanym (openwrt White Russian) ale działającym stabilnie i co najważniejsze dość prostym w obsłudze kilka ciekawych rozwiązań.
Wstępna konfiguracja OpenWrt 0.9
Pdf zawiera:
1. Whiterussian
1.1. Uzupełnienie konfiguracji
1.2. USB storage
1.3. Klonowanie adresu MAC
1.4. Dostęp do wszystkich kanałow (12,13,14)
1.5. Zabezpieczanie WiFi
1.6. DynDNS
2. Kamikaze
2.1. Uzupełnienie konfiguracji
2.2. USB storage
2.3. Klonowanie adresu MAC
2.4. Zabezpieczanie WiFi
2.5. DynDNS
3. Podbijanie TTL (TTL + 1)
OpenWrt - torrenty
(ze strony http://eko.one.pl/index.php?page=openwrt-torrent)
Pdf zawiera:
1. Changelog
2. Zasada działania
3. Instalacja
4. Automatyzacja
5. Zakończenie
Zmiana portu logowania ssh
Żeby zmienić port logowania ssh wystarczy tylko wyedytować plik : /etc/init.d/S50dropbear
i zmienić ostaniš linie w pliku dodajšc port np 1022 : /usr/sbin/dropbear -p 1022
Konfiguracja Openwrt
(ze strony http://wiki.openwrt.org/OpenWrtDocs/Configuration?action=print )
Pdf zawiera:
1. NVRAM
2. Network configuration
3. Ethernet switch configuration
4. Wireless configuration
1. Basic settings
2. MAC filter
3. WEP encryption
4. WPA encryption
5. Wireless Distribution System (WDS) / Repeater / Bridge
6. WDS Routed Networks (P2P)
7. A note on encryption with WDS
8. Wireless client / wireless bridge
5. Basic system configuration and usage
1. busybox - The Swiss Army Knife of Embedded Linux
2. cron - job scheduler
3. syslog - Logging
4. dropbear - Secure Shell server
5. iptables - Firewall
6. dnsmasq - DNS and DHCP server
7. Time
8. Timezone
6. HOWTOs / Additional Configuration
Konfiguracja Openwrt jako printserver
(ze strony http://openwrt.livenet.pl/doku.php/hardware:printserver )
Pdf zawiera:
Jak zainstalować obsługe drukarki na Opewrt Kamikaze oraz WhiteRussian
Konfiguracja QOS
Pdf zawiera:
Instalacja QOS na Kamikaze (działa również na openwrt tylko trzeba pozmieniać komendy instalacyjne)
Instalacja Samby
Instalacja Samby polega na zainstalowaniu paczki :
ipkg install samba-server
ipkg install samba-client
edytujemy plik /etc/samba/smb.conf u mnie wyglšda on tak :
Gdzie path = /mnt/disc0_6 jest miejscem gdzie posiadam wszystkie pliki.
[global]
syslog = 0
syslog only = yes
workgroup = Garwi
server string = Asus Router by Garwi
security = share
encrypt passwords = yes
guest account = nobody
local master = yes
name resolve order = lmhosts hosts bcast
[tmp]
comment = /tmp
path = /tmp
browseable = yes
public = yes
writeable = no
[wymiana]
comment = dysk usb
path = /mnt/disc0_6
browsable = yes
public = yes
writable = yes
create mask = 777
directory mask = 777
directory security mask = 777
Powinien stworzyć się plik w /etc/init.d/samba jak go nie będzie to trzeba ręcznie utworzyć i wpisać :
#!/bin/sh /etc/rc.common
# Copyright (C) 2006 OpenWrt.org
DEFAULT=/etc/default/samba
RUN_D=/var/run/samba
NMBD_PID_F=$RUN_D/nmbd.pid
SMBD_PID_F=$RUN_D/smbd.pid
start() {
[ -f $DEFAULT ] && . $DEFAULT
mkdir -p $RUN_D
nmbd -D $NMBD_OPTIONS
smbd -D $SMBD_OPTIONS
}
stop() {
[ -f $SMBD_PID_F ] && kill $(cat $SMBD_PID_F)
[ -f $NMBD_PID_F ] && kill $(cat $NMBD_PID_F)
}
Aby Samba uruchamiała się automatycznie to można zrobić skrypt : vim /etc/init.d/S85samba oraz wpisać /etc/init.d/samba start i zapisać (należy pamiętać aby pliki miały prawa do wykonywania )
Żeby podmontować sobie dyski sieciowe na routerze potrzebny jest nam smbfs. Mozna go ściągnąć wpisując komendę : ipkg install http://riot.org/seb/smbfs_0.0_mipsel.ipk
Po czym dodać do jšdra : insmod smbfs
I powinno działać wystarczy teraz utworzyć sobie katalog na routerze : mkdir /mnt/sieciowy i podmontować sobie jakis udział smbmount //adres ip/udzial /mnt/sieciowy -o username=uzytkownik,password=hasło i powinno być ok.
Instalacja Ftp (vstpd)
Pdf zawiera :
Instalacja i konfiguracja vstpd na OpenWrt WhiteRussian
Zmiana mac adresu wanu.
Wystarczy prosta komenda set wan_hwaddr="aa:bb:cc:dd:ee:ff" po czym : nvram commit i po sprawie , a i jeszcze reboot.
OpenVpn.
Instalacja Openvpn-a na WhiteRussian . Opiszę dwie metody jedna prosta to zrobienia dosłownie w 5min a druga trochę bardziej zaawanswana na wielu klientów oraz z możliwość routingu międzynimi.
Metoda 1 - czyli 1 serwer i 1 klient za pomocš jednego klucza szyfrujšcego połšczenie.Najczęciej używana przez administratorów. Za pomocš tej konfiguracji może dostać się do danej sieci tylko jedna osoba (na raz). Jest tylko serwer i klient i nikt więcej się do niej nie dostanie.Nie ma możliwoci pracy zdalnej przez kilku urzytkowników.
Metoda 2- czyli serwer i praktycznie dowolna liczba userów. W tym wypadku trzeba zrobić centum certyfikacyjne i utworzyć oddzielne certyfikaty na serwer oraz userów.Dochodzi jeszcze do tego klucz wymiany dh (Diffie-Hellmann).Jest możliwoć również łšczenie oddziałów wraz z ustawieniem tras routingu do poszeczgólnych lokalizacji (dostęp do każdej podsieci z dowolnego oddziału).
Metoda 1
Na poczętek instalujemy Openvpn :
ipkg install openvpn easy-rsa Mając już zainstalowaną aplikacje mósimy zastanowić się na jakim porcie będziemy nawiazywać połączenie. Defaultowo jest na porcie UDP 1194 . My zrobimy na przykładnie portu UDP 5000.
Puszczamy port 5000 na firewall z zew. Najprociej jest wyedytować plik /etc/config/firewall i dodać wpis : accept:proto=udp dport=5000 . Zapisać i zrestartować.
Pierwszy krok mamy za sobš. Teraz trzeba pucić ruch przez wirtualny interface jaki nam się stworzy przy uruchomieniu openvpn .
Tworzymy katalog : mkdir /etc/openvpn | I tworzymy skrypt vim /etc/openvpn/forwarding.sh |
Po czym wklejamy zawartoć :
iptables -A INPUT -i br0 -j ACCEPT
iptables -A FORWARD -i br0 -j ACCEPT
iptables -A INPUT -i tun+ -j ACCEPT
iptables -A FORWARD -i tun+ -j ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Zapisujemy i dajemy prawa wykonywania chmod a+x forwarding.sh
Oczywicie miło by było żeby uruchamiał się przy starcie więc można stworzyć drugi skrypcik : vim /etc/init.d/S61forwarding | I wpisujemy :
#!/bin/sh
. /etc/openvpn/forwarding.sh
Zapisujemy i dajemy prawa do wykonywania jak w przypadku wyżej .
Tworzymy wspólny klucz dla serwera i klienta - Przechodzimy do katalogu /etc/openvpn/ i tworzymy klucz komendš : openvpn --genkey --secret klucz.key
I w tym momencie mamy już gotowy klucz. Teraz przyszła pora na stworzenie pliku konfiguracyjnego tunel.conf (katalog /etc/openvpn/)
vim /etc/openvpn/tunel.conf | I wklejamy konfiguracje.
dev tun -
proto udp
port 5000
ifconfig 10.8.0.1 10.8.0.2
secret /etc/openvpn/klucz.key
daemon
comp-lzo
Można dodać kilka opcji jak ping : wartość ( co pozwala sprawdzać stan połaczenia i ewewntualne wznowienie połączenia) verb 3 : pozwala określić wrażliwość logów jakie mają się generować i jeszcze wiele innych. Ale miało być szybko i prosto. Więc tak naprawdę serwer można już uruchomić :)
Można to zrobić albo z komendy :
openvpn --config /etc/openvpn/tunel.conf lub zrobić skrypt przy starcie routera vim /etc/init.d/S58openvpn.sh
#!/bin/sh
openvpn --daemon --config /etc/openvpn/tunel.conf
Zapisać i dać prawa do wykonywania.
W przypadku komendy openvpn --config /etc/openvpn/tunel.conf trzeba oddczekać aż zakończy się iniciowanie tunelu lub poprosu po kilku sekundach zamknšć terminal (nie używać ctr+c bo rozłšczymy tunel).
Naszym oczom powinien pojawić się nowy interface (komenda ifconfig) :
I na routerze mamy już gotowy serwer Openvpn.
Klient Windows OpenVpn
Jak już mamy serwer to przydało by się skonfigurować klienta . Poniżej opiszę procedurę klienta Windowsowego .
Ściągamy najnowszą wersję openvpn dla windows na obecnš chwilę http://openvpn.se/files/install_packages/openvpn-2.0.9-gui-1.0.3-install.exe
I instalujemy.Postępujemy według instrukcji i powszystkim tworzymy plik konfiguracyjny w katalogu (domyślnie zainstalowanego openvpn) C:\Program Files\OpenVPN\config
np tunel.ovpn (tworzymy za pomocą notepada tylko zapisujemy zamiast *.txt to *.ovpn)
W pliku tym wklejamy :
remote (po spacji wpisujemy publiczny adres ip serwera )
dev tun
proto udp
port 5000
ifconfig 10.8.0.2. 10.8.0.1
secret klucz.key
route 192.168.1.0 255.255.255.0 (jest to przykład trasy routingu ,jeżeli na routerze jest inna podsieć lan to należy jš wpisać)
comp-lzo
Zapisujemy . Trzeba pamiętać że do katalogu C:\Program Files\OpenVPN\config kopiujemy też certyfikat klucz.key
Teraz w windowsie w prawym dolnym rogu powinniśmy mieć znaczek openvpn gui . Wystarczy kliknšć prawy przycisk na ikonie i zaznaczyć connect . I powinno śmigać :)
Poniżej wklejam pdf-a z instalacjš na wiele userów oraz centrum certyfikacyjnym. Jak co służe pomocš garwi@garwi.pl
OpenVpn z wieloma klientami .
(ze strony Artykuł VPN na miare Koziński http://www.pckurier.pl/archiwum/art0.asp?ID=6130 )
Niestety nie mam już czasu robić swojego opisu ale z czasem zrobie krok po kroku instalacje jakiej sam używam w wiel firmach