AirCA8-PRO: Porovnání verzí

Z HKfree wiki
Skočit na navigaci Skočit na vyhledávání
Řádek 370: Řádek 370:
  
 
== DNS a DHCP server ==
 
== DNS a DHCP server ==
 +
Pokud chceme, aby počítače připojené k AirCAe dostaly automaticky přiřazenou adresu a zároveň byly v síti dostupné pod svými jmény, je potřebné nainstalovat DNS a DHCP server.
 +
*1. Nainstalujeme balíček ''dnsmasq'', obsahující program ''dnsmasq'', který plní úlohu DNS a DHCP serveru.
 +
root@OpenWrt:~# ipkg install dnsmasq
 +
*2. Veškerá nastavení pro ''dnsmasq'' jsou zapsána v souboru ''/etc/dnsmasq.conf''. Po nainstalování vypadá soubor ''dnsmasq.conf'' takto:
 +
# filter what we send upstream
 +
domain-needed
 +
bogus-priv
 +
filterwin2k
 +
localise-queries
 +
# allow /etc/hosts and dhcp lookups via *.lan
 +
local=/lan/
 +
domain=lan
 +
expand-hosts
 +
resolv-file=/tmp/resolv.conf.auto
 +
@ifdef dhcp_enable
 +
dhcp-range=@@start@@,@@end@@,@@netmask@@,@@lease@@
 +
dhcp-authoritative
 +
dhcp-leasefile=/tmp/dhcp.leases
 +
@endif
 +
@ifdef wan_ifname
 +
except-interface=@@wan_ifname@@
 +
@endif
 +
# use /etc/ethers for static hosts; same format as --dhcp-host
 +
# <hwaddr> <ipaddr>
 +
read-ethers
 +
# other useful options:
 +
# default route(s): dhcp-option=3,192.168.1.1,192.168.1.2
 +
#    dns server(s): dhcp-option=6,192.168.1.1,192.168.1.2
 +
