Takze jste se konecne rozhodli do sveho routeru nainstalovat OpenWrt, nebo si router za timto ucelem rovnou poridili? Mate nainstalovane OpenWrt a potrebujete zprovoznit WiFi a NAT? Tak ctete! 😉
Predpokladam funkcni zarizeni s OpenWrt 10.03 a WiFi kartou Atheros (slo by to i bez Wifi). Na editaci souboru je potreba pouzivat textovy editor vi (vi soubor.txt). V zakladu je v OpenWrt dostupny prave editor vi (vykuchana verze vim dostupna v busyboxu).
Po prvnim spusteni routeru uvidite:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
Please press Enter to activate this console. BusyBox v1.15.3 (2010-04-06 03:14:11 CEST) 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 Backfire (10.03, r20728) -------------------------- * 1/3 shot Kahlua In a shot glass, layer Kahlua * 1/3 shot Bailey's on the bottom, then Bailey's, * 1/3 shot Vodka then Vodka. --------------------------------------------------- root@OpenWrt:/# |
Az to namichate a vypijete , zmente rootovi heslo:
1 2 3 4 5 6 7 |
root@OpenWrt:/# <strong>passwd root</strong> Changing password for root New password: Bad password: too short Retype password: Password for root changed by root root@OpenWrt:/# |
to je zaklad, nechce prece mit dalsiho spravce
OpenWrt ma vetsinu nastaveni ulozenou v /etc/config :
1 2 3 |
root@OpenWrt:/# ls /etc/config/ <strong>dhcp firewall ntpclient system wireless dropbear network </strong> root@OpenWrt:/# |
vyuziva se UCI rozhrani (Unified Configuration Interface).
Nastavte tedy sit. Ta se nastavuje v souboru /etc/config/network:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
root@OpenWrt:/etc/config# cat network 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 "eth1 wlan0" option type bridge option proto static option ipaddr 192.168.7.1 option netmask 255.255.255.0 config interface wan option ifname eth0 option proto dhcp root@OpenWrt:/etc/config# |
na loopback rozhrani nema cenu nic resit – nastavte ho jako ja.
Rozhrani wan je „vstup internetu do routeru“, jako na kupovanych krabickach. Nastavte tedy udaje od poskytovatele internetoveho pripojeni. Proto dhcp bere IP z dhcp, v pripade uvedeni static musite nastavit parametry rucne (jako u rozhrani lan).
U rozhrani lan vytvorime most dvou rozhrani – eth1 (sitova karta/karty, ke kterym pripojite pocitace v mistni siti) a wlan0 (wifi karta, ke ke ktere pripojite pocitace v mistni siti). Timto ziskate nove rozhrani br-lan, a to bude obsahovat kabel i bezdrat. Adresu nastavte rucne (static), pocitace budou dostavat IP adresy z DHCP z uvedeneho rozsahu 192.168.7.1.
Dokud nemate nainstalovan ovladac na wifi, neuvadejte zatim (po instalaci ovladace nezapomente doplnit!) „eth1 wlan0“, ale pouze „eth1“ – jinak budou problemy!
Dale si nastavte system v /etc/config/system:
1 2 3 4 5 |
root@OpenWrt:/etc/config# cat system config system option hostname OpenWrt option timezone 'CET-1CEST,M3.5.0,M10.5.0/3' root@OpenWrt:/etc/config# |
Tady je zajimavy radek hostname – jmeno vaseho routeru. Dulezity radek timezone definuje casovou zonu, svoji si najdete v tabulce.
nyni restartujte router (prikaz reboot) a po spusteni by mel jit internet:
1 2 3 4 5 6 7 8 9 10 |
root@OpenWrt:/#ping <strong>www.google.cz</strong> PING www.google.cz (209.85.148.105): 56 data bytes 64 bytes from 209.85.148.105: seq=0 ttl=53 time=15.040 ms 64 bytes from 209.85.148.105: seq=1 ttl=53 time=15.078 ms 64 bytes from 209.85.148.105: seq=2 ttl=53 time=19.460 ms ^C --- www.google.cz ping statistics --- 3 packets transmitted, 3 packets received, 0% packet loss round-trip min/avg/max = 15.040/16.526/19.460 ms root@OpenWrt:/# |
Nainstalujte tedy nezbytne programy a ovladace. Predpokladam WiFI kartu Atheros. U Atheros karet se v novych verzich OpenWrt nepokousejte o vyborny madwifi ovladac – nefunguje Misto nej pouzijte ath5k, nebo ath9k pro 802.11n karty. Na WiFi se sdilenym WPA PSK heslem bude stacit balicek wpad-mini (nepodporuje RADIUS).
1 2 3 4 5 6 7 8 9 10 |
root@OpenWrt:/# <strong>opkg update</strong> Downloading http://downloads.openwrt.org/backfire/10.03/ar71xx/packages/Packages.gz. Inflating http://downloads.openwrt.org/backfire/10.03/ar71xx/packages/Packages.gz. Updated list of available packages in /var/opkg-lists/packages. root@OpenWrt:/# root@OpenWrt:/# <strong>opkg install kmod-ath5k kmod-ath9k wpad-mini</strong> Package kmod-ath5k (2.6.32.10+2010-03-24-5) installed in root is up to date. Installing kmod-ath9k (2.6.32.10+2010-03-24-5) to root... Downloading http://downloads.openwrt.org/backfire/10.03/ar71xx/packages/kmod-ath9k_2.6.32.10+2010-03-24-5_ar71xx.ipk. ... |
Nyni natahnete athXk modul pro wifi, nebo pomoci reboot restartujte router. Pak prikazem iwconfig overte, ktera zarizeni „podporuji wifi“
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
root@OpenWrt:/# <strong>iwconfig</strong> lo no wireless extensions. eth0 no wireless extensions. eth1 no wireless extensions. br-lan no wireless extensions. <div style="font-weight: bold; margin: 0; padding: 0;"> wlan0 IEEE 802.11bg Mode:Master Frequency:2.442 GHz Tx-Power=20 dBm RTS thr:off Fragment thr:off Power Management:off </div> mon.wlan0 IEEE 802.11bg Mode:Monitor Frequency:2.442 GHz Tx-Power=20 dBm RTS thr:off Fragment thr:off Power Management:off |
WiFi karta se tedy jmenuje wlan0. Smazte nastaveni pro WiFi a spustte detekci (prijdete o predchozi nastaveni!), OpenWrt vytvori jednoduchy soubor s nastavenim:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
root@OpenWrt:/etc/config# <strong>rm -f /etc/config/wireless</strong> root@OpenWrt:/etc/config# <strong>wifi detect > /etc/config/wireless</strong> root@OpenWrt:/etc/config# <strong>cat <a href="http://wiki.openwrt.org/doc/uci/wireless">/etc/config/wireless</a></strong> config wifi-device radio0 option type mac80211 option channel 5 option macaddr 00:25:86:e4:eb:e4 option hwmode 11g # REMOVE THIS LINE TO ENABLE WIFI: option disabled 1 config wifi-iface option device radio0 option network lan option mode ap option ssid OpenWrt option encryption none root@OpenWrt:/etc/config# |
To samozrejme neni nejlepsi, takze udelejte mensi upravu:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
root@OpenWrt:/etc/config# <strong>cat /etc/config/wireless</strong> config wifi-device radio0 option type mac80211 option channel 7 option macaddr 00:25:86:e4:eb:e4 option hwmode 11g # REMOVE THIS LINE TO ENABLE WIFI: #option disabled 1 config wifi-iface option device radio0 option network lan option mode ap option ssid "Muj OpenWrt router" option encryption psk2 option key "strasneMocTajneHeslo123" root@OpenWrt:/etc/config# |
type mac80211 | athXk ovladac |
channel 7 | cislo kanalu |
macaddr 00:25:86:e4:eb:e4 | mac adresa WiFI karty, tu vygeneruje OpenWrt |
hwmode 11g | mod WiFI karty, tady je pouzity 2,4GHz 54Mbps |
#disabled 1 | potreba zakomentovat, jinak je WiFi vypnuta |
network lan | bude patrit do site lan (/etc/config/network) |
mode ap | WiFI karta bude delat pristupovy bod |
ssid „Muj OpenWrt router“ | jmeno site |
encryption psk2 | pouzijte WPA2 (na zpetnou kompatibilitu s WPA se neohlizejte kvuli bezpecnosti (kdyby nekdo mel stary notebook a neslo mu WPA2, staci prepsat na psk)). Vse se da najit v tabulce. RADIUS nejde pouzit s wpad-mini! |
key “strasneMocTajneHeslo123″ | heslo k WiFi siti. |
Heslo musi byt nejmene 8 znaku a maximalne 63 znaku dlouhe, jinak nebude WiFi fungovat! Vygenerujte alespon 15 znaku dlouhe heslo, ktere bude obsahovat nahodne znaky: velka a mala pismena, cisla a specialni znaky (#&“%+@“ …) hackum a carkam se vyhnete. Dobre heslo je dulezite, nechcete byt prece internetova kavarna pro siroke okoli, stejne se heslo zadava jen jednou, tak ho do PC opisete klidne z papiru.
Dalsi dulezita vec je firewal, ten je v souboru /etc/config/firewall:
1 2 3 4 5 |
root@OpenWrt:/etc/config# <strong>cat /etc/config/firewall</strong> config include option path /etc/firewall.user root@OpenWrt:/etc/config# |
ani se ho tam nepokousejte nastavit – je to chaoticky bordel. Napiste tam to, co ja a v souboru /etc/firewall.user si tak muzete napsat vlastni firewall pomoci iptables.
Budete delat NAT (Network Address Translation – za jednu IP adresu od poskytovatele schovate celou svoji sit). Protoze NAT NENI FIREWALL, jak si sposuta lidi mysli, nastavte jeste par pravidel. Pouzijte jednoduchou logiku, vse na vystupu povolit a vse na vstupu zakazat.
Jednoduchy (a funkcni) firewall vypada nasledovne:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
root@OpenWrt:/etc# <strong>cat /etc/firewall.user</strong> echo 1 > /proc/sys/net/ipv4/ip_forward #povoli IPv4 NAT iptables -F iptables -X #smaze vsechna pravidla iptables -P INPUT DROP iptables -P OUTPUT ACCEPT iptables -P FORWARD DROP #politika firewallu iptables -A INPUT -i lo -j ACCEPT iptables -A OUTPUT -o lo -j ACCEPT #mistni smycka povolena iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE #maskarada (NAT) => paketum, ktere jdou do internetu zmeni zdrojovou IP na IP sitovky eth0 iptables -A FORWARD -i eth0 -o br-lan -m state --state=RELATED,ESTABLISHED -j ACCEPT #jiz navazana spojeni z internetu do LAN povolit iptables -A FORWARD -o eth0 -i br-lan -j ACCEPT #spojeni z LAN do internetu povolit iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT #pakety k jiz navazanym spojenim povolit iptables -A INPUT -m state --state INVALID -j DROP #neplatne zahodit iptables -A INPUT -p icmp -j ACCEPT #povoli icmp (ping, traceroute, ...) na vsech rozhrannich iptables -A INPUT -i br-lan -j ACCEPT #vse z LAN povolit iptables -A OUTPUT -o eth0 -j ACCEPT #vse do internetu povolit iptables -A INPUT -j REJECT --reject-with icmp-admin-prohibited # vsechna ostatni prichozi spojeni, ktera nejsou definovana odmitnout |
a pro jisotu nastavte (kdyby nebyly) prava pro spusteni:
1 2 |
root@OpenWrt:/# <strong>chmod +x /etc/firewall.user</strong> root@OpenWrt:/# |
DHCP se da nastavit v /etc/config/dhcp, ale neni to potreba, staci nechat vychozi nastaveni.
Nyni pro jisotu restartujte router a pote uz by se mely byt klienti schopni pripojit pres kabel i bezdratove.
Takhle vidim v Ubuntu 10.10 router:
po pripojeni klient dostane IP adresu z DHCP:
Na routeru si muzete overit provoz site prikazem iptables -L -n -v
A to je vse! Nyni mate plne funkcni WiFi router. Funkce jsou stejne, jako u nejlevnejsich krabicek za 600Kc, ale mate zaklad a na tom se da stavet.
V pripade dotazu, piste do diskuze pod clankem.
S kartou CM9 nemam zadne zkusenosti. Podle wifi.aspa.cz by mela mit cip Atheros AR5213 (5004X).
Zatim jsem nemel s Atheros kartami v OpenWrt zadne vetsi problemy az na Atheros 5006X a madwifi. Bylo nutne pouzit ath5k – od te doby funguje bez problemu.
Jaky pouzivate ovladac?
po nahrání posledního OpenWrt mě trápí problém s WIFI, její bitrate se pohybuje jen v rozmezí 17mb/s – max. 65 mb/s, ačkoliv by měl být 300mb/s. Nikde na netu nemůžu najít řešení :-(. Nenapadá vás v čem by to mohlo být?
Díky za rady
s predchozi verzi OpenWrt to fungovalo spravne?
Jakou mate aktualne verzi a jaka byla ta stara funkcni verze? Jake pouzivate zarizeni? Nemenil jste nastaveni, nebo ovladac k wifi karte?
Poslete nastaveni, verzi OpenWrt, typ zarizeni a wifi karty a pouzity ovladac. Zkusim se na to podivat, treba mne neco napadne 🙂
tak jsem zkoušel rozběhnout openwrt pod Mikrotikem RB411.
Podařilo se mi přenést zkompilovaný systém do NAND, router bootuje, ale v /etc/config mi schází soubory ntpclient, network a wireless.
Pokud se pokusím soubor network sám v editoru napsat, vyskočí na mne při uložení – readonly system. Takže neuložím nic.
Potřebuji ho nastavit na domácí wifi router – drátová eth0 jako WAN a wifi0 jako místní síť.
Děkuji za radu,
Milan
omlouvam se za zpozdeni. Poslete mi prosim vypis prikazu „mount„. Pravdepodobne mate root (/) pripojen pouze pro cteni. OpenWrt na uzivatelske upravy pouziva overlay file system:
Momentalne tu nemam zadnou OpenWrt krabicku, takze se nemuzu podivat. Muzete poslat jeste vypis „ls -lha /„? Neni tam nekde adresar overlay?
Zkuste take „mount -o remount,rw /“ pak provedte upravy a zapiste data „sync„. Co se stane po restartu „reboot„? Data porad nikde?
Zdravím, koupil jsem zařízení nexx wt3020f. Nahrál jsem openwrt a chtěl bych nastavit druhou zásuvku která je primárně určena pro wan nastavit jako lan pro připojení druhého pc . Nevíte mi poradit? Tuček