4.2. Die Grundkonfiguration

Aufgrund einiger HAMNET spezifischer Einstellungen sowie der Vielfalt an Paketen gibt es zur Zeit keine Grafische (Web) Oberfläche für die Routerkonfiguration. Vieleicht wird es in der Zukunft einmal ein Web-basiertes Konfigurationstool für die Grundfunktionen geben.

Die folgende Liste zeigt die notwendigen 6 Schritte um eine vernünftige Grundkonfiguration zu erstellen:

4.2.1. Root Passwort setzen

Das Root Password wird mittels 'passwd' gesetzt.

root@alix-3:~# passwd
Changing password for root
New password:
Retype password:
Password for root changed by root
root@alix-3:~# 
Es kann jederzeit wieder geändert werden. Nachdem das Root Passwort gesetzt wurde kann nicht mehr mit TELNET auf den Router zugegriffen werden sondern es muss SSH verwendet werden.

4.2.2. System Konfiguration

Definiert unter anderem den lokalen Hostname und die Zeitzone in der das System läuft (wichtig für NTP Zeitsynchronisierung). Zeitzone wird wohl in der Regel UTC sein.

/etc/config/system:

config system
        option hostname HB9AM-3
        option timezone UTC

config rdate
        list server ac-ntp0.net.cmu.edu
        list server ptbtime1.ptb.de
        list server ac-ntp1.net.cmu.edu
        list server ntp.xs4all.nl
        list server ptbtime2.ptb.de
        list server cudns.cit.cornell.edu
        list server ptbtime3.ptb.de
Die Liste der rdate Server wird verwendet um beim booten einmal die genaue Zeit zu holen. Dies wird nur getan wenn es eine Default Route gibt (0.0.0.0/0). Hinweis: Der ganze rdate Konfigurationsblock sollte gelöscht werden falls er existiert. Bei HAMNET wird die Zeitsynchronisierung durch NTP übernommen.

Das finale /etc/config/system sieht also folgendermassen aus:

config system
        option hostname HB9AM-3
        option timezone UTC

4.2.3. Netzwerk Konfiguration

Für jeder Netzwerkinterface im System werden hier die IP Adressen und sonstige Einstellungen definiert.

/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 type     bridge
        option ifname   "eth0 eth1"
        option proto    static
        option ipaddr   192.168.2.103
        option netmask  255.255.255.0
        option gateway  192.168.2.1

config interface wlan
        option proto    static
        option ipaddr   10.0.0.3
        option netmask  255.255.255.0

config interface wlanmonitor
        option proto    none
config interface loopback

Das Loopback Interface gibt es immer. Hier sind keine Änderungen zu machen.

config interface lan

Standardmässig sind die ersten beiden Ethernet Ports (eth0 und eth1) zusammengebrigded. D.h. die beiden Ethernet Ports verhalten sich wie ein Switch. Die IP Adresse und Netzmaske müssen natürlich angepasst werden.

config interface wlan

IP Adresse und Netzmaske des WLAN Interfaces. Ist natürlich auch den lokalen Gegebenheiten anzupassen.

config interface wlanmonitor

Das letzte Interface "wlanmonitor" ist ein ein zweites (virtuelles) Interface zur WLAN Karte, das im Monitor Mode betrieben wird. Damit lässt sich der WLAN Verkehr auf der Ebene von 802.11 (also inclusive Baken, Associate Requests, etc.) mitschneiden. Das Tool der Wahl hierfür heisst TCPDUMP. Der Empfangspegel und Noisefloor wird auch mitgeschnitten.

Hinweis: Für eine genaue Beschreibung der einzelnen Konfigurationsoptionen sei auf die OpenWRT Dokumentation verwiesen.

4.2.4. WLAN Konfiguration

Definiert die Einstellungen des Wireless Radios.

Achtung: Hier sicherstellen, dass "option type" auf mac80211_ath5k gesetzt ist. Dies ist notwendig damit die erweiterten WLAN Features (keine Leistungsbeschränkung, 10/5MHz Kanäle, ...) benutzt werden können! Das wifi-device muss als phy<x> benannt sein, nicht radio<x>, wie es bei neuen OpwnWRT Versionen der Fall sein kann.

/etc/config/wireless:

config wifi-device  phy0
        option type     mac80211_ath5k
        option channel  166
        option macaddr  00:0b:6b:22:a1:2c
        option txpower  4
        option country  XA
        option hwmode   11a
        option channelbw 10
        option ant_mode 1
        option distance 10000

config wifi-iface
        option device   phy0
        option network  wlan
        option mode     sta
        #option macaddr 00:11:22:33:44:55
        option ssid     HAMNET-HB9XAR
        option encryption none

config wifi-iface
        option device   phy0
        option network  wlanmonitor
        option mode     monitor
Die erste Sektion beschreibt die gemeinsamen Einstellungen, für alle virtuellen WLAN Interfaces gemeinsam sind. Dazu gehören die Kanalnummer, Sendeleistung, Bandbreite, Distanz, etc.

option type mac80211_ath5k

Selektiert den modifizierten WLAN Treiber mit den HAMNET Erweiterungen. Diese Einstellung muss nach dem flashen und ersten booten einmal angepasst werden und sollte danach nicht verändert werden.

option channel 166

Die WLAN Kanalnummer. Eine Liste der von der WLAN Karte unterstützen Kanäle kann wie folgt angezeigt werden:

# iw phy0 info

option macaddr 00:0b:6b:22:a1:2c

Wird beim ersten booten automatisch erstellt. Damit wird die WLAN Karte anhand ihrer MAC Adresse referenziert. Falls die WLAN Karte gewechselt wird (andere MAC Adresse) muss sie hier angepasst werden.