*3. Zakomentujeme (přidáním ''#'' na začátek) řádky začínající ''@''.
 +
*4. Změníme hodnotu ''resolv-file'' na ''/tmp/resolv.conf''. Můžeme zakomentovat původní řádek a nový napsat pod něj.
 +
#resolv-file=/tmp/resolv.conf.auto
 +
resolv-file=/tmp/resolv.conf
 +
*5. Na řádku obsahujícím hodnotu ''dhcp-range'' nahradíme ''@@start@@,@@end@@,@@netmask@@,@@lease@@'' takto:
 +
**@@start@@ - počátek přidělovaného rozsahu IP adres
 +
**@@end@@ - konec přidělovaného rozsahu IP adres
 +
**@@netmask@@ - přidělovaná maska
 +
**@@lease@@ - doba propůjčení adresy v sekundách
 +
Takže výsledný řádek může vypadat takto:
 +
dhcp-range=192.168.33.2,192.168.33.20,255.255.255.0,1000
 +
Kde je přidělovaný rozsah IP adres 192.168.33.2-20 s maskou 255.255.255.0 a dobou propůjčení adresy na 1000 s.
 +
*6. Na řádku obsahujícím hodnotu ''except-interface'' nahradíme ''@@wan_ifname@@'' jménem vnějšího síťového rozhraní. V našem případě ''ath0''.
 +
except-interface=ath0
 +
*7. Na konci souboru přidáme řádky obsahující IP adresu brány a DNS serveru, které budou pomocí DHCP nastaveny. Pokud je AirCA jako NATující klient, je za adresu brány zvolena vnitřní IP adresa AirCAy a jako DNS server je možné zvolit bučto vnitřní adresu AirCAy nebo DNS servery v HKFree. V našem případě je vnitřní adresa AirCAy ''192.168.33.1''.
 +
# default route(s): dhcp-option=3,192.168.1.1,192.168.1.2
 +
dhcp-option=3,192.168.33.1
 +
#    dns server(s): dhcp-option=6,192.168.1.1,192.168.1.2
 +
dhcp-option=6,192.168.33.1
 +
*8. Otevřeme si ve ''vi'' soubor ''/etc/init.d/dnsmasq'' a u konce souboru najdeme následující část:
 +
  rm -f /tmp/resolv.conf
 +
                cat > /tmp/resolv.conf <<EOF
 +
nameserver 127.0.0.1
 +
search lan
 +
EOF
 +
Přepíšeme řádek ''nameserver 127.0.0.1'' adresou skutečného DNS serveru, v HKFree např. ''10.107.100.4'' nebo ''10.107.120.1''. Je možné použít adresy obě, takže výše zmíněná část souboru ''/etc/init.d/dnsmasq'' by vypadala takto:
 +
rm -f /tmp/resolv.conf
 +
                cat > /tmp/resolv.conf <<EOF
 +
nameserver 10.107.4.100
 +
nameserver 10.107.120.1
 +
search lan
 +
EOF
 +
*9. Nakonec vytvoříme symbolický odkaz ''S51dnsmasq'' v adresáři ''/etc/rc.d/'' na soubor ''/etc/init.d/dnsmasq''.
 +
root@OpenWrt:~# ln -s /etc/init.d/dnsmasq /etc/rc.d/S51dnsmasq
  
 
== NTP klient ==
 
== NTP klient ==

Verze z 1. 8. 2008, 22:34

OpenWRT pro AirCA8-Pro

Tento návod je jakožto instalovat, konfigurovat a provozovat projekt OpenWRT na zařízení s Atheros čipem jako je AirCA8-Pro, Ovislink 5000AP, apod.

Proč OpenWRT?

  • Lepší ovládání výkonu zařízení.
  • Odstraní problém s více IP z jedné MAC adresy (více IP, např. interní a veřejná na jednom počítači).
  • Staví zařízení na jinou úroveň, lze na něm poté provozovat cokoli na co jsou zkompilované balíčky, grafy, web server, dhcp server, scripty a mnoho dalšího.

Instalace

  • 1. Stáhnu image OpenWRT pro AirCA8-Pro.
  • 2. Přihlásím se na webové rozhraní AirCAy a upgraduju firmware, system tools > firmware upgrade, pomocí browse najdu image z předchzího kroku
  • 3. stisknu upgradu, čekám než se firmware do zařízení nahraje, během nahrávání v žádném případě AirCAu neodpojuji od napájení!. Pokud v tomto kroku zařízení zahlásí, že je soubor chybný, je třeba ještě následující:
    • Přihlásit se telnetem na konzoli zařízení (AP: telnet 192.168.1.1 CLIENT: telnet 192.168.1.2)
    • Zadat příkaz "z_debug signature disable"
    • Potvrdit následujici dotaz napsáním "Yes"
    • Pokud se objeví "Signature check is now DISABLED!!!" je vše ok
    • Vrátit se k bodu 2 a postup opakovat
  • 4. Nastavím si IP na počítači aby tylo ze sítě 192.168.1.0/24 třeba 192.168.1.11 maska 255.255.255.0, zařízení je defaultně na 192.168.1.1 maska 255.255.255.0
  • 5. Přihlásím se telnetem (start>spustit>telnet 192.168.1.1) k AirCAe a změním heslo pro uživatele root
root@OpenWrt:~# passwd root
Changing password for root
New password: sem_napisu_svoje_tajne_heslo(znaky_se_nezobrazuji)
Bad password: too weak
Retype password: sem_napisu_svoje_tajne_heslo_znovu(znaky_se_nezobrazuji)
Password for root changed by root
root@OpenWrt:~# reboot
root@OpenWrt:~#

Po tomto kroku se vygenerují šifrovací klíče, přístup přes telnet zablokuje a zařízení bude přístupně jen přes ssh pod loginem root a zvoleným heslem. Po změně hesla je třeba před rebootem počkat přibližně dvě minuty, aby byl dostatek času na vygenerování klíčů.

Pro paranoiky upozorňuji, že vygenerované klíče (DSS a RSA) jsou pro všechny AirCAy stejné. Na začátku nemá AirCA dostatek entropie pro vygenerování náhodného klíče. Pokud chcete skutečně náhodné klíče, je možné je vygenerovat až po nějaké době provozu zařízení.

Pokud z nějakého důvodu je nutné obnovit přístup přes telnet, je pořeba při připojení napájení stisknout a držet tlačítko Reset. Tlačítko půstíme až po nastartování AirCAy. Tím se přeskočí všechny startovací skripty, vč. toho, který má na starost zablokování telnetu. To se také může hodit např. pokud špatně nastavíte pravidla na firewalu a nebude možné se k AirCAe připojit.

Konfigurace

  • 1. Přihlásím se do zařízení po ssh, IP je stále 192.168.1.1 (ve Win přes putty).
login as: root
root@10.107.136.12's password:
BusyBox v1.4.1 (2007-03-05 12:08:30 CET) Built-in shell (ash)
Enter 'help' for a list of built-in commands.
 _______                     ________        __
|       |.-----.-----.-----.|  |  |  |.----.|  |_
|   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
|_______||   __|_____|__|__||________||__|  |____|
         |__| W I R E L E S S   F R E E D O M
KAMIKAZE (bleeding edge, r83) -------------------
 * 10 oz Vodka       Shake well with ice and strain
 * 10 oz Triple sec  mixture into 10 shot glasses.
 * 10 oz lime juice  Salute!
---------------------------------------------------
root@OpenWrt:~#
  • 2. Edituji soubor /etc/config/network programem vi, zde se nastavuje ip LAN a WAN části zařízení
root@OpenWrt:~# vi /etc/config/network.
  • 3. Stisknutím klávesy insert se přepnu do editačního modu, v levém dolním rohu okna by mělo zobrazit místo "-" písmeno "I" jako Insert.
  • 4. Po položkách se pohybuji šipkami, znaky mažu vždy klávesou backspace, nikoli deletem, víceznakové odsazení je tabulátorem.
  • 5. Na příslušné místo zapíši IP, masku, bránu a DNS:
# Copyright (C) 2006 OpenWrt.org
config interface loopback
       option ifname   lo
       option proto    static
       option ipaddr   127.0.0.1
       option netmask  255.0.0.0
config interface lan
       option ifname   eth0
       option proto    static
       option ipaddr   192.168.1.1 #IP adresa LAN casti zarizeni
       option netmask  255.255.255.0 #maska LAN casti zarizeni
config interface wan
       option ifname   ath0
       option proto    static
       option ipaddr   10.107.xxx.xxx #IP adresa WAN casti zarizeni za x dosadit konkretni cisla
       option netmask  255.255.255.xxx #maska WAN casti zarizeni za x dosadit konkretni cisla
       option gateway  10.107.xxx.xxx #brana za x dosadit konkretni cisla
       option dns      10.107.4.100 #dns server(polozka nemusi byt pritomna)

Pozor! pokud zde napíšete něco chybně, může se stát, že zařízení nedostane žádnou IP a potom se do něj nepůjde dostat!

  • 6. Editaci ukončím stiskem klávesy Esc (znak vlevo dole se opět změní na "-"), pro uložení a ukončení napíšu :x (dvojtečka, x) a enter, pokud nechci změny ukládat napíšu :q! (dvojtečka, q, vykřičník), tyto řídící znaky se vypisují vlevo dole kde je "-".
  • 7. Edituji soubor /etc/config/wireless programem vi, zde se nastavuje konfigurace WAN části zařízení, mod ve kterém pracuje (5 nebo 2,4GHz) a ssid APčka.
root@OpenWrt:~# vi /etc/config/wireless
config wifi-device  wifi0
       option type     atheros
       option mode     11a #zarizeni pracuje v pasmu 5GHz, dalsi pripustne option jsou 11b a 11g (2,4GHz)
config wifi-iface
       option device   wifi0
       option network  wan
       option mode     sta
       option ssid     AP.hkfree.org #zde je ssid nazev vaseho AP, ssid AP je k videni pri scanovani, viz kapitola AirCA8-PRO#Scanov.C3.A1n.C3.AD
       option hidden   0
       option encryption none
  • 8. Abychom mohli fungovat na frekvenčních rozsazích použitelných v České republice, musíme ještě přidat konfigurační položku do /etc/modules.d/50-madwifi:
root@OpenWrt:~# vi /etc/modules.d/50-madwifi
  • 9. Naposlední řádek souboru přidáme: "ath_ahb countrycode=616" bez uvozovek, 616 je kod pro CR.
wlan
wlan_scan_ap
wlan_scan_sta
ath_hal
ath_rate_sample
wlan_acl
wlan_ccmp
wlan_tkip
wlan_wep
wlan_xauth
ath_ahb countrycode=616

Scanování

Scanováním zjistíme jaké sítě (APčka) jsou v dosahu naší antény:

root@OpenWrt:~# iwlist ath0 scan
ath0      Scan completed :
         Cell 01 - Address: 00:0B:6B:2A:D8:BA
                   ESSID:"yzop5g.hkfree.org"
                   Mode:Master
                   Frequency:5.58 GHz (Channel 116)
                   Quality=35/94  Signal level=-60 dBm  Noise level=-95 dBm
                   Encryption key:off
                   Bit Rates:6 Mb/s; 9 Mb/s; 12 Mb/s; 18 Mb/s; 24 Mb/s
                             36 Mb/s; 48 Mb/s; 54 Mb/s
                   Extra:bcn_int=100
         Cell 02 - Address: 00:0B:6B:87:17:70
...
         Cell 23 - Address: 00:0B:6B:81:CA:56
                   ESSID:"bngal03"
                   Mode:Master
                   Frequency:5.24 GHz (Channel 48)
                   Quality=12/94  Signal level=-83 dBm  Noise level=-95 dBm
                   Mode:Master
root@OpenWrt:~#

Zde zjistíme hlavně essid AP (ESSID:"yzop5g.hkfree.org") a s jakou silou signálu ho chytáme (Quality=35/94 Signal level=-60 dBm), výpis není nijak seřazený.

Výpis konfigurace

IP, MAC adresy

K tomuto slouží příkaz ifconfig, interface ath0 pro wifi část, eth0 pro lan část:

root@OpenWrt:~# ifconfig ath0
ath0      Link encap:Ethernet  HWaddr 00:0B:6B:xx:xx:xx (MAC Adresa)
          inet addr:89.248.xxx.xxx  Bcast:89.255.255.255  Mask:255.255.240.0 (IP, broadcast, maska)
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:55306492 errors:0 dropped:0 overruns:0 frame:0
          TX packets:31211052 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:1000653166 (954.2 MiB)  TX bytes:2036911216 (1.8 GiB)
root@OpenWrt:~# ifconfig eth0
eth0      Link encap:Ethernet  HWaddr 00:0B:6B:xx:xx:xx (MAC Adresa)
          inet addr:192.168.xxx.xxx Bcast:192.168.xxx.xxx  Mask:255.255.255.0 (IP, broadcast, maska)
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:30707210 errors:0 dropped:0 overruns:0 frame:0
          TX packets:52894929 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:2030795826 (1.8 GiB)  TX bytes:0 (0.0 B)

wifi

K tomuto slouží příkaz iwconfig, interface ath0 pro wifi:

root@OpenWrt:~# iwconfig ath0
ath0      IEEE 802.11a  ESSID:"yzop5g.hkfree.org" (mod, essid)
          Mode:Managed  Frequency:5.58 GHz  Access Point: 00:0B:6B:xx:xx:xx (frekvence AP, MAC AP)
          pokud je místo hexadecimálního kodu "Not-Associated" zarizeni neni spojeno s AP!
          Bit Rate:36 Mb/s   Tx-Power=14 dBm   Sensitivity=0/3 (rate, vystupni vykon zarizeni)
          Retry:off   RTS thr:off   Fragment thr:off
          Encryption key:off
          Power Management:off
          Link Quality=34/94  Signal level=-61 dBm  Noise level=-95 dBm (sila signalu AP)
          Rx invalid nwid:13244919  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0

Změna výstupního výkonu

Pokud potřebujeme omezit výstupní výkon wifi karty z továrních 14dbm použijeme paramert příkazu iwconfig:

root@OpenWrt:~# iwconfig ath0 txpower 10 (změní výstupní výkon karty na 10dbm)

Propojení LAN a wifi části

NAT

Použití NATu vždy konzultujte se svým spávcem!

V adresáři /etc/init.d/ vytvoříme script, který budeme spouštět při zaždém spuštění zařízení:

root@OpenWrt:~# vi /etc/init.d/srcnat

Jeho obsahem bude:

#!/bin/sh /etc/rc.common
START=45
start() {
        # Nastaveni NATu
        iptables -t nat -A POSTROUTING -o ath0 -j SNAT --to IP_adresa_wifi_casti_AirCAy
        }
stop() {}

Poté vytvoříme na soubor se scriptem symbolický odkaz v adresáři /etc/rc.d/:

root@OpenWrt:/tmp# cd /etc/rc.d/
root@OpenWrt:/etc/rc.d# ln -s /etc/init.d/srcnat S60srcnat
root@OpenWrt:/etc/rc.d# ls -l
...
lrwxrwxrwx    1 root     root           18 Jul 10 23:55 S60srcnat -> /etc/init.d/srcnat
root@OpenWrt:/etc/rc.d#

Bridge

  • 1. Před nastavením bridge musí být nainstalován balíček "bridge", viz instalace balíčků.
  • 2. Vytvořím bridge, pojmenuji ho "br0":
root@OpenWrt:~# brctl addbr br0
  • 3. Nastavím bridgi IP adresu:
root@OpenWrt:~# ifconfig br0 10.107.xxx.xxx netmask 255.255.255.xxx
  • 4. Přidám do bridge interfacy, které chci mít spojené, tedy ath0 a eth0:
root@OpenWrt:~# brctl addif br0 ath0
root@OpenWrt:~# brctl addif br0 eth0
  • 5. přihlásím se k AirCAe na IP bridge, teč by se mělo jít dostat na stejnou adresu jak po ethernetu tak po wifi.
  • 6. Zruším interfacům jejich adresy:
root@OpenWrt:~# ifconfig ath0 0.0.0.0
root@OpenWrt:~# ifconfig eth0 0.0.0.0
  • 7. celý postup si vložim do scriptu, který budu spouštět po startu zařízení, podrobněji viz nat:
root@OpenWrt:~# vi /etc/init.d/bridge

Obsah scriptu:

#!/bin/sh /etc/rc.common
START=45
start() {
       brctl addbr br0
       ifconfig br0 10.107.xxx.xxx netmask 255.255.255.xxx
       brctl addif br0 ath0
       brctl addif br0 eth0
       ifconfig ath0 0.0.0.0
       ifconfig eth0 0.0.0.0
       }
stop() {}
  • 8. Poté vytvořím na soubor se scriptem symbolický odkaz v adresáři /etc/rc.d/:
root@OpenWrt:/tmp# cd /etc/rc.d/
root@OpenWrt:/etc/rc.d# ln -s /etc/init.d/bridge S60bridge
root@OpenWrt:/etc/rc.d# ls -l
...
lrwxrwxrwx    1 root     root           18 Jul 10 23:55 S60bridge -> /etc/init.d/bridge
root@OpenWrt:/etc/rc.d#
  • 9. Bridge je hotov, podrobný soupis nastavení:
root@OpenWrt:~# brctl showstp br0
br0
 bridge id              8000.000b6b3f02d5
 ...
eth0 (2)
 port id                8002                    state                forwarding
 designated root        8000.000b6b3f02d5       path cost                100
 designated bridge      8000.000b6b3f02d5       message age timer          0.00
 designated port        8002                    forward delay timer        0.00
 designated cost           0                    hold timer                 0.55
 flags

Routování

Pokud chceme IP rozsahy routovat použijeme příkaz route, toto pošle veškerý provoz na bránu s IP 10.107.xxx.xxx:

root@OpenWrt:~# route add 0.0.0.0 netmask 0.0.0.0 gw 10.107.xxx.xxx

Obsah routovací tabulky dostaneme následovně:

root@OpenWrt:~# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.107.xxx.1    255.255.255.255 UGH   0      0        0 eth0
10.107.xxx.0    0.0.0.0         255.255.255.0   U     0      0        0 eth0
0.0.0.0         10.107.xxx.1    0.0.0.0         UG    0      0        0 eth0

Balíčky

Balíčky zkompilované pro MIPS architekturu AirCAy najdeme zde: Packages

Instalace balíčků

  • 1. Pro jistotu zjistím zda mám na zařízení dostatek paměti, zajímá mě hodnota "Available" u /dev/root (flash paměť):
root@OpenWrt:~# df -h
Filesystem                Size      Used Available Use% Mounted on
/dev/root                 3.1M      2.9M    256.0k  92% /
none                     14.9M    376.0k     14.6M   2% /tmp
root@OpenWrt:~#

Ještě tam trochu místa je (256 kB). Pokud by jste začali instalovat balíček, který se spolu s potřebnými knihovnami nevejde do paměti, balíček se nenainstaluje kompletně a nepůjde tedy ani odinstalovat. Již nainstalované knihovny bude třeba odstranit ručně.

  • 2. Stáhnu balíček který chci instalovat, ukládám ho do adresáře /tmp který je přimountovaný k RAM paměti AirCAy, kapacita je cca 14.9MB, ovšem po rebootu její obsah zmizí! (pro ukázku balíček br2684ctl).
root@OpenWrt:~# cd /tmp
root@OpenWrt:~# wget http://openwrt.dlabac.net/snapshots/atheros/packages/br2684ctl_2.4.1-1_mips.ipk
Connecting to openwrt.dlabac.net [213.192.30.98:80]
br2684ctl_2.4.1-1_mi 100% |**********************************************************************************************************|  4869    --:--:-- ETA
root@OpenWrt:~#
  • 3a. OpenWRT používá balíčkovací systém ipkg, zvolím tedy parametr install a název staženého balíčku, více o možnostech viz manuálová stránka ipkg (ipkg --help).
root@OpenWrt:~# ipkg install br2684ctl_2.4.1-1_mips.ipk
Installing br2684ctl (2.4.1-1) to root...
Installing linux-atm (2.4.1-1) to root...
Downloading http://openwrt.dlabac.net/snapshots/atheros/packages/./linux-atm_2.4.1-1_mips.ipk
Configuring br2684ctl
Configuring linux-atm
Done.
root@OpenWrt:~#

Výše uvedený postup (3a) není doporučeným postupem pro balíčky z repozitáře. Jak získat seznam všech balíčků v repozitáři je uvedeno níže.

Výše uvedený postup je vhodné aplikovat pouze tehdy, není-li požadovaný balíček v repozitáři, ale nachází se někde jinde na webu, např. na stránkách OpenWRT.

  • 3b. Pokud znám název balíčku, nemusím ani provádět bod 2. ipkg si balíček stáhne sám:
root@OpenWrt:~# ipkg install br2684ctl
Installing br2684ctl (2.4.1-1) to root...
Downloading http://openwrt.dlabac.net/snapshots/atheros/packages/./br2684ctl_2.4.1-1_mips.ipk
Configuring br2684ctl
Done.
root@OpenWrt:~#

Výše uvedený postup (3b) je jednoznačně doporučeným postupem pro balíčky z repozitáře.

Některé balíčky jsou závislé na určitých knihovnách, ty se většinou pomocí závislostí stáhnou sami.

Odinstalace Balíčků

  • Vyberu balíček, který chci odebrat (např. kvůli úspoře místa), použiji parametr remove a jméno balíčku, nikoli název souboru s balíčkem.
root@OpenWrt:~# ipkg remove br2684ctl
Removing package br2684ctl from root...
Done.
root@OpenWrt:~#

Při odstraňování pozor abyste nesmazali něco co je potřeba pro správný chod systému! Můžete se dostat do situace kdy pomůže pouze sériový kabel.

Další užitečné parametry ipkg

  • list - vypíše všechny dostupné balíčky v repozitáři, seznam se bere z web adresy zapsané v /etc/ipkg.conf:
root@OpenWrt:~# cat /etc/ipkg.conf
src snapshots http://openwrt.dlabac.net/snapshots/atheros/packages
dest root /
dest ram /tmp
root@OpenWrt:~#
  • update - provede aktualizaci seznamu balíčků v repozitáři
  • list_installed - vypíše všechny balíčky, které jsou v zařízení již nainstalované
  • info - informace o balíčku:
root@OpenWrt:~# ipkg info bridge
Package: bridge
Version: 1.0.6-1
Status: unknown ok not-installed
Section: net
Architecture: mips
maintainer: OpenWrt Developers Team <openwrt-devel@openwrt.org>
MD5Sum: 93d49f6772d16acd981ede010fc5466b
Size: 9725
Filename: ./bridge_1.0.6-1_mips.ipk
Source: package/bridge
Description: Ethernet bridging configuration utility
 Manage ethernet bridging: a way to connect networks together to
 form a larger network.
Done.
root@OpenWrt:~#
  • download - stáhne daný balíček do současného adresáře, píše se jméno balíčku nikoli název souboru s balíčkem, to samé jako wget cesta_k_balíčku z předchozí části o instalaci
  • upgrade - provede aktualizaci všech balíčků, které se v repozitáři nachází v novější verzi. Vhodné je provést před tímto krokem aktualizaci seznamu balíčků.

Nahrání firmware z OpenWRT

Pokud chci do zařízení vrátit např. původní firmware, nebo jiný OpenWRT, postupuji následovně:

  • 1. Ověřím, že mám nainstalovaný balíček s názvem "flash" (ipkg info flash - status musí být "install..."), pokud nemám nainstaluji si ho podle návodu instalace balíčků
  • 2. Stáhnu si pomocí wget firmware někde ze sítě, např. wget http://openwrt.dlabac.net/Original_FW/CA8-4-AP-FW-v1_08e05.bin
  • 3. Flashnu nový firmware (flash jmeno_souboru_s_firmware), celý postup:
root@OpenWrt:~# ipkg info flash
...
Status: install ok installed
...
Done.
root@OpenWrt:~# cd /tmp
root@OpenWrt:~# wget http://openwrt.dlabac.net/Original_FW/CA8-4-AP-FW-v1_08e05.bin
Connecting to openwrt.dlabac.net [213.192.30.98:80]
CA8-4-AP-FW-v1_08e05 100% |*******************************************************|  2080 KB 00:00:00 ETA
root@OpenWrt:~# flash CA8-4-AP-FW-v1_08e05.bin
  • 4. Čekám až se zařízení přeflashuje a restartuje (2-3min.)

Špatné nahrání firmware

Občas se stane, že se firmware nahraje špatně i když vše proběhne v pořádku. Při každém startu si zařízení samo zjišťuje zda je daný firmware validní pomocí hash kontroly, pokud není, pokusí se firmware nahrát z tftp serveru. Postup jak toto umožnit:

  • 1. Zařízení odpojím od napájení.
  • 2. na počítači si zařídím tftp server, pod win např. SolarWinds tftp server (tato verze odzkoušena, funguje), návod na Solarwinds: Tftp#SolarWinds_tftp_server.
  • 3. Stáhnu si firmware, který chci do zařízení nechat nahrát.
  • 4. Soubor s firmware přejmenuji na "zImage" bez uvozovek (pozor na velká/malá písmena!) a vložím ho do kořene tftp.
  • 5. Na počítači nastavím IP 192.168.1.254, maska 255.255.255.0, AriCA ve stavu čekajícím na fw je na IP 192.168.1.1.
  • 6. Propojím AirCAu s počítačem ethernetovým kabelem (jedno který port) a AirCAu připojím k napájení.
  • 7. Čekám zda AirCA přijme soubor s imagem firmware, pokud ne, je ještě možnost oživení pomocí seriového kabelu, viz dále.

Seriový kabel

Pokud se stalo to, že AirCA z nějakého důvodu nefunguje a postup z předchozí kapitoly nepomáhá, je třeba AirCAu připojit seriovým rozhraním Seriová konzole, pokud rozhraní nemáte můžete kontaktovat autora návodu: Uživatel:Locutus.

  • 1. Připravím si vše do takového stavu jak je popsáno v kapitole Špatné nahrání firmware.
  • 2. Nakonfiguruji si Hyperterminál nebo Minicon na následující hodnoty: přenosová rychlost 115200 baudů, 8 datových bitů, žádná parita a 1 stop bit.
  • 3. Propojím AirCAu a Počítač seriovou konzolí.
  • 4. Připojím AirCAu k napájení, asi po 2s by měla vypsat toto:
     ============================================
       WNEWEB AR2312 Boot Loader Interface
       V1.00e00 2005-05-27 (zImage)
     ============================================
Please choose the operation:
   1: Load system code to SDRAM via TFTP.
   2: Load system code then write to Flash via TFTP.
   3: Boot system code via Flash.
   4: Load calibration data then write to Flash via XModem.
  • 5. Mám cca 3s abych vybral možnost za 2.
  • 6. AirCA by si měla stáhnou firmware z tftp, flashnout se a restartovat se.

Užitečný software a nastavení

P2P OpenVPN

DNS a DHCP server

Pokud chceme, aby počítače připojené k AirCAe dostaly automaticky přiřazenou adresu a zároveň byly v síti dostupné pod svými jmény, je potřebné nainstalovat DNS a DHCP server.

  • 1. Nainstalujeme balíček dnsmasq, obsahující program dnsmasq, který plní úlohu DNS a DHCP serveru.
root@OpenWrt:~# ipkg install dnsmasq
  • 2. Veškerá nastavení pro dnsmasq jsou zapsána v souboru /etc/dnsmasq.conf. Po nainstalování vypadá soubor dnsmasq.conf takto:
# filter what we send upstream
domain-needed
bogus-priv
filterwin2k
localise-queries
# allow /etc/hosts and dhcp lookups via *.lan
local=/lan/
domain=lan
expand-hosts
resolv-file=/tmp/resolv.conf.auto
@ifdef dhcp_enable
dhcp-range=@@start@@,@@end@@,@@netmask@@,@@lease@@
dhcp-authoritative
dhcp-leasefile=/tmp/dhcp.leases
@endif
@ifdef wan_ifname
except-interface=@@wan_ifname@@
@endif
# use /etc/ethers for static hosts; same format as --dhcp-host
# <hwaddr> <ipaddr>
read-ethers
# other useful options:
# default route(s): dhcp-option=3,192.168.1.1,192.168.1.2
#    dns server(s): dhcp-option=6,192.168.1.1,192.168.1.2
  • 3. Zakomentujeme (přidáním # na začátek) řádky začínající @.
  • 4. Změníme hodnotu resolv-file na /tmp/resolv.conf. Můžeme zakomentovat původní řádek a nový napsat pod něj.
#resolv-file=/tmp/resolv.conf.auto
resolv-file=/tmp/resolv.conf
  • 5. Na řádku obsahujícím hodnotu dhcp-range nahradíme @@start@@,@@end@@,@@netmask@@,@@lease@@ takto:
    • @@start@@ - počátek přidělovaného rozsahu IP adres
    • @@end@@ - konec přidělovaného rozsahu IP adres
    • @@netmask@@ - přidělovaná maska
    • @@lease@@ - doba propůjčení adresy v sekundách

Takže výsledný řádek může vypadat takto:

dhcp-range=192.168.33.2,192.168.33.20,255.255.255.0,1000

Kde je přidělovaný rozsah IP adres 192.168.33.2-20 s maskou 255.255.255.0 a dobou propůjčení adresy na 1000 s.

  • 6. Na řádku obsahujícím hodnotu except-interface nahradíme @@wan_ifname@@ jménem vnějšího síťového rozhraní. V našem případě ath0.
except-interface=ath0
  • 7. Na konci souboru přidáme řádky obsahující IP adresu brány a DNS serveru, které budou pomocí DHCP nastaveny. Pokud je AirCA jako NATující klient, je za adresu brány zvolena vnitřní IP adresa AirCAy a jako DNS server je možné zvolit bučto vnitřní adresu AirCAy nebo DNS servery v HKFree. V našem případě je vnitřní adresa AirCAy 192.168.33.1.
# default route(s): dhcp-option=3,192.168.1.1,192.168.1.2
dhcp-option=3,192.168.33.1
#    dns server(s): dhcp-option=6,192.168.1.1,192.168.1.2
dhcp-option=6,192.168.33.1
  • 8. Otevřeme si ve vi soubor /etc/init.d/dnsmasq a u konce souboru najdeme následující část:
 rm -f /tmp/resolv.conf
                cat > /tmp/resolv.conf <<EOF
nameserver 127.0.0.1
search lan
EOF

Přepíšeme řádek nameserver 127.0.0.1 adresou skutečného DNS serveru, v HKFree např. 10.107.100.4 nebo 10.107.120.1. Je možné použít adresy obě, takže výše zmíněná část souboru /etc/init.d/dnsmasq by vypadala takto:

rm -f /tmp/resolv.conf
                cat > /tmp/resolv.conf <<EOF
nameserver 10.107.4.100
nameserver 10.107.120.1
search lan
EOF
  • 9. Nakonec vytvoříme symbolický odkaz S51dnsmasq v adresáři /etc/rc.d/ na soubor /etc/init.d/dnsmasq.
root@OpenWrt:~# ln -s /etc/init.d/dnsmasq /etc/rc.d/S51dnsmasq

NTP klient

NTP slouží k přesnému nastavení času za pomoci NTP serveru. Po připojení napájení nebo po restartu, je na AirCAe čas 00.00:00 a datum 1.1.1970. Ruční nastavení je sice možné, ale značně nepraktické.

  • 1. Nainstaluji NTP klienta v podobě balíčku ntpclient.
root@OpenWrt:~# ipkg install ntpclient
  • 2. Nastavím správné časové pásmo pro Českou Republiku zapsáním CET-1CEST-2,M3.5.0/02:00:00,M10.5.0/03:00:00 do souboru /etc/TZ. Posun ze zimního času na letní a zpět se provádí automaticky.
echo CET-1CEST-2,M3.5.0/02:00:00,M10.5.0/03:00:00 > /etc/TZ
  • 3. Vyzkouším funkčnost a dostupnost NTP serveru pomocí příkazu ntpclient -s -h ntp.hkfree.org, kde ntp.hkfree.org je zvolený NTP server. Pokud je server dostupný a funkční, objeví se řada čísel a program se ukončí. Čísla jsou po každém spuštění jiná.
root@OpenWrt:~# ntpclient -s -h ntp.hkfree.org
39659 72662.170    2078.0     17.9   -8047.3 83140258.8         0

Správnost nastaveného času je možné ověřit za pomoci příkazu date.

root@OpenWrt:~# date
Fri Aug  1 22:12:04 CEST 2008
  • 4. Nastavení času po každém restartu zajistím vložením výše uvedeného příkazu do skriptu NTP v adresáři /etc/init.d/.

Obsah /etc/init.d/NTP:

#!/bin/sh /etc/rc.common
START=47
start() {
        ntpclient -s -h ntp.hkfree.org
        }
stop() {}

A vytvořením symbolického odkazu S53NTP v adresáři /etc/rc.d/.

root@OpenWrt:~# ln -s /etc/init.d/NTP /etc/rc.d/S53NTP

Pokud v době vykonávání výše uvedeného skriptu bude server nedostupný, např. kvůli vysokému packet lossu, zůstane čas na AirCAe nenastaven. V takovém případě je potřeba čas nastavit příkazem ntpclient s uvedenými parametry.