Changes between Version 52 and Version 53 of WikiStart


Ignore:
Timestamp:
Mar 10, 2014, 1:18:22 PM (11 years ago)
Author:
walter
Comment:

edits, firewall zones, atheros wifi voorbeeld

Legend:

Unmodified
Added
Removed
Modified
  • WikiStart

    v52 v53  
    286286}}}
    287287
    288 === router + nat ===
     288=== interfaces ===
    289289==== wired ====
    290 De eerste bedrade ethernet inteface in een openwrt image staat standaard op een "lan" zone en zit in ons geval op de "eth0" interface(dichtst bij voedingconnector), dit kan worden aangeduid als lokaal of intern netwerk en de zone werking zorgt voor de juiste firewall en routing+nat instellingen t.o.v. de buitenwereld "wan" zone. Op deze "lan" zone draait eveneens een DHCP server en deze deeld ip-addressen uit in de 192.168.1.X range, via deze interface heb je in eerste instantie(zonder serial-console) de eerste keer ingelogd. In de configuratie bestanden "dhcp" en "network" in de map /etc/config kun je instellingen van deze interface terugvinden en bijwerken. De zone werking voor firewall en routing kun je in "firewall" terugvinden. Omdat we met tekstbestanden werken is het handig als deze fout of kwijt raken een backup te hebben, dat kan eenvoudig. Login op de router via ssh(als je dat nog niet was).
    291 
    292 backup /etc/config bestanden
     290De eerste bedrade ethernet interface in een openwrt image staat standaard op een "lan" zone en zit in ons geval op de "eth0" interface (dichtst bij voedingconnector), dit kan worden aangeduid als lokaal of intern netwerk en de zone werking zorgt voor de juiste firewall en routing+nat instellingen t.o.v. de buitenwereld "wan" zone. Op deze "lan" zone draait eveneens een DHCP server en deze deeld ip-addressen uit in de 192.168.1.X range, via deze interface heb/ben je in eerste instantie (zonder serial-console) de eerste keer ingelogd. Nu laten we zien hoe deze interface en dhcp functionaliteiten tot stand gekomen is. In de configuratie bestanden "dhcp" en "network" in de map /etc/config kun je instellingen van deze interfaces en functionaliteiten terugvinden en bijwerken. De zone werking voor firewall, nat en forwarding kun je in "firewall" terugvinden. Omdat we met tekstbestanden werken is het handig als deze fout of kwijt raken een backup te hebben, dat kan eenvoudig. Login op de router via ssh(als je dat nog niet was).
     291
     292Maak een backup van de map /etc/config met config bestanden:
    293293{{{
    294294mkdir /etc/backup.config
     
    296296}}}
    297297
    298 Kijk eens naar de instellingen van het "netwerk" configuratie bestand /etc/config/network en zoek naar herkenbare settings.
    299 
    300 {{{
    301 cat /etc/config/network #toont de inhoud van het configuratie tekst bestand in de shell
     298Kijk eens naar de instellingen van het "netwerk" configuratie bestand /etc/config/network en zoek naar herkenbare items:
     299{{{
     300cat /etc/config/network #toont de gehele inhoud van het tekst bestand in de shell
    302301
    303302# Copyright (C) 2006 OpenWrt.org                                               
     
    317316}}}
    318317
    319 Als de functionaleit van een eenvoudige router met lokaal "lan" zone en een "wan" zone naar internet wil maken moeten we deze zelf aanmaken. Omdat we specifiek wan zone aangeven zijn hiervoor al de juiste firewall/routing oftewel beveilings voorkeuren voor aangemaakt en hoeven we nog niet direct verder te kijken naar het "firewall" config bestand.
    320 
     318Kijk eens naar de instellingen van het "dhcp" configuratie bestand /etc/config/dhcp en zoek naar relatie met voorgaande items:
     319{{{
     320tail /etc/config/network #toont de laatste 10 lines van het tekst bestand in de shell
     321
     322config dhcp lan                                                                 
     323        option interface        lan                                             
     324        option start    100                                                     
     325        option limit    150                                                     
     326        option leasetime        12h                                             
     327                                                                               
     328config dhcp wan                                                                 
     329        option interface        wan                                             
     330        option ignore   1
     331}}}
     332
     333Als we de relaties tussen deze twee configuratie bestanden kunnen interpreteren is te zien dat in de "lan" zone (die op eth0 zit) een dhcp server draait, met daarin dhcp-leasetijden van een 12hour en dhcp-lease bereik van 192.168.1.100 - 192.168.1.150 dat betekent dus dat er tegelijkertijd 50 clients via dhcp aan de router kunnen hangen op de lan interface. Tevens is te zien dat er op de "wan" zone geen dhcp server draait vanwege de ignore optie!
     334'' Hint: Er valt meer af te leiden uit deze gegevens, namelijk door het grote van het subnet mask 255.255.255.0 is er ruimte voor 254 routbare clients i.p.v. 50 via de dhcp, als je 254-50 doet hoe je nog ruimte voor 204 clients over die handmatig hun ip/route/dns moeten inregelen buiten de gebruikte 50 om en zij zouden dan ook via deze router kunnen werken! Bijvoorbeeld ip adres 192.168.1.99 of 192.168.1.151 etc. ''
     335
     336Als je de functionaleit van een eenvoudige router wilt bereiken met lokaal "lan" zone (al gedefineerd) en een "wan" zone naar internet moeten we deze laatste zone/interface eerst zelf definieren. Omdat we specifiek "wan" zone gaan aangeven zijn hiervoor al de juiste dhcp/firewall/routing oftewel voorkeuren voor aangemaakt en hoeven we nog niet direct verder te kijken naar het "dhcp" of "firewall" config bestand.
     337
     338Koppel eth1 interface aan de "wan" zone en stel deze als dhcp client in:
    321339{{{
    322340#add wan interface
    323341vi /etc/config/network
    324342
    325 #add the following 3 line text block without this comment!
     343#add the following 3 line text block at end without this comment!
    326344
    327345config interface wan                                                           
     
    335353Nu zou je een minimale werkende router met nat hebben als je de soekris aan je thuis netwerk hangt en deze via de wan interface met dhcp een ip kan verkrijgen van je eigen internet adsl/kabel modemrouter. Wanneer dat wel zo is, maar de openwrt router gebruikt dezelfde iprange/subnet 192.168.1.1/24 als je thuis router dan werkt de de openwrt nog niet naar behoren omdat die dan niet weet naar welk route die het verkeer moet doorzetten, dit kun je dat het makkelijkst in openwrt aanpassen! '' Let Op: Bedenk dan wel dat als je het ip adres van de router aanpast je de router ook via een andere adres moet benaderen voor ssh/webinterface!
    336354
    337 /etc/config/network
     355Verander het ipadress/subnet van je router in /etc/config/network:
    338356{{{
    339357config interface lan                                                           
     
    344362        option netmask  255.255.255.0
    345363
     364#to make new network interface settings active restart network!
     365#you might loose ssh connection, press ~.enter to kill ssh and reconnect!
     366/etc/init.d/network restart
     367
     368#to make new dhcp settings active restart dnsmasq!
     369/etc/init.d/dnsmasq restart
     370}}}
     371
     372De "wan" zone naar het internet zou je ook static kunnen defineren als je geen dhcp server op je thuisnetwerk draait, of wanneer je kabel/modemrouter bijvoorbeeld op bridgen staat! Zoek de juiste ip gegevens waaronder ipaddress/subnetmask/gateway/dns op van je provider en vul die handmatig hieronder in.
     373
     374{{{
     375#add wan interface
     376vi /etc/config/network
     377
     378#add/edit the following 6 line text block at end without this comment!
     379
     380config interface wan                                                           
     381        option ifname   eth1                                                   
     382        option proto    static
     383        option ipaddr   10.0.0.99
     384        option netmask  255.255.255.0
     385        option gateway  10.0.0.1
     386        option dns      8.8.8.8
     387
     388
    346389#to make new settings active restart network interfaces!
    347390/etc/init.d/network restart
     391
     392#to make new dhcp settings active restart dnsmasq!
     393/etc/init.d/dnsmasq restart
    348394}}}
    349395
    350396=== opkg packet manager ===
    351 Voordat er in openwrt pakketten geinstalleerd en verwijderd kunnen worden moet er eerst een werkende "wan" zone zijn die het apparaat met het internet verbind zodat het commando "opkg update" een lijst van beschikbare pakketjes van het internet kan ophalen. Dit hebben we als het goed is al gedaan een paar stappen terug bij "router + nat"!
     397Voordat er in openwrt pakketten geinstalleerd en verwijderd kunnen worden moet er eerst een werkende "wan" zone zijn die het apparaat met het internet verbind zodat het commando "opkg update" een lijst van beschikbare pakketjes van het internet kan ophalen. Dit hebben we als het goed is hiervoor al gedaan(een paar stappen terug bij "interfaces > wired")! Overigens is het ook mogelijk om handmatig alle pakketten (mits je de dependencies weet) met scp naar de router te kopieren en lokaal te installeren zonder internet, dit is wel omslachtiger!
    352398
    353399{{{
     
    426472* kmod-hostap-pci
    427473* hostapd
     474* hostap-utils
     475* hostapd-utils
     476* wireless-tools
    428477
    429478Wanneer in Openwrt aan de eerste 3 voorwaarden is voldaan en na installatie van de hierboven genoemde kernel modules(openwrt12.09 heeft kmod-mac80211 echt nodig), kan het zijn dat de wifi kaarten niet direct in "/etc/config/wireless" te vinden zijn of in de webinterface van luci herkent worden.
     
    476525
    477526==== atheros chipset  ====
    478 Een andere bekende wifi chipset fabrikant atheros word ook in openwrt uitgebreid ondersteund. De vorige generatie van de momenteel in de nodes gebruikte winston cm9 atheros 5423 wifi kaarten zijn de 5212 5213 kaarten. Deze kunnen naast 2,4 ok 5,8ghz aan (dual band)!
    479 
    480 De voor atheros gerelateerde modules zijn:
     527Een andere bekende wifi chipset fabrikant "atheros" word ook in openwrt uitgebreid ondersteund. De vorige generatie van de momenteel in de nodes gebruikte (winston/neweb cm9 atheros 5214) wifi kaarten zijn de 5212 5213 kaarten. Deze kunnen naast 2,4 ook 5,8ghz aan (dual band)! De voor atheros met accesspoint/station benodigde modules zijn:
    481528
    482529* kmod-madwifi
    483530* kmod-mac80211
     531* kmod-ath
    484532* kmod-at5k
    485533* kmod-ath9k
    486534* kmod-ath10k
    487 
    488 ===== countrycode firmware patch =====
    489 Naast dat de prism gebaseerde senao kaarten een firmware upgrade nodig hadden om goed te functioneren, hebben de atheros kaarten bij levering eigenlijk een specifieke 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 zijn in native builds van openwrt. Via de Windows tool RCU.exe en de atheros driver van Commview kan wanneer pin13 op de minipci kaart is afgeplakt (PLAKBAND ;-) deze eenvoudig worden gefixed op de juiste regio. Voor europa is ETSI1_WORLD 0x37 als regdomain aan te raden. Via linux kan via ath_info of eth-tool onderdeel van de madwifi driver vaak alleen via een oudere kernel ook het regdomain worden gepatched. Soms moet er nog wel een bepaalde register op de kaart aan of uit geschakeld worden bijvoorbeeld 1:0 4:0.
     535* hostapd
     536* hostapd-utils
     537* wireless-tools
     538* wpa-supplicant
     539* crda
     540
     541Met de volgende "/etc/config/wireless" template bestanden kun je 2,4 of 5ghz dualband functionaliteit van de atheros kaarten inregelen op gewenste channels! De template verkrijgen kan ook automatisch plaatsvinden wanneer alle benodigde modules aanwezig met "wifi detect > /etc/config/wireless", zo niet zie het voorbeeld!
     542
     543{{{
     544config wifi-device  radio0                                                     
     545        option type     mac80211                                               
     546        option channel  1                                                       
     547        option macaddr  00:xx:xx:xx:xx:x1                                       
     548        option hwmode   11g                                                     
     549        # REMOVE THIS LINE TO ENABLE WIFI:                                     
     550        option disabled 0                                                       
     551                                                                               
     552config wifi-iface                                                               
     553        option device   radio0                                                 
     554        option network  lan                                                     
     555        option mode     ap                                                     
     556        option ssid     http://www.wirelessleiden.nl/2ghz                                                 
     557        option encryption none                                                                           
     558                                                                               
     559config wifi-device  radio1                                                     
     560        option type     mac80211                                               
     561        option channel  48                                                     
     562        option macaddr  00:xx:xx:xx:xx:x2                                     
     563        option hwmode   11a                                                     
     564        # REMOVE THIS LINE TO ENABLE WIFI:                                     
     565        option disabled 0                                                       
     566                                                                               
     567config wifi-iface                                                               
     568        option device   radio1                                                 
     569        option network  lan                                                     
     570        option mode     ap                                                     
     571        option ssid     http://wirelessleiden.nl/5ghz                                             
     572        option encryption none                                                 
     573}}}
     574
     575===== countrycode dfs radar =====
     576Naast dat de prism gebaseerde senao kaarten een firmware upgrade nodig hadden om goed te functioneren, hebben de atheros kaarten bij levering eigenlijk een specifieke 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 zijn in native builds van openwrt. Via de Windows tool RCU.exe en de atheros driver van Commview kan wanneer pin13 op de minipci kaart is afgeplakt (PLAKBAND ;-) deze eenvoudig worden gefixed op de juiste regio. Voor europa is ETSI1_WORLD 0x37 als regdomain aan te raden. Via linux kan via ath_info of eth-tool onderdeel van de madwifi driver vaak alleen via een oudere kernel ook het regdomain worden gepatched. Soms moet er nog wel een bepaalde register op de kaart aan of uit geschakeld worden bijvoorbeeld 1:0 4:0. Naast kanaal bereik kan dit ook invloed hebben op het vermogen dat uitgezonden mag worden, exacte details staan bij de links/urls/references beschreven.
     577
     578Voor de 5ghz is er dfs/radar detectie nodig en deze ontbreekt in de opensource drivers, de nieuwste versie van ath9k heeft deze wel in openwrt trunk barierbreaker, kortom enkele kanalen werken maar op beperkt vermogens op de 5ghz band, maar dan weet je waarom!
    490579
    491580==== overige wifi chipsets ====
    492581Werkbare drivers kun je voor wifi kaarten gebaseerd op broadcom, intel, ralink en realtek en meer waarschijnlijk allemaal aan de gang krijgen. Niet allemaal zullen ze accespoint(master) mode ondersteunten vooral oudere intel kaarten!
    493582
    494 === portforwarding ===
    495 /etc/config/firewall
    496 
    497 === vlans ===
    498 Handige feature om netwerken te scheiden over 1 een fysieke kabel.
    499 
    500 {{{
    501 insmod 8021q
    502 }}}
    503 
    504 === ip alias ===
    505 Handige feature die in het veld veel gebruikt word, een enkele ethernet interface eth0 kan over dezelfde kabel met verschillende subnet functioneren die totaal niet in elkaars range liggen.
    506 
    507 === bridges ===
    508 
    509 {{{
    510 brctl show
    511 }}}
    512 == Direct aan de slag! ==
    513 Met wat eigenlijk? Met doosjes hardware(soekris boards/wifi uitbreidingen) en software als referentie of functionaliteiten zoals router en accesspoint opzetten en de hardware software instellingen ondersteunend maken aan dat verhaal? Ik heb het nu aan de hand van de hardware beschreven, tegelijk met het mixen van functionaliteiten zonder die direct altijd te benoemen en ook nog eens met verschillende openwrt versies... dit moet nog opgeschoond worden.
    514 
    515 Het eerste doel is een router op te zetten, die qua functionaliteit overeenkomt met de router in een huis tuin en keuken accesspoint van een reguliere interprovider, daarbij wifi toevoegen en mogelijk wat meer.
    516 
    517 === soekris 4501 ===
    518 Werkt met standaard image ook prima, net als de 4521 tevens net zo traag ;-) heeft met dns-resolve te maken!
    519 
    520 === soekris 4521 ===
    521 Ondanks dat de meeste hardware direct is aan te spreken vanuit opernwrt gaan de pcmcia sloten pas werken als daarvoor de juiste (kant en klare) pakketjes uit de reposity zijn geladen, dit geldt voor zowel backfire als attitude adjustment. Maar het laden uit de repository gaat pas werken wanneer het board via de "wan" aansluiting op het internet is aangesloten. Echter de "wan" aansluiting is standaard in de network config niet geconfigureerd, dit omdat niemand kenlijk een nette detect board-layout heeft opgegeven aan de openwrt developers, zodat gedetecteerd kan worden welke interfaces in het ergste geval een ethernet adapter heeft beschikt eth0(poe+lan). Daarom moet er eerst een "wan" interface worden toegevoegd en "eth0" bij de lan vervangen worden door "eth1" en "eth0" bij de "wan" plaatsen. Vervolgens nog firewall rules toevoegen zodat je via diezelfde wan interface kunt managen met ssh/http. Tenslotte kun je dan pas na de reboot het board met de pakket manager verder configureren. Nu eerst de CF kaart voorbereiden!
    522 
    523 {{{
    524 #download openwrt image on client pc/laptop with card-reader
    525 wget http://downloads.openwrt.org/attitude_adjustment/12.09/x86/generic/openwrt-x86-generic-combined-squashfs.img
    526 
    527 #warning dd will overwrite anything and can destroy data in a inrecoverable fashion on your own PC!!!
    528 #write bootable image directly to CF-CARD
    529 sudo dd if=openwrt-x86-generic-combined-squashfs.img of=/dev/sdX
    530 
    531 #if you don't have ConMute=Enabled in comBIOS nor have a serial
    532 #cable active console with soekris follow the steps at chapter "grub boot loader"
    533 }}}
    534 
    535 Plaats de CF-CARD in de soekris, en sluit een losse lan/poe kabel van eth0 port op de soekris (dichtst bij de voeding) direct op je PC aan. Je PC zal via dhcp automatisch een ip van de soekris krijgen zo niet, de port is namelijk ingesteld als lokaal LAN en de tweede/derde ethernet port moet ook geconfigureerd worden!
    536 
    537 {{{
    538 #login via telnet
    539 telnet 192.168.1.1
    540 
    541 #add default password dit moet!
    542 passwd
    543 
    544 #reboot so rootfs will be writable next boot
    545 reboot;exit
    546 
    547 #login again, but with ssh
    548 ssh root@192.168.1.1
    549 
    550 #backup original config files
    551 cp -r /etc/config /etc/config.ori
    552 
    553 #add wan interface
    554 vi /etc/config/network #see example code!
    555 
    556 #add 'ssh' and 'http' to firewall rules
    557 vi /etc/config/firewall #see example code!
    558 
    559 #finish setting up networkinterface and firewall
    560 reboot;exit
    561 
    562 #disconnect PC lan cable from soekris
    563 #connect the soekris via wan interface
    564 #directly to the local router with internet!
    565 }}}
    566 
    567 # example code # /etc/config/network
    568 {{{
    569 # Copyright (C) 2006 OpenWrt.org
    570 
    571 config interface loopback
    572         option ifname   lo
    573         option proto    static
    574         option ipaddr   127.0.0.1
    575         option netmask  255.0.0.0
    576 
    577 config interface lan
    578         option ifname   eth0 #! <---
    579         option type     bridge
    580         option proto    static
    581         option ipaddr   192.168.45.1
    582         option netmask  255.255.255.0
    583 
    584 config interface wan
    585         option ifname   eth1 #! <---
    586         option type     bridge
    587         option proto    dhcp
    588         #option proto    static
    589         #option ipaddr   172.16.6.45
    590         #option netmask  255.255.255.0
    591 
    592 }}}
     583=== firewall (port)forwarding ===
     584Het standaard gedrag voor openwrt is dat van buitenaf op de "wan" zone geen enkele service bereikbaar is, zelfs geen ssh! Vanuit dit configuratie bestand "/etc/config/firewall" kun je bijvoorbeeld binnenkomende porten openzetten op de "wan" zone of forwarden naar een lokaal ip op de "lan" zone. Het volgende voorbeeld laat zien hoe je de volgende services:ssh, webinterface, proxy en iperf toevoegd aan de firewall instellingen.
    593585
    594586# add. example code # /etc/config/firewall
     
    625617}}}
    626618
     619Om deze extra firewall uitbreidingen actief te maken, moet je de firewall service herstarten. Dit doe je net als vele andere services met /etc/init.d/servicenaam restart!
     620Maak firewall wijzigingen actief:
     621{{{
     622/etc/init.d/firewall restart
     623}}}
     624
     625'' Let Op: Verkeerde firewall instellingen kunnen ervoor zorgen dat je jezelf buitensluit! Enkel kun je dan alleen via serial-console of als je geluk hebt via de lan nog binnenkomen! ''
     626
     627Extra zone(s) (afgezonderd in wlgst voorbeeld) definieren kan op de volgende manier, wel moet dan nog een aansluitende interface in /etc/config/network en een extra item aan /etc/config/dhcp worden toegevoegd of er nou wel of geen dhcp server draait, als je de wifi hierbij wil betrekken moet je ook /etc/config/wireless editen. Deze services moeten na het wijzigen ook ieder opnieuw gestart worden!
     628
     629# add. example code # /etc/config/firewall
     630{{{
     631config zone
     632        option name             lanb
     633        option network          'lanb'
     634        option input            ACCEPT
     635        option output           ACCEPT
     636        option forward          REJECT
     637
     638config forwarding                     
     639        option src              lanb   
     640        option dest             wan
     641}}}
     642
     643# add. example code # /etc/config/dhcp
     644{{{
     645config dhcp lanb                                           
     646        option interface        lanb                       
     647        option start    100                               
     648        option limit    150                   
     649        option leasetime        12h
     650}}}
     651
     652Een afgezonderd guest netwerk voor bijvoorbeeld wifi is ook op te zetten zelfs met virtual/multi ssid op een enkele atheros kaart, zie eduroam accesspoint als praktijk voorbeeld. Hieronder de settings.
     653
     654/etc/config/firewall
     655{{{
     656#add these items!
     657#! Allow multiSSID wlgst zone if not bridging <---
     658config zone
     659        option name             wlgst
     660        option input            REJECT
     661        option forward          REJECT
     662        option output           ACCEPT
     663
     664#! Allow multiSSID wlgst to internet on wan <---
     665config  forwarding
     666        option src      wlgst
     667        option dest     wan
     668
     669#! Allow multiSSID wlgst to DNS <---
     670#! Client DNS queries ordinate from dynamic UDP ports (>1023)
     671config  rule
     672        option src              wlgst
     673        option dest_port        53
     674        option proto            tcpudp
     675        option target           ACCEPT
     676
     677#! Allow multiSSID wlgst to DHCP -> Router <---
     678#! DHCP communication uses UDP ports 67-68
     679config  rule
     680        option src      wlgst
     681        option src_port 67-68
     682        option dest_port        67-68
     683        option proto    udp
     684        option target   ACCEPT
     685}}}
     686
     687/etc/config/dhcp
     688{{{
     689#! Add extra dhcp-server for multiSSID hotspot when using nat <---
     690config dhcp wlgst
     691        option interface        wlgst
     692        option start    5
     693        option limit    252
     694        option leasetime        1h
     695}}}
     696
     697/etc/config/network
     698{{{
     699#!Add this wlgst interface
     700config interface wlgst
     701        #option ifname  wlgst
     702        #option type    bridge
     703        option proto    static
     704        option ipaddr   192.168.5.1
     705        option netmask  255.255.255.0
     706}}}
     707
     708/etc/config/wireless
     709{{{
     710#!Add extra virtual/multissid AP to radio0
     711config wifi-iface
     712        option device   radio0
     713        option network  wlgst
     714        option mode     ap
     715        option ssid     guestnetwork2.4ghz
     716        option encryption none
     717}}}
     718=== vlans ===
     719Handige feature om netwerken te scheiden over 1 een fysieke kabel.
     720
     721{{{
     722insmod 8021q
     723}}}
     724
     725=== ip alias ===
     726Handige feature die in het veld veel gebruikt word, een enkele ethernet interface eth0 kan over dezelfde kabel met verschillende subnet functioneren die totaal niet in elkaars range liggen.
     727
     728=== bridges ===
     729
     730{{{
     731brctl show
     732}}}
     733== Direct aan de slag! ==
     734Met wat eigenlijk? Met doosjes hardware(soekris boards/wifi uitbreidingen) en software als referentie of functionaliteiten zoals router en accesspoint opzetten en de hardware software instellingen ondersteunend maken aan dat verhaal? Ik heb het nu aan de hand van de hardware beschreven, tegelijk met het mixen van functionaliteiten zonder die direct altijd te benoemen en ook nog eens met verschillende openwrt versies... dit moet nog opgeschoond worden.
     735
     736Het eerste doel is een router op te zetten, die qua functionaliteit overeenkomt met de router in een huis tuin en keuken accesspoint van een reguliere interprovider, daarbij wifi toevoegen en mogelijk wat meer.
     737
     738=== soekris 4501 ===
     739Werkt met standaard image ook prima, net als de 4521 tevens net zo traag ;-) heeft met dns-resolve te maken!
     740
     741=== soekris 4521 ===
     742Ondanks dat de meeste hardware direct is aan te spreken vanuit opernwrt gaan de pcmcia sloten pas werken als daarvoor de juiste (kant en klare) pakketjes uit de reposity zijn geladen, dit geldt voor zowel backfire als attitude adjustment. Maar het laden uit de repository gaat pas werken wanneer het board via de "wan" aansluiting op het internet is aangesloten. Echter de "wan" aansluiting is standaard in de network config niet geconfigureerd, dit omdat niemand kenlijk een nette detect board-layout heeft opgegeven aan de openwrt developers, zodat gedetecteerd kan worden welke interfaces in het ergste geval een ethernet adapter heeft beschikt eth0(poe+lan). Daarom moet er eerst een "wan" interface worden toegevoegd en "eth0" bij de lan vervangen worden door "eth1" en "eth0" bij de "wan" plaatsen. Vervolgens nog firewall rules toevoegen zodat je via diezelfde wan interface kunt managen met ssh/http. Tenslotte kun je dan pas na de reboot het board met de pakket manager verder configureren. Nu eerst de CF kaart voorbereiden!
     743
     744{{{
     745#download openwrt image on client pc/laptop with card-reader
     746wget http://downloads.openwrt.org/attitude_adjustment/12.09/x86/generic/openwrt-x86-generic-combined-squashfs.img
     747
     748#warning dd will overwrite anything and can destroy data in a inrecoverable fashion on your own PC!!!
     749#write bootable image directly to CF-CARD
     750sudo dd if=openwrt-x86-generic-combined-squashfs.img of=/dev/sdX
     751
     752#if you don't have ConMute=Enabled in comBIOS nor have a serial
     753#cable active console with soekris follow the steps at chapter "grub boot loader"
     754}}}
     755
     756Plaats de CF-CARD in de soekris, en sluit een losse lan/poe kabel van eth0 port op de soekris (dichtst bij de voeding) direct op je PC aan. Je PC zal via dhcp automatisch een ip van de soekris krijgen zo niet, de port is namelijk ingesteld als lokaal LAN en de tweede/derde ethernet port moet ook geconfigureerd worden!
     757
     758{{{
     759#login via telnet
     760telnet 192.168.1.1
     761
     762#add default password dit moet!
     763passwd
     764
     765#reboot so rootfs will be writable next boot
     766reboot;exit
     767
     768#login again, but with ssh
     769ssh root@192.168.1.1
     770
     771#backup original config files
     772cp -r /etc/config /etc/config.ori
     773
     774#add wan interface
     775vi /etc/config/network #see example code!
     776
     777#add 'ssh' and 'http' to firewall rules
     778vi /etc/config/firewall #see example code!
     779
     780#finish setting up networkinterface and firewall
     781reboot;exit
     782
     783#disconnect PC lan cable from soekris
     784#connect the soekris via wan interface
     785#directly to the local router with internet!
     786}}}
     787
     788# example code # /etc/config/network
     789{{{
     790# Copyright (C) 2006 OpenWrt.org
     791
     792config interface loopback
     793        option ifname   lo
     794        option proto    static
     795        option ipaddr   127.0.0.1
     796        option netmask  255.0.0.0
     797
     798config interface lan
     799        option ifname   eth0 #! <---
     800        option type     bridge
     801        option proto    static
     802        option ipaddr   192.168.45.1
     803        option netmask  255.255.255.0
     804
     805config interface wan
     806        option ifname   eth1 #! <---
     807        option type     bridge
     808        option proto    dhcp
     809        #option proto    static
     810        #option ipaddr   172.16.6.45
     811        #option netmask  255.255.255.0
     812
     813}}}
     814
     815
     816
    627817Driemaal 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 een keer installeren doet de ssh sessie enkele minuten stil staan/freezen maar hij hangt niet dus wacht rustig af!
    628818
     
    638828}}}
    639829
    640 De PCMCIA sloten waar de wifi adapters opzitten moeten tijdens de boot worden aangezet. Dat kan door in /etc/init.d/pcmcia* enable te doen. Echter het S20/S40 netwerk/wifi start al voordat de S42/41 PCMCIA sloten tot leven zijn gekomen. Een snelle Q&D fix is handmatig de pcmcia onderdelen eerder laten starten en het netwerk 10s vertragen.
    641 
    642 {{{
    643 #manualy enable pcmcia services on boot
    644 ln -s /etc/init.d/pcmcia /etc/rc.d/S35pcmcia
    645 ln -s /etc/init.d/pcmcia_socket /etc/rc.d/S36pcmcia_socket
    646 
    647 #quick and dirty delay network initialization after pcmcia delay 10s
    648 nano /etc/init.d/network
    649 
    650 #add the command "sleep 10" without the quoutes above the line with START=...
    651 }}}
    652 
    653 Stabiliteit PCMCIA bus hangt af van mogelijke bootparameters, irq bezetting en memoryranges. Voor 10.0.3.1 zorgt de boot parameter (TODO wel nog even checken of /etc/pcmcia/conf.opt speciale settings in 12.09 nodig heeft, irqpoll is no wifi). Bij de 10.03.1 kan "irqpoll" er juist voor zorgen dat de pcmcia bus het systeem niet doet freezen. Dit freezen houd in dat wanneer de pcmcia kaart verwijdert word het systeem direct weer reageert en niet is vastgelopen, dit komt uit eigen ervaring ook voor op laptops en kan met boot parameter "irqpoll" verholpen worden.
     830Zie pcmcia en senao wifi voor opzetten wifi!
    654831
    655832=== soekris 4801 ===
     
    9161093
    9171094=== payloads ===
    918 De eerste payload word een debian net installer voor de i386 architectuur, deze komt met eigen boot menu gebasseerd op syslinux wat makkelijk is aan te passen en dat gaan we ook doen. De eerste aanpassing is serial-console support toevoegen aan het bootmenu en kernel parameters van debian, vervolgens extra payloads toevoegen zoals freedos en nfs gebasseerde payloads waaronder freebsd en ubuntu desktop installers.
     1095De eerste payload word een debian net installer voor de i386 architectuur, dit had overigens ook ubuntu kunnen zijn(zelfde opzet). Deze komt compleet in een bestand "netboot.tar.gz" met eigen bootloader/menu gebasseerd op syslinux wat makkelijk is aan te passen en dat gaan/moeten we ook doen. De eerste aanpassing is serial-console support toevoegen aan het syslinux bootmenu en kernel parameters aan de kernel van debian, vervolgens extra payloads toevoegen zoals freedos en uiteindelijk "nfs" gebasseerde payloads waaronder "freebsd 10 iso" en "ubuntu live desktop iso".
    9191096
    9201097==== debian netinstall ====
     
    9231100cd /mnt/sda3/tftproot
    9241101wget http://ftp.nl.debian.org/debian/dists/wheezy/main/installer-i386/current/images/netboot/netboot.tar.gz
    925 tar -xvf netboot.tar.gz #merk op simlinked bestanden!!!
     1102tar -xvf netboot.tar.gz #merk op symlinked bestanden!!!
    9261103chmod -R 777 ../tftproot  #fix permision/read problems
    9271104}}}
     
    9371114}}}
    9381115
    939 /mnt/sda3/tftproot/debian-installer/i386/boot-screens/std?.txt
    940 {{{
    941 #add the following to the kernel paramaters
     1116/mnt/sda3/tftproot/debian-installer/i386/boot-screens/txt.cfg
     1117{{{
     1118#add the following to the debian kernel paramaters before "-- quiet"
    9421119console=ttyS0,38400n8
    9431120}}}
     
    9451122==== boot local harddisk ====
    9461123
    947 Redirect to boot default local disk, so if the soekris/pc boots via pxe it will refer back to boot from the internal harddisk of that machine, use 81 instead of 80 for the second harddisk!
     1124Redirect to boot default local disk, so if the soekris/pc boots via pxe it may automatically refer back to boot from the internal local harddisk of that machine instead of pxe, use 81 instead of 80 for the second harddisk!
    9481125{{{
    9491126LABEL bootlocaldisk
     
    9881165}}}
    9891166
    990 === ubuntu live desktop ====
     1167==== ubuntu live desktop iso ====
    9911168We kiezen een wat oudere ubuntu omdat deze het meest compatible is met oude hardware 256MB ram en i386 CPU's (zonder CMOV support pentium1/amd's). Maar je zou prima een van nieuwere ubuntu 12.04LTS of 14.04 daily amd64 iso's kunnen gebruiken!
    9921169
     
    10221199}}}
    10231200
    1024 ==== freebsd 10 i386 disc1 ====
     1201==== freebsd 10 i386 disc1 iso ====
    10251202Door wat bugs in de freebsd netinstall cdrom is deze helaas niet via pxe te starten(dns resolve kapot, bepaalde mappen niet beschikbaar) en moeten we de grotere install disc1 gebruiken (die dezelfde bugs heeft maar die de installatie bestanden zelf wel bevat). We moeten de content van de iso echt uitpakken naar een eigen folder, in die folder moeten een paar extra lege mappen worden aangemaakt en we moeten een paar config bestanden van de cdrom editen zodat we serial-console installatie kunnen afdwingen. Gelukkig hoeven we geen binary te patchen of bestanden toe tevoegen....
    10261203