UBNT Bullet2
Die Ubiquiti Bullet2 ist ein Wetterfester Router, der direkt an Antennen mit N-Buchse angeschlossen werden kann. Man spart sich also das HF HDF-400 Kabel von der Antenne zum Router und hat deshalb auch dementsprechend weniger Noise. Sie kostet um die 40 Euro. Die Stromversorgung erfolgt über PoE direkt über das Netzwerkkabel (4,5+; 7,8-). Wichtig ist nicht mehr als 24 Volt in die Bullet zu schicken. Die Bullet verfügt über einen LAN-Anschluss und 6 LEDs. LED 1+2 zeigen Stromversorgung und LAN-Aktivität an. Dir restlichen LEDs zeigen im Originalbetriebssystem die Empfangsleistung an. Für AirOS gibt es zwar ein olsrd-Paket, aber leider ist der WLAN-Treiber nicht Ad-Hoc-Modus-fähig. Daher installiert man am besten OpenWRT-Backfire Vienna. Die Bullet sollte während der Konfiguration an eine Antenne geschraubt sein.
Inhaltsverzeichnis
OpenWRT Installation
nicht kompiliertes OpenWRT Image
Das OpenWRT Image kann bequem mit dem AirOS Webinterface auf die Bullet2 geflasht werden.
Folgendes Firmware-Image ist das richtige:
http://downloads.openwrt.org/kamikaze/8.09/atheros/openwrt-atheros-ubnt2-squashfs.bin
Freifunk Kamikaze
Als Alternative kann man auch das 0xFF-Backfire Vienna Kamikaze/Luci Firmware nehmen, da hier alle nötigen Freifunk-Pakete bereits inkludiert sind. Alle Einstellungen lassen sich zwar langsamer aber vielleicht für Anfänger bequemer im UI vornehmen.
ftp://oe1xrw.ozw.wien.funkfeuer.at/contrib/atheros/openwrt-atheros-ubnt2-squashfs.bin
flashen mit TFTP
Sollte man aus irgendwelchen Gruenden nicht mehr auf das Webinterface zugreifen koennen, kann man das Image auch per TFTP hochladen.
Dazu drueckt man nach dem einschalten sofort die Reset Taste fuer 6-10 Sekunden (bis jeweils 2 LEDs abwechselnd blinken), anschliessend verbindet man sich mit einem TFTP Client (evt. zuerst mit ping die Erreichbarkeit testen).
> tftp 192.168.1.20 > bin > put <IMAGE-NAME> > exit
flashen mit tftpd32
download von tftpd32: http://tftpd32.jounin.net/tftpd32_download.html)
nach dem einschalten sofort die Reset Taste fuer 6-10 Sekunden (bis jeweils 2 LEDs abwechselnd blinken), anschliessend TFTP Client starten
Programm PIC: [[1]] Server Interface = IP deines Computers Host = deine Bullet mit der IP = 192.168.1.20 LOCAL FILE = Firmware für die Bullet (openwrt-atheros-ubnt2-squashfs.bin) danach auf PUT clicken und ein paar Minuten warten bis die ersten zwei LEDs wieder grün leuchten. Die Bullet ist jetzt entweder über den Browser oder putty über die IP 192.168.1.1 erreichbar.
Nach dem flashen
Die Bullet hat nun die IP 192.168.1.1 entsprechend musst du deine Netzwerkkarte neu konfigurieren dann per telnet einloggen ("root"/kein passwort) und mit passwd ein passwort für den root user setzen um SSH zu aktivieren
Netzwerk Konfiguration
Die folgenden Netzwerk Konfiguration kann man unter anderem mit folgenden Programm (winscp) vornehmen:
http://winscp.net/eng/download.php
Die relevanten Files fuer die Netzwerkkonfiguration sind
- /etc/config/network
- /etc/config/wirless
OpenWRT bridged das Ethernet und WIFI Interface standardmaessig, diese Standardkonfiguration wird veraendert um auf dem Wireless Interface die oeffentliche IP zu konfigurieren. Auf dem Ethernet Interface wird eine private IP Adresse konfiguriert. Spaeter werden dann iptables Rules erstellt um den Traffic aus dem LAN nach aussen zu NAT'en.
/etc/config/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' 'eth0' option 'proto' 'static' option 'ipaddr' '192.168.xx.xx' option 'netmask' '255.255.255.0' #hier wird die IP Adresse eingetragen die man im Reedemer zugewiesen bekommen hat config 'interface' 'wan' option 'ifname' 'ath0' option 'proto' 'static' option 'ipaddr' 'xx.xx.xx.xx' option 'netmask' '255.255.xx.xx'
Die richtigen Werte fuer ssid/bssid entnimmt man am besten dieser Seite: Kanalwahl
Es ist darauf zu achten dass "option 'network' 'lan'" auskommentiert ist (man kann es auch ganz entfernen), da man sonst auf eth0 und ath0 die selbe IP hat.
/etc/config/wireless
config 'wifi-device' 'wifi0' option 'type' 'atheros' option 'channel' '1' config 'wifi-iface' option 'device' 'wifi0' # option 'network' 'lan' option 'encryption' 'none' option 'hidden' 0 option 'mode' 'adhoc' option 'ssid' 'v1.freiesnetz.www.funkfeuer.at' option 'bssid' '4E:FE:52:36:2E:65'
In der Standardkonfiguration sind nur die Kanäle 1-11 aktiviert. Möchte man die Kanäle 12 oder 13 verwenden, ist der CountryCode auf "Österreich" zu stellen. Dazu ändert man in der Datei /etc/modules.d/50-madwifi die Zeile mit ath_ahb auf:
ath_ahb countrycode=40
OLSR Installation
Da man auf der Bullet (wahrscheinlich) noch keinen Internetzugriff hat, kann man sich das ipk File auf den lokalen Rechner herunterladen, per SCP auf die Bullet kopieren und anschliessend per opkg installieren.
OLSR braucht die libpthread die du zuvor installieren musst
- http://downloads.openwrt.org/kamikaze/8.09/atheros/packages/libpthread_0.9.29-14_mips.ipk
- http://texas.funkfeuer.at/~harald/olsrd/mips/olsrd_0.5.6-r5-1_mips.ipk
opkg install <ipk-file>
OLSR Konfiguration
Das Konfigurationsfile fuer olsr heisst in OpenWRT: /etc/config/olsrd und es hat die uebliche UCI schreibweise, die sich von einer Standard olsr Konfigurationsdatei zwar syntaktisch unterscheidet aber die selben Konfigurationsparameter aufweisst. Die hier angegebenen Werte fuer Timer und Intervale sind von Empfehlungen auf der Funkfeuer Mailingliste uebernommen worden. Falls eine Parameter in der folgenden Liste vermisst wird so wurde dieser nicht explizit gesetzt da sein Standardwert bereits ok ist.
/etc/config/olsrd
config olsrd option IpVersion '4' option Willingness '7' option TcRedundancy '2' option LinkQualityAlgorithm 'etx_ff' option MprCoverage '7' config Interface list interface 'wan' option Ip4Broadcast '255.255.255.255' option HelloInterval '3.0' option HelloValidityTime '125.0' option TcValidityTime '500.0' option TcInterval '2.0' option MidInterval '25.0' option MidValidityTime '500.0' option HnaInterval '10.0' option HnaValidityTime '125.0'
Iptables / NAT
OpenWRT kommt mit einem Standard iptables Setup, ich habe es durch ein paar einfache Regeln ersetzt die ihren Zweck erfuellen. Das Script kann nach /etc/rc.d/S45_deinwunschname verlinkt werden.
#!/bin/sh iptables -F iptables -t nat -F iptables -X iptables -P INPUT DROP iptables -P FORWARD DROP iptables -P OUTPUT ACCEPT iptables -t nat -A POSTROUTING -s 192.168.xx.0/24 -j MASQUERADE iptables -A FORWARD -i ath0 -o ath0 -j ACCEPT iptables -A FORWARD -i eth0 -s 192.168.xx.0/24 -j ACCEPT iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT #olsr iptables -A INPUT -s 193.238.156.0/22 -p udp --dport 698 -j ACCEPT iptables -A INPUT -s 78.41.112.0/21 -p udp --dport 698 -j ACCEPT iptables -A INPUT -p icmp -j ACCEPT iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT iptables -A INPUT -i eth0 -j ACCEPT
DHCP DNS Option
Wenn man moechte, dass Clients, DNS Requests direkt an den DNS Server schicken, kann der DHCP Server so eingerichtet werden, dass er dies den Clients als Option mitgibt.
# uci add_list dhcp.lan.dhcp_option="6,193.238.157.16,193.238.157.5" # uci commit dhcp # /etc/init.d/dnsmasq restart
Durch diese Schritte wird die Datei /etc/config/dhcp entsprechend veraendert und dnsmasq neugestartet.
Anmerkung/Tipp
Die Ausspahrung im Schraubverschluss an der Unterseite ist zwar genau so gross dass ein RJ45 Stecker durchpasst, trotzdem sollte man bei gekauften (bereits gekrimpten) Kabeln darauf achten dass diese keinen Klipschutz haben. Dieser kann beim Durchfuehren des Kabels bzw. beim zuschrauben zu Problemen fuehren und muss dann evt. mit einem Messer vorsichtig entfernt werden.
fuer die signalstaerke leds gibt es einen (IMO zieml. invasiven) patch...
https://dev.openwrt.org/ticket/5066
Hardware Pics
- http://www.flickr.com/photos/mattw/3103755054/sizes/l/
- http://www.flickr.com/photos/mattw/3103756610/sizes/l/
(gruene platine = Bullet2, weisse platine = Bullet5)
(hier siehst Du, das Bullet2 und Picostation2 baugleich sind bis auf den Antennenanschluss)