Changes between Version 43 and Version 44 of WikiStart
- Timestamp:
- Mar 7, 2014, 2:22:18 AM (11 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
WikiStart
v43 v44 25 25 De eerste bouwsteen lijkt bijna een grap, maar mag niet onderschat worden het is wellicht wel aardig om een keer uit de boekhouding het aantal ingekochte meters utp kabel voor draadloze verbindingen in beeld te brengen, dit tegenover de draadloze afstanden die overbrugt zijn! De tweede bouwsteen ubnt nano bridges, apparatuur dat Linux gebasseerd is, makkelijk is te configureren/resetten en zonder al te veel knowhow door velen opgepikt kan worden. De derde bouwesteen is deels gekoppeld aan de vierde, maar mag je qua functionaliteit nog steeds zien als een maakbaar/vervangbaar kastje. De vierde, tevens laatste bouwsteen is eigenlijk de kern van de netwerk functionaliteit namelijk routing en wie krijgt welk ip en hoe loopt de routing als node x uitvalt? 26 26 27 De opzet van deze pagina is vooral de derde bouwsteen en mogelijk de vierdere bouwsteen inzichtelijk te maken. Dit door eerst hard- en software inregelen om openwrt uberhaupt ;-) operatief te krijgen op een soekris board en functionerend als een eenvoudige huis-tuin-en-keuken router/accesspoint. Wanneer inzichtelijk/duidelijk is hoe je het apparaat kunt benaderen en inregelen via netwerk/serial-console cli (telnet/ssh) of gui (webinterface), hostname, tijd inregelen en interfaces ingesteld kunnen worden (bedraad en draadloos), binnen en buiten wereld WAN-LAN concept begrijpen, porten forwarden, packages installeren, dan gaan we als tweede fase kijken hoe we een soort zelfstandige Wireless-Leiden achtige node functionaliteiten kunnen geven met captive portal en proxy. Vervolgens meerdere van deze losstaande soekris Wireless Leiden routers onderling met elkaar kunnen laten communiceren zoals nodes op een Wireless-Leiden-netwerk kortom het concept routing. Dit uitbouwen zodat je de uplink/gateway verbindingen van het ene soekrisboard kunt delen met een ander soekrisboard dat zelf niet een directe uplink aan zijn wan-interface heeft. Nadat er inzicht in static routing is wil ik dynamisch routing met behulp van een routing-protocol uitzoeken, vervolgens iets met dns-implementatie en uiteindelijk ipv6,beheer/monitoring? 28 29 De stijl opzet is voornamelijk hele lange "tekst geschreven" blokken wat je zeker niet direct of stipt als sturend of stappenplan moet opvatten, maar enkel als begeleiding in terminologie en mindset iets waardoor je gerust heen kan skimmen opzoek naar de essentie(als die er is). Daadwerkende instruerende stappen zijn beknopt in "codestijl geschreven" blokken opgemaakt het enige waar je je daar van bewust moet zijn (of die bewustwording moet nog even ontstaan) is dat sommige commando's voer je uit in de shell van "client pc/laptop" en sommige in die van de openwrt shell die draait op "de soekris zelf"! Als niet ingewijd persoon kan dit zeer verwarrend overkomen, ik zal trachten de twee shells iedere keer aan tegeven waar je nou eigenlijk bezig bent. 30 31 Als benodigheid word er vanuit gegaan dat je de stappen van de client pc/laptop in een shell uitvoert bijvoorbeeld in de terminal van Ubuntu 12.04 of hoger, in Mac OSX met de Terminal werkt waarschijnlijk ook. De Windows mensen kunnen beter Oracle Virtualbox installeren en daarin ubuntu 12.04 installeren en vanuit dat OS de boel verkennen. '' Onder Windows kan er via het programma putty een serial/ssh shell mogelijkheid worden toegevoegd, op een enkele handeling na bijvoorbeeld soekris firmware upgraden en het dd-en van de x86 generieke openwrt image naar de compactflash kaart zal je met een Windows alternatief (raw hdd copy etc) geimproviseerd moeten worden. '' 27 De opzet van deze pagina is vooral de derde bouwsteen en mogelijk de vierdere bouwsteen inzichtelijk te maken. Dit door eerst hard- en software inregelen om openwrt uberhaupt ;-) operatief te krijgen op een soekris board en functionerend als een eenvoudige huis-tuin-en-keuken router/accesspoint. Wanneer inzichtelijk/duidelijk is hoe je het apparaat kunt benaderen en inregelen via netwerk/serial-console cli (telnet/ssh) of gui (webinterface), hostname, tijd inregelen en interfaces ingesteld kunnen worden (bedraad en draadloos), binnen (lokaa) en buiten wijde buitende wereld LAN-WAN terminologie begrijpen, porten forwarden, packages installeren, dan gaan we als tweede fase kijken hoe we Wireless-Leiden node achtige unctionaliteiten kunnen inbrengen zoals captiveportal en proxy. Vervolgens meerdere van deze losstaande soekris Wireless Leiden routers onderling met elkaar kunnen laten communiceren zoals nodes op een Wireless-Leiden-netwerk kortom het concept routing. Dit uitbouwen zodat je de uplink/gateway verbindingen van het ene soekrisboard kunt delen met een ander soekrisboard dat zelf niet een directe uplink aan zijn wan-interface heeft. Nadat er inzicht in static routing is wil ik dynamisch routing met behulp van een routing-protocol uitzoeken, vervolgens iets met dns-implementatie en uiteindelijk ipv6,beheer/monitoring? 28 29 De stijl opzet is voornamelijk hele lange "tekst geschreven" blokken wat je zeker niet direct of stipt als sturend of stappenplan moet opvatten, maar enkel als begeleiding in terminologie en mindset iets waardoor je gerust heen kan skimmen opzoek naar de essentie (als die er is). Daadwerkende instruerende stappen zijn beknopt in "codestijl geschreven" blokken opgemaakt het enige waar je je daar van bewust moet zijn (of die bewustwording moet nog even ontstaan) is dat sommige commando's voer je uit in de shell van "client pc/laptop" en sommige in die van de openwrt shell die draait op "de soekris zelf"! Als niet ingewijd persoon kan dit zeer verwarrend overkomen, ik zal trachten de twee shells iedere keer aan tegeven waar je nou eigenlijk bezig bent. 30 31 Als vereiste/aanname word er vanuit gegaan dat je de stappen van de client pc/laptop in een shell uitvoert bijvoorbeeld in de terminal van Ubuntu 12.04 of hoger, in Mac OSX met de Terminal werkt waarschijnlijk ook. De Windows mensen kunnen beter Oracle Virtualbox installeren en daarin ubuntu 12.04 installeren en vanuit dat OS de boel verkennen. 32 33 '' Opmerking: Onder Windows kan er native via het programma putty een serial/ssh shell mogelijkheid worden toegevoegd, op een enkele handeling na bijvoorbeeld soekris firmware upgraden en het dd-en van de x86 generieke openwrt image naar de compactflash kaart zal je met een Windows alternatief (raw hdd copy etc) wat geimproviseerd moeten worden maar kan het ook. '' 32 34 33 35 == OpenWRT op Soekris 45xx/48xx boards == … … 36 38 De reden dat we dit "x86 architectuur" willen weten is dat de soekris boarden in tegenstelling tot de meeste Windows PC's, zonder OS geleverd worden en we er zelf een OS op kunnen/moeten installeren voordat deze gebruikt kan worden. De software instructie set van het OS dat je wil installeren/gebruiken moet matchen met die van de architectuur waar die op komt te functioneren. Dit houd in dat een x86 versie van OpenWrt prima functioneerd op een x86 gebaseerd soekris board of desktop pc. Maar niet op een mips/arm architectuur gebaseerde Linksys of Ubiquity router. De rede dat het OS Windows vroeger niet makkelijk tot niet op een Apple Mac was te installeren en te gebruiken kwam omdat het Windows OS voor de x86 architectuur geschreven was, terwijl Apple voor de Mac hardware de Motorola m86k en PowerPC architectuur gebruikte. Vlak nadat Apple in 2006 in Intel x86 gebaseerde Mac uitbracht, duurde het niet lang voordat daar ook (probleemloos) Windows op was te draaien. 37 39 38 Netals een desktop pc zonder Windows moet je een "installatie" uitvoeren van het OS dat uren kan duren voordat de machine weer in een werkbare toestand is, of je kan een "image" terugplaatsen van een OS dat veel tijd kan schelen. Een "image" is vaak een enkel bestand waar het hele OS met bootloader/partitielayout/config inzit, denk aan een ISO bestand voor een CD. Een image kun je vaak op afstand zoals via het netwerk of via een andere computer die het "image" bestand al bevat en deze direct naar de harddisk/SSD/CF /SDCARD kan schrijven voor de computer die hem nodig heeft.40 Netals een desktop pc zonder Windows moet je een "installatie" uitvoeren van het OS dat uren kan duren voordat de machine weer in een werkbare toestand is, of je kan een "image" terugplaatsen van een OS dat veel tijd kan schelen. Een "image" is vaak een enkel bestand waar het hele OS met bootloader/partitielayout/config inzit, denk aan een ISO bestand voor een CD. Een image kun je vaak op afstand zoals via het netwerk of via een andere computer die het "image" bestand al bevat en deze direct naar de harddisk/SSD/CF-CARD/SD-CARD kan schrijven voor de computer die hem nodig heeft. 39 41 40 42 Omdat de soekris machines niet over een toetsenbord/muis en vga aansluiting beschikken maar wel over verwisselbare CF-card (Compact Flash Card) als opslag kan relatief simpel via een andere PC/Notebook met card-reader een x86 gebasseerde OS "image" naar de CF-card geschreven worden en daarna weer worden terug geplaatst in de soerkis. … … 51 53 Houdt er overigens wel rekening mee dat de generieke openwrt-images zo zijn aangepast dat ze op de meeste x86 systemen kunnen werken, dat zijn zowel systemen met toetsenbord/muis/vga-monitor (desktops/laptops) of systemen die serialport( als vervanging van KB/VGA) of machines zonder beide en enkel een ethernet(netwerk) aansluiting met ssh/telnet/webinterface toegang. 52 54 53 Enkel werken starten de "x86 generieke" openwrt images van de OpenWrt website op een Soekris board uit de 45xx 48xx serie, alleen wanneer de juiste comBIOS optie(namelijk ConMute=Enabled) actief is in desbetreffende soerkis (eenmalig actie) of wanneer de soerkis een directe actieve serial-console-verbinding met een draaiende PC heeft tijdens het booten van openwrt op de soekris (sic). Door het flexibele karakter van OpenWRT zijn er meerdere mogelijkheden als je niet aan deze voorwaarden kan/wil voldoen en toch direct met een generiek openwrt image aan de gang wil! Hoe dit opgelost kan worden en of dit in jouw situatie opgelost hoeft te worden kun verderop lezen bij het hoofdstukje comBIOS en grub Bootloader. 55 '' Let op: Het starten/booten van "generieke x86" images van de OpenWrt website op een Soekris board uit de 45xx 48xx serie, werkt alleen wanneer de juiste comBIOS optie (namelijk ConMute=Enabled) actief is in desbetreffende soerkis (eenmalig configureren) of wanneer de soerkis een directe actieve serial-console-verbinding met een draaiende PC heeft tijdens het booten van openwrt op de soekris (sic). Door het flexibele karakter van OpenWRT zijn er meerdere mogelijkheden als je niet aan deze voorwaarden kan/wil voldoen en toch direct met een generiek openwrt image aan de gang wil! Hoe dit opgelost kan worden en of dit in jouw situatie opgelost hoeft te worden kun verderop lezen bij het hoofdstukje "comBIOS" en "grub boot loader". '' 54 56 55 57 === serial console === 56 Omdat de Soekris machines niet over een VGA en toetsenbord aansluiting beschikken en dat voor de meeste mensen een normale manier is om een computer in te regelen is een seriele console de enige manier om de boot-cyclus/strap met BIOS te beinvloeden op de soekris, vooral handig voor uitgebreid recoveren van systemen zonder CF-Kaart. Later kan via het netwerk met webinterface (gui) of telnet/ssh (cli) wanneer openwrt zelf al actief is deze verder ingeregeld worden waardoor de seriele console verbinding niet nodig is. De kant en klare x86 images van openwrt hebben standaard hun seriele console werkend op 38400, zowel in de bootloader modus (grub) als de kernelbootlog en uiteindelijke systeem init console. Dit i.t.t. tot de standaard Soekris comBIOS seriele snelheid die vaak 19200 of zelfs 9600 baud is. Om tijdens de hele bootcyclus/bootstrap vanaf de soekris comBIOS, bootloader grub, kernel/boot tot aan deconsole van openwrt zelf een werkend beeld en toetsenbord aansturing te hebben is het van belang dat al deze fasen op dezelfde seriele settings staan, bij een pc wil je immers ook niet dat in bepaalde fasen van het opstarten het beeld verdwijnt of de toetsenbord invoer niet werkt. In het geval van de soekris met verkeerde instellingen verdwijnt het beeld meestal niet maar wordt onleesbaar en is verdere toetsenbord-interactie in een bepaalde fase uitgesloten.57 58 Om serieel in te loggen op de soekris zullen we eerst "minicom" installeren en configureren op de client-PC waarmee we de soekris inregelen. Dit zal waarschijnlijk meerdere keren moeten om iedere afwijkende fase van het booten tot het os te kunnen bereiken. Handig is om eenmalig de seriele snelheid in de comBIOS van de soekris gelijk te zetten naar die van de bootloader/bootconsole en definitieve terminal.58 Omdat de Soekris machines niet over een VGA en toetsenbord aansluiting beschikken en dat voor de meeste mensen een normale manier is om een computer in te regelen is een seriele console de enige manier om de boot-cyclus/strap met BIOS te beinvloeden op de soekris, vooral handig voor uitgebreid recoveren van systemen zonder CF-Kaart. Later kan via het netwerk met webinterface (gui) of telnet/ssh (cli) wanneer openwrt zelf al actief is deze verder ingeregeld worden waardoor de seriele console verbinding niet nodig is. De kant en klare x86 images van openwrt hebben standaard hun seriele console werkend op een snelheid van 38400 baud met n 8 stop bits, zowel in de bootloader modus (grub) als de kernelbootconsole en uiteindelijke systeem init console. Dit i.t.t. tot de standaard Soekris comBIOS seriele snelheid die vaak 19200 of zelfs 9600 baud is. Om tijdens de hele bootcyclus/bootstrap vanaf de soekris comBIOS, grub bootloader , kernel bootconsole tot aan de init console van openwrt zelf een werkend beeld en toetsenbord aansturing te hebben is het van belang dat al deze fasen op dezelfde seriele settings staan, bij een pc wil je immers ook niet dat in bepaalde fasen van het opstarten het beeld verdwijnt of de toetsenbord invoer niet werkt. In het geval van de soekris met verkeerde instellingen verdwijnt het beeld meestal niet maar wordt onleesbaar en is verdere toetsenbord-interactie in een bepaalde fase uitgesloten. 59 60 Om serieel in te loggen op de soekris zullen we eerst "minicom" installeren en configureren op de client-PC waarmee we de soekris inregelen. Dit inregelen van minicom zal je waarschijnlijk meerdere malen moeten doen om eerst via de ongewenste instellingen de comBIOS van de soekris in te komen en daar de gewenste instellingen te plaatsen, vervolgens moet je na het rebooten jezelf in minicom ook weer aanpassen aan je gewenste seriele instellingen. Handig is om eenmalig de seriele snelheid in de comBIOS van de soekris gelijk te zetten naar die van de standaard openwrt image dan staat de hele bootstrap tot aan het OS in eenkeer indezelfde consistente instelling. 59 61 60 62 '' Let op: Goedkope usb-serial dongles werken niet altijd lekker met hoge com snelheden! '' … … 103 105 > set ConSpeed=38400 #will set the serial to the speed of openwrt image 104 106 107 > set FLASH=Primary #use onboard CF-card slot or Secondary for mini-ide 2,5 inch 40 pin connector 108 105 109 > boot F0 #will boot from network via PXE 106 110 … … 112 116 }}} 113 117 114 De laatste bios update beschikbaar voor deze serie soekris boarden is 1.33. Letop dat je wel de goede serie kiest 45xx of 48xx voor het upgraden! Tevens dat de upgrade van de 45xx boarden in 2 fases verloopt eerst een upgrade naar pre 1.20 daarna een post 1.20 upgrade. Updaten via minicom werkt met een omweg maar kan prima op een serial snelheid van 38400, mits je verbinding stabiel is (dus geen goedkope usb>serial dongle)! Je boot naar de comBIOS met CTRL-P en typt daar het commando "download -" met een dash! Vervolgens suspend je de sessie naar de background met "CTRL-a J" en dan in de foreground virtuele terminal ga je handmatig het bios bestand uit je homedir pushen met dit commando "sx -X /root/b45xx_133.bin > /dev/ttyS0 < /dev/ttyS0" na een kleine minuut krijg je de melding 608blocks ok en kun je met het commando "fg" terug naar de minicom sessie waar je in comBIOS het commando "flashupdate" intypt en vervolgens "reboot". Het is handig dit vanuit de root user op je client machine te doen aangezien anders met pipes en redirect de boel niet lekker loopt!118 De laatste bios update beschikbaar voor deze serie soekris boarden is 1.33. Letop dat je wel de goede serie kiest 45xx of 48xx voor het upgraden! Tevens dat de upgrade van de 45xx boarden in 2 fases verloopt eerst een upgrade naar pre 1.20 daarna een post 1.20 upgrade. Updaten via minicom werkt met een omweg maar kan prima op een serial snelheid van 38400, mits je verbinding stabiel is (dus geen goedkope usb>serial dongle)! Je boot naar de comBIOS met CTRL-P en typt daar het commando "download -" met een dash! Vervolgens suspend je de sessie naar de background met "CTRL-a J" en dan in de foreground virtuele terminal ga je handmatig het bios bestand uit je homedir pushen met dit commando "sx -X /root/b45xx_133.bin > /dev/ttyS0 < /dev/ttyS0" na een kleine minuut krijg je de melding xxx blocks ok en kun je met het commando "fg" terug naar de minicom sessie waar je in comBIOS het commando "flashupdate" intypt en vervolgens "reboot". Het is handig dit vanuit de root user op je client machine te doen aangezien anders met pipes en redirect de boel niet lekker loopt! 115 119 116 120 === grub bootloader === … … 131 135 sudo# dd if=openwrt-x86-generic-combined-squashfs.img of=/dev/sdX 132 136 133 #if you don't have ConMute=Enabled in comBIOS nor have a serial134 #cable active console with soekris follow the following 3 steps135 136 137 #0#re-insert CF-CARD in card-reader after writing openwrt image! 137 138 … … 140 141 sudo mount /dev/sdX1 /mnt/booooot #sdX is de device name of the CF-CARD 141 142 142 #2#remove the word "console" from the file /boot/grub/menu.lst 143 #both at the top of the file related to grub itself 144 #and at the kernel boot parameters including "console=tty0" 143 #2#remove the word "console" at the top of /boot/grub/menu.lst 144 #and remove the kernel boot parameter "console=tty0" 145 145 sudo nano /mnt/booooot/boot/grub/menu.lst 146 146 … … 175 175 Voor het installeren/images van openwrt op soekris boarden zonder CF-kaart moet naast een werkende serial console verbinding met comBIOS, een pxe tftp+dhcp/bootpserver worden opgezet en er een ethernet link tussen de soekris als pxe client en pxe server aanwezig zijn. Via serial interface tussen PC en Soekris kan de soerkis vanuit comBIOS geinstrueerd worden om via PXE netwerk boot op te starten. Wanneer de toetsen CTRL + P tijdens de comBIOS bootstrap worden ingetoetst (snel genoeg binnen 5 seconden) kun je met het commando "show" de huidige PXE bootvoorwaarden aanwezig zijn:PCIROMS=Enabled en PXEBoot=Enabled. Wanneer dat niet zo is corrigeer deze, reboot en keer terug via CTRP + P. Je kan nu via "boot F0" de soekris naar een PXE boot forceren. Zie hoofdstuk aan het eind om "PXE-BOOT server" op te zetten. 176 176 177 == = OpenWRT ===177 == OpenWRT == 178 178 In dit hoofdstuk zullen een paar basics worden besproken hoe je in openwrt (dat nu waarschijnlijk al wel op je soekris staat/draait als je CF-card voorbereid en geplaatst heb) moet inloggen, config bestanden aanpassen of terug plaatsen. 179 179 … … 186 186 Deze laatste heeft de voorkeur omdat die het meest consistent is en het makkelijker is om naar textbestanden te verwijzen in mappen dan knopjes in een webinterface, de webinterface word namelijk nogal gerestyled of is traag op apparaten met 16MB ram. 187 187 188 === = Firstboot ====188 === Firstboot === 189 189 Een generieke openwrt image is via serial-console of netwerk(ethernet) te bereiken op 192.168.1.1, stel je client pc/notebook in op dhcp verkrijgbaar ip-adres of op een static ip address om de openwrt router te benaderen. 190 190 … … 216 216 De volgende stap is tekst bestandjes editen met het programma "vi" wanneer je dat handigheidje doorkrijgt kun je daadwerkelijk je router gaan configureren. 217 217 218 === = Router + NAT ====218 === Router + NAT === 219 219 Om OpenWRT als basis router te laten fungeren moet er naast een locale lan interface een wan interface opgegeven worden. Dit doe je door .... 220 220 … … 230 230 }}} 231 231 232 === = hostname =====233 234 === = ntp ====235 236 === = portforwarding ====237 238 === = opkg packet manager ====239 240 === = wifi senao cards ====232 === hostname === 233 234 === ntp === 235 236 === portforwarding === 237 238 === opkg packet manager === 239 240 === wifi senao cards === 241 241 Naast bedrade interfaces kunnen configureren is natuurlijk de draadloze interface opzetten ook een must. Door de generieke mini-pci aansluiting op de soekris en de uitgebreide ondersteuning van openwrt voor diverse wireless chipsets zijn er eindeloos veel wifi mogelijkheden. Oud doch bruikbaar zijn de senao wifi b only kaartjes van W.L., zelfs met WPA2 CCMP in AP mode, tenminste als je weet hoe. Het gaat hier om de volgende twee prism2.5 gebasseerde wifi kaarten: 242 242 * pcmcia "senao SL-2511CD PLUS ext2 e200/f200" … … 669 669 }}} 670 670 671 == PXE LAN BOOT==671 == PXE BOOT server == 672 672 Met behulp van een PXE server kan een systeem zoals de soekris4826 met onboard vast gesoldeerd flashopslag, i.t.t een verwisselbare CF-card toch van een OS worden voorzien, door deze als PXE client te starten! De PXE-client laat een payload (bootloader) via het netwerk van de PXE-server (tftp-protocol met behulp van dhcp) de bootloader laad op zijn beurt weer het OS kernel/init tevens van de PXE-server, netals een normale bootstrap van CDROM/HARDDISK/USB zijn uiteindelijk alle onderdelen aanwezig/geladen om een OS/installatie te starten. Door de soekris (dat monitor/keyboard ontbreekt) met serial console te configureren om via PXE client te booten i.p.v. de interne flash opslag kun je een installatie/imaging procedure uitvoeren, zie combios paragraaf voor instructies. Naast de soekris kunnen veel moderene computers/laptops ook via lan booten doormiddel van PXE, zelfs wat oudere computers/laptops die niet via USB-sticky/CDROM booten kunnen daarentegen vaak wel via PXE booten! De naamgeving van deze feature in pc/laptops bios/(u)efi omgevingen heet vaak iets in de trend van "lan boot rom" of "onboard option rom"! 673 673