Changes between Version 21 and Version 22 of WikiStart


Ignore:
Timestamp:
Nov 7, 2013, 12:57:26 AM (12 years ago)
Author:
walter
Comment:

opzet routing

Legend:

Unmodified
Added
Removed
Modified
  • WikiStart

    v21 v22  
    1818== OpenWRT op Soekris 45xx/48xx boards ==
    1919
    20 === Software ===
     20=== software ===
    2121Zowel kant en klare x86 images van openwrt uit de serie[http://downloads.openwrt.org/backfire/10.03.1/x86_generic/ backfire 10.03.1] als [http://downloads.openwrt.org/attitude_adjustment/12.09/x86/generic/ attitude adjustment 12.09] functioneren op de soekris 4501, 4521, 4801 en 4826. De gewenste type images zijn "combined-squashfs" images en "combined-extN" images, hierin "combined" zit namelijk zowel de boot partitie met kernel en root partitie. Op sommige embedded systemen is het mogelijk direct de kernel en het rootfs te uploaden omdat er dan een bootloader in het systeem zelf zit die deze kan opstarten. De soekris boarden gedragen zich netals x86 systemen die gewoon via een MBR bootstrap op een ide disk een bootsector willen laden die weer naar de bootloader verwijst "grub" en dat laatste de kernel. Het eerste type "squashfs" zal grotendeels in het ram de wijzigingen doorvoeren en alleen enkele wijzigingen gecomprimeerd naar de disk terug schrijven via JFFS2, voordeel hiervan is dat deze versie de geheugenkaart spaard "wear level protection" en tevens een failsafe "factory reset" mogelijk maakt. Prima optie voor experimenteren! De tweede optie "extN" schrijft alles direct op de geheugenkaart/disk, werkt sneller en laat meer ram over, echter een simpele failsafe restore/reset is dan tevens niet mogelijk.
    2222
    23 Houd er overigens wel rekening mee dat de standaard openwrt images alleen booten op een Soekris board als deze de juiste comBIOS optie ConMute=Enabled aan heeft of direct actieve serial console verbinding met draaiende PC heet tijdens het booten van de soekris(sic), onafhankelijk zonder PC connectie hangt de boot cyclus namelijk op de grub bootloader en wacht op bevestiging om door te gaan... Dit terwijl je verwacht dat het board zonder inmenging uit zichzelf kan opstarten. Echter wanneer op de eerste partitie van de CF-kaart/image uit de bootloader config file "/boot/grub/menu.cfg" de optie "console" verwijdert word, boot de Soekris probleemloos onafhankelijk zonder PC met serial console en hoef je niet direct comBIOS in! Voor de CF gebasseerde systemen Soekris 4501/4521/4801 is die grub optie op de CF-kaart zo te veranderen en kun je in enkele minuten al aan de slag. Een andere definitieve oplossing voor systemen zonder CF kaart zoals de Soekris 4826 alsnog systemen met CF-kaart is via seriele console de comBIOS optie ConMute op Enabled zetten, echter voor de CF-kaart-loze systemen zoals de 4826 moet je zowieso via serial comBIOS in om deze met PXE boot op te starten en vanuit een live sessie een openwrt-image naar het onboard flashgeheugen te schrijven, maar dan heb je ook wat ;-)
     23Houd er overigens wel rekening mee dat de standaard openwrt images alleen booten op een Soekris board als deze de juiste comBIOS optie ConMute=Enabled aan heeft of direct een actieve serial console verbinding met een draaiende PC heeft tijdens het booten van de soekris(sic), onafhankelijk zonder seriele PC connectie is de kans groot dat hij hangt tijdens de boot cyclus op de grub bootloader en wacht op bevestiging om door te gaan met booten... Dit terwijl je verwacht dat het board zonder inmenging en zelfstandig kan opstarten. Echter wanneer op de eerste partitie van de CF-kaart/image uit de bootloader config file "/boot/grub/menu.cfg" de optie "console" verwijdert word, boot de Soekris probleemloos onafhankelijk zonder PC met serial console en hoef je niet direct comBIOS in! Voor de CF gebasseerde systemen Soekris 4501/4521/4801 is die grub optie op de CF-kaart zo te veranderen en kun je in enkele minuten al aan de slag. Een andere definitieve oplossing voor systemen zonder CF kaart zoals de Soekris 4826 alsnog systemen met CF-kaart is via seriele console de comBIOS optie ConMute op Enabled zetten, echter voor de CF-kaart-loze systemen zoals de 4826 moet je zowieso via serial comBIOS in om deze met PXE boot op te starten en vanuit een live sessie een openwrt-image naar het onboard flashgeheugen te schrijven, maar dan heb je ook wat ;-)
    2424
    2525=== serial console ===
     
    9797}}}
    9898
     99== Direct aan de slag! ==
     100
    99101=== soekris 4501 ===
    100102Werkt met standaard image ook prima, net als de 4521 tevens net zo traag ;-).
     
    129131telnet 192.168.1.1
    130132
    131 #add default password
    132 passwd 
     133#add default password dit moet
     134passwd
    133135
    134136#reboot so rootfs will be writable next boot
     
    212214}}}
    213215
    214 Driemaal scheepsrecht, na de derde boot kun je het systeem op reguliere OpenWRT wijze beheren. Eerst wat pakketten installeren, daarna de pcmcia sloten inregelen en de wifi aanzetten. De snelheid van de soekris is erg laag dus alle pakketten in eenkeer installeren doet de ssh sessie enkele minuten stil staan/freezen maar hij hangt niet dus wacht rustig af!
     216Driemaal scheepsrecht, na de derde boot kun je het systeem op reguliere OpenWRT wijze beheren. Eerst wat pakketten installeren met de pakket manager, daarna de pcmcia sloten inregelen en de wifi aanzetten. De snelheid van de soekris is erg laag dus alle pakketten in eenkeer installeren doet de ssh sessie enkele minuten stil staan/freezen maar hij hangt niet dus wacht rustig af!
    215217
    216218{{{
     
    340342Wanneer in Openwrt na installatie de wifi kaarten niet direct in de webinterface van luci herkent worden, moet je ze zelf even in het volgende configuratie bestand zetten en zorgen dat de macadressen van de kaarten 0/1 overeen komen met die van de config. Zie ifconfig voor de macadressen voor juiste kaart.
    341343
    342 
    343344# example code # /etc/config/wireless
    344345{{{
     
    370371}}}
    371372
     373=== Captive Portal ===
     374Eenvouding in te stellen voor een lokale zelfstandige node door de nodogsplash.conf te bewerken. Voor onderling verbonden nodes ala W.L. moet hier in wel het een en andere geoptimaliseerd worden!
     375
     376=== Proxy ===
     377Eenvoudig in te stellen door tinyproxy.conf te bewerken.
     378
    372379=== wifi firmware update/patch ===
    373 Naast de prism gebaseerde senao kaarten hebben de atheros kaarten bij levering eigenlijk een landcode nodig in de firmware, de default regdomain code 0x0 debugmode word in de nieuwe linux kernels opgemerkt als US waardoor channel 12-13 op de 2,4ghz en een aantal kanalen op de 5ghz wegvallen. Via de windows tool RCU.exe en de atheros driver van comview kan wanneer pin13 op de minipci kaart is afgeplakt deze worden gefixed op de juiste regio. Voor europa is ETSI1_WORLD 0x37 als regdomain aan te raden.
     380Naast de prism gebaseerde senao kaarten hebben de atheros kaarten bij levering eigenlijk een landcode nodig in de firmware, de default regdomain code 0x0 debugmode word in de nieuwe linux kernels opgemerkt als US waardoor channel 12-13 op de 2,4ghz en een aantal kanalen op de 5ghz wegvallen en niet direct bruikbaar in openwrt. Via de windows tool RCU.exe en de atheros driver van comview kan wanneer pin13 op de minipci kaart is afgeplakt deze worden gefixed op de juiste regio. Voor europa is ETSI1_WORLD 0x37 als regdomain aan te raden.
    374381
    375382== Routing opzet ==
    376383Het aansluiten/inloggen van een laptop/tablet/desktop op de wifi van je adsl modemrouter van de internet provider leverd bij de meeste direct een werkende internet verbinding op dit werkt als volgt. Via de client apparatuur zoals een tablet kies je een SSID/hotspotnaam en vult mogelijk een wachtwoord in, vervolgens zal de wirelessnetwerk kaart via een dhcp verzoek (meestal een lokaal private) ip adress opvragen aan de dhcp server op de modem router zelf. Deze antwoord en geeft naast een private lokaal ip adres(iets in de trend van 192.168.1.15 of 10.1.1.15 )direct in dit bericht het "gateway" en de "dns server" adres mee. Met alleen het ip adres kan je tablet alleen met apparaten binnen dat zelfde interne lokale ip netwerk (subnet) binnen de modemrouter communiceren. Door het bekent maken van de gateway aan de tablet kunnen adressen buiten de lokale ip range 192.168.1.x achterhaald worden die zich op het netwerk voor de modemrouter bevinden namelijk het internet. De dns server zorgt ervoor dat in de webbrowser alle adresnamen van websites achterhaald kunnen worden. De modemrouter bij de meeste mensen thuis vertaald dus continue interne private ip adressen naar zijn eigen publieke ip adres waarmee die met het grote netwerk van het internet kan communiceren. Dit heet NAT en moet gebeuren omdat de router aan de internet zijde van de adslmodemrouter bij de i.s.p. niet weet welke interne private ipadressen erachter je router zitten en ook al zou die het weten dan kan het goed mogelijk zijn dat de adslmodem router van je buren bijvoorbeeld ook dezelfde interne private ip als jij gebruikt. De router aan de isp zijde zou dan niet weten of die informatie voor 192.168.1.15 naar jouw tablet achter jouw router moet plaatsen of naar de desktop computer van de buren die toevallig hetzelfde interne ip adres gebruikt. Daarom dus NAT Network Address Translation.
    377384
    378 Een node van wireless leiden kan je op vergelijkbare wijze zien, maar toch zijn er dingen anders. Binnen wireless leiden kunnen gebruikers lokaal andere gebruikers op andere plaatsen direct bereiken integenstelling tot thuis met NAT waar je vanaf het internet eigenlijk alleen de modemrouter kan benaderen en niet direct de apparaten er achter. Je kan dus binnen een node met de apparaten op hetzelfde AP communiceren maar ook tussen nodes met apparaten die op een andere plaats weer als client zitten op het netwerk. Dit kun je bereiken door de "wan" interface op node in de firewall optie van NAT te ontdoen door masq op 0 te zetten (masquerade). Vervolgens moet je dan nog de forwarding en input ACCEPTEN. Door deze opties te regelen kan er verkeer ongehinderd van binnen naar buiten of terug. Maar nu is voor de router nog onbekend wie of waar zit. Door routing tabellen op te zetten kun je een router vertellen dat bepaalde ip adressen niet op lokale node zitten maar op een andere. Andersom moet er op die andere node ook verteld worden welke addressen op je eigen node zitten. Dit vertellen kan static of dynamisch gebeuren, dat laatste is de kracht van het netwerk dat als er een punt wegvalt in de route deze een andere route kan kiezen.
     385Een node van wireless leiden kan je op vergelijkbare wijze zien, maar toch zijn er dingen anders. Binnen wireless leiden kunnen gebruikers lokaal andere gebruikers op andere plaatsen direct bereiken integenstelling tot thuis met NAT waar je vanaf het internet eigenlijk alleen de modemrouter kan benaderen en niet direct de apparaten er achter. Je kan dus binnen een node met de apparaten op hetzelfde AP communiceren maar ook tussen nodes met apparaten die op een andere plaats weer als client zitten op het AP van die node.
     386
     387Dit kun je bereiken door de "wan" interface op node in de /etc/config/firewall optie van NAT te ontdoen door masq op 0 te zetten (masquerade). Vervolgens moet je dan nog de forwarding en input ACCEPTEN. Door deze opties te regelen kan er verkeer ongehinderd van binnen naar buiten of terug. Maar nu is voor de router nog onbekend wie of waar zit. Door routing tabellen op te zetten kun je een router vertellen dat bepaalde ip adressen niet op lokale node zitten maar op een andere. Andersom moet er op die andere node ook verteld worden welke addressen op je eigen node zitten. Dit vertellen kan static of dynamisch gebeuren, dat laatste is de kracht van het netwerk dat als er een punt wegvalt in de route deze een andere route kan kiezen. *Wel is het handig om de captive portal weer even uit te zetten omdat die alle routing belemmert, later zullen we deze specifiek aanpassen zodat die ook met de lokale routing werkt, maar dat inzicht verkrijgen we later pas.
    379388
    380389/etc/config/firewall
     
    408417}}}
    409418
    410 Je zou het ook handmatig in terminal kunnen intypen.
    411 
    412 {{{
    413 
     419Je zou het ook handmatig in terminal kunnen intypen, maarr doet moet dan wel herhaald worden naar iedere reboot!
     420
     421{{{
     422#ouderwets
     423route add -net 192.168.45.0/24 gw 172.16.6.10
     424
     425#modern
     426ip route add 192.168.45.0/24 via 172.16.6.10 #dev eth0 of dev wan?
     427
     428#controle
     429route -n
     430netstat -r
    414431}}}
    415432