option txpower 4

Sendeleistung in dBm. 10 dBm entsprechen 10mW, 20 dBm entsprechen 100mW. Die DCMA-82 Karte von Atheros liefert (abhängig von der Bitrate) bis über 23dBm.

option country XA

Dieser spezielle Ländercode 'XA' beinhaltet das 5GHz Hamradio Band ohne künstliche Leistungsbeschränkung. Ausserhalb des Hamradio Bandes gelten die HB9 Beschränkungen für 802.11/a/b/g.

option hwmode 11a

Die WLAN Karte soll nur in 802.11a (5GHz) Betrieben werden.

option channelbw 10

Die Kanal Bandbreite. Kann 20 (default), 10 oder 5 MHz sein.

option ant_mode 1

Antennen-Mode. Die Atheros DCMA-82 Karte hat 2 Anschlüsse für Antennen (Main und Aux). Wenn mehrer Antennen angeschlossen sind lässt sich z.b. Diversity Empfang realisieren.

Tabelle 4-1. Atheros ant_mode

ant_modeFunktionBeschreibung
0DEFAULTdefault antenna setup
1FIXED_Aonly antenna A is present
2FIXED_Bonly antenna B is present
3SINGLE_APsta locked on a single ap
4SECTOR_APAP with tx antenna set on tx desc
5SECTOR_STASTA with tx antenna set on tx desc
6DEBUGDebug mode -A -> Rx, B-> Tx-
Im HAMNET Regelfall (Links) wird wohl jeweils eine Antenne am Main Antennenport angeschlossen sein, also ant_mode=1. Bei 5GHz Userzugängen kann man sich durchaus andere Szenarien vorstellen.

option distance 10000

Distanz zum Linkpartner. Diese Zahl bestimmt das Timing auf dem WLAN Link. Daraus abgeleitet werden Slot-Time (bekannt aus der Packet Radio Welt) und ACK/CTS Timeouts. Wird diese Distanz zu klein eingestellt "funktioniert es einfach nicht"; man sieht die Baken der Gegenstelle, es kommt aber keine Association zustande.

Die maximal mögliche Distanz hängt von der Kanalbandbreite ab. Diese Limiten sind durch die Atheros Hardware gegeben.

Tabelle 4-2. Geschätze maximale Distanzen

BandbreiteMax. Distanz
5108 km
1054 km
2027 km

Die weiteren Sektionen enthalten die Konfiguration für die individuellen (virtuellen) WLAN Interfaces:

option device phy0

Verweis auf das Parent-Device.

option network wlan

Zuweisung der WLAN Interfaces in ein Netzwerk. Wird in /etc/config/network referenziert um die IP Adresse zu definieren.

option mode sta

Betriebsmodus des WLAN Interfaces:

Tabelle 4-3. WLAN Interface Modi

ModeBeschreibung
apAccess Point
staStation (verbindet sich zu einem AP)
adhocAd-Hoc Netzwerk
monitorMonitor Mode.
Ein HAMNET Link (Point-to-Point) wird in der Regel auf einer Seite einen AP (Access Point) haben und auf der anderen Seite eine STA (Station). Bei Point-to-Multipoint Links (wenn z.B. zwei Gegenstationen mit derselben Antenne abgedeckt werden) ist der Sternpunkt als AP zu konfigurieren und alle Gegenstationen sind STA.

option macaddr 00:11:22:33:44:55

Erlaubt es, die MAC Adresse des Interfaces frei zu definieren. Dies ermöglich das bei DB0FHN beschriebene Verfahren ein Callsign als eine MAC Adresse darzustellen.

option ssid HAMNET-HB9XAR

Die SSID des WLANs.

option encryption none

Und die Verschlüsselung schalten wir natürlich ab.

4.2.5. NTP Konfiguration

/etc/ntp.conf:

#restrict default nomodify notrap noquery
#restrict default noquery

restrict 127.0.0.1

driftfile  /tmp/ntp.drift

server 44.142.64.16 iburst
Die vordefinierten NTP Server aus dem ntp.org Pool sind zu entfernen und durch einen (oder mehrere) lokale NTP Server zu ersetzen. Die kann z.b. ein benachbarter ALIX Knoten sein oder ein im HAMNET ansässiger NTP server. In der Standardkonfiguration ist der NTP Server "offen", d.h. andere Knoten können sich darauf synchronisieren.

4.2.6. SNMP Konfiguration

Der integrierte SNMP Daemon muss natürlich auch konfiguriert werden. Mindestens Location, Contact und Description sollten korrekt konfiguriert sein.

/etc/config/snmpd:

config system              
        option sysLocation      'JN47AI'
        option sysContact       'hb9xar@uska.ch'  
        option sysName          'ALIX-3'     
#       option sysServices      72
        option sysDescr         'ALIX HAMNET Router'
#       option sysObjectID      '1.2.3.4'

Die folgenden Zeilen sind anzufügen:

config exec
       option execname temperature
       option prog     /usr/bin/gettemp.sh
       option args
       option miboid   1.3.6.1.3.999.1.1

config pass
       option miboid   1.3.6.1.3.999.2.1
       option prog     /usr/bin/getwlaninfo.sh
       option persist  0
Damit sind aktuelle Temperatur und WLAN Daten via SNMP ablesbar. Mit Paketen wie RRDTOOL und Nagios lassen sich dann die Router überwachen und Statistiken anfertigen.

Details zum Mapping der MIBS (im "experimental" Bereich) finden sich in den Kommentaren von /usr/bin/gettemp.sh und /usr/bin/getwlaninfo.sh