OpenWrt
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
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
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
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żliwości 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. Najprościej jest wyedytować plik /etc/config/firewall i dodać wpis : accept:proto=udp dport=5000 . Zapisać i zrestartować.
Pierwszy krok mamy za sobą. Teraz trzeba puścić 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
Oczywiście 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 .