AirCA8-PRO: Porovnání verzí

Z HKfree wiki
Skočit na navigaci Skočit na vyhledávání
Řádek 217: Řádek 217:
 
  root@OpenWrt:~#
 
  root@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:
 
*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 bridge
+
  root@OpenWrt:~# ipkg install br2684ctl
  Installing bridge (1.0.6-1) to root...
+
  Installing br2684ctl (2.4.1-1) to root...
  Downloading http://openwrt.dlabac.net/snapshots/atheros/packages/./bridge_1.0.6-1_mips.ipk
+
  Downloading http://openwrt.dlabac.net/snapshots/atheros/packages/./br2684ctl_2.4.1-1_mips.ipk
  Configuring bridge
+
  Configuring br2684ctl
 
  Done.
 
  Done.
 
  root@OpenWrt:~#
 
  root@OpenWrt:~#

Verze z 11. 7. 2008, 22:58

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 přístup přes telnet zablokuje a zařízení bude přístupně jen přes ssh pod loginem root a zvoleným heslem

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 "-"), 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 ...
       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

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 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 (256kB)

  • 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 ipk, 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:~#
  • 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:~#

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, 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:~#
  • 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