Sette opp et enkelt trådløst nettverk

Første steg er å sørge for at du har et brukbart kort og sjekke utdataene fra dmesg for å se at driveren blir lastet og at kortet blir initialisert som det skal[1] Med riktig konfigurering av kortet skal du se noe slikt som

ath0 at pci1 dev 4 function 0 "Atheros AR5212" rev 0x01: irq 11
ath0: AR5212 5.6 phy 4.1 rf5111 1.7 rf2111 2.3, ETSI1W, address 
00:0d:88:c8:a7:c4

Det neste du må gjøre, er å konfigurere grensesnittet for TCP/IP. På OpenBSD betyr dette en /etc/hostname.ath0-fil som ser omtrent slik ut:

up media autoselect mediaopt hostap mode 11b chan 6 nwid unwiredbsd \
 nwkey 0x1deadbeef9
inet 10.168.103.1

Legg merke til at konfigurasjonen er delt over to linjer. Den første linjen genererer en ifconfig-kommando som setter opp grensesnittet med riktige parametre for det fysiske trådløse nettverket, mens den andre kommandoen, som blir utført først etter at den første er fullført, setter IP-adressen. Merk at vi angir kanalen eksplisitt, og at vi aktiverer en svak WEP-kryptering ved å angi parameteren nwkey.

På FreeBSD vil du legge inn disse linjene i /etc/start_if.ath0, og eventuelt sette inn det aktuelle grensesnittnavnet i stedet for ath0:

Sannsynligvis ønsker du å sette opp dhcpd til å utstyre klientene med adresser og annen relevant nettverksinformasjon. Klientene trenger da en konfigurasjon med en slik /etc/hostname.ath0-fil:

up media autoselect mode 11b chan 6 nwid unwiredbsd nwkey 0x1deadbeef9
dhcp

og igjen, på FreeBSD ville du legge disse linjene inn i og NetBSD, /etc/start_if.ath0, og eventuelt sette inn det aktuelle grensesnittnavnet i stedet for ath0.

Vi antar at gatewayen også utfører NAT for nettverket ditt, og du vil også ønske å sette opp NAT for det trådløse nettverket ved å gjøre noen små endringer i /etc/pf.conf:

air_if = "ath0"

og

nat on $ext_if from $air_if:network to any -> ($ext_if) static-port

Du vil også trenge en nesten-duplikatlinje for konfigurering av ftp-proxy, og å ta med $air_if i pass-reglene.

Det er alt som skal til. Denne konfigurasjonen gir deg et fungerende BSD-basert aksesspunkt, med en symbolsk sikkerhet via WEP-kryptering.

Fotnoter

[1]

Støtten for trådløse nettverk i OpenBSD og BSDene generelt blir stadig bedre, men det betyr ikke nødvendigvis at det er lett å få samlet alt du trenger. Historien om mitt hjemmenettverk kan være ganske illustrerende, og er som følger: Jeg startet med å kjøpe to CNet CWP-854-kort som skulle være støttet i OpenBSD 3.7 via den nye ral-driveren. Det kortet jeg satte i en splitter ny Dell-maskin som kjører et ufritt operativsystem fungerte umiddelbart. Gatewayen min, som hadde kjørt uten episoder av noe slag siden OpenBSD 3.3, hadde på sin side litt flere problemer. Kortet ble gjenkjent og konfigurert, men i det øyeblikket Dell-maskinen prøvde å få tildelt en IP-adresse, gikk gatewayen ned med en kjernepanikk. En detaljert beskrivelse er tilgjengelig som OpenBSD PR 4217. Jeg har lovet å teste kortet på nytt med et nyere snapshot - så snart jeg klarer å finne kortet igjen. Fra Dell-maskinen kunne vi se en utrolig mengde nettverk, nesten alle sammen usikret, men det er en helt annen historie.

Jeg kom til at jeg ville prøve ath-kort, og kjøpte et D-Link DWL-G520, som jeg så klarte å forlegge under flytting. Like etter kjøpte jeg et DWL-G520+, etter tankegangen om at plusstegnet måtte bety at det var bedre. Dessverre betydde plusstegnet at et helt annet brikkesett var brukt, nemlig TI ACX111, som har lav pris, men ingen dokumentasjon som er tilgjengelig for utviklere av fri programvare. Heldigvis hadde butikken ingen innvendinger mot å la meg levere tilbake kortet og få pengene igjen. På dette tidspunktet hadde jeg rukket å bli ganske frustrert, og dro til den andre siden av byen til en butikk som hadde flere DWL-AG520-kort på lager. Dette kortet var en del dyrere enn de andre, men det fungerte med en gang. Et par uker senere dukket G520-kortet opp igjen, og det fungerte selvfølgelig også, i en annen maskin. Den bærbare maskinen min (som da kjørte FreeBSD) ble levert med et Realtek 8180 trådløskort i mini-PCI-format, men av en eller annen grunn fikk jeg det aldri til å fungere. Jeg endte med å kjøpe et DWL-AG650 cardbus-kort, som virker prikkfritt med ath-driveren. Mitt råd er generelt at hvis du handler i nettbutikk, bør du ha man-sidene tilgjengelig i en annen fane eller et annet vindu, og hvis du går til en fysisk butikk må du passe på å si til butikkpersonalet at du skal bruke kortet med en BSD. Hvis du ikke er sikker på at kortet er støttet, kan du se om du kan låne en maskin for å lese man-sidene på nettet. Hvis du sier fra til butikkpersonalet på forhånd hva du har tenkt å gjøre, kan det bli lettere å få pengene igjen hvis delen ikke virker, og hvis du passer på å fortelle dem om deler som fungerer, er det god PR for BSDen du bruker.

Det er antakelig verd å nevne at reverskonstruert støtte for ACX1nn-baserte kort har kommet til BSDene med driveren acx, som ble introdusert i OpenBSD 4.0.