Changes between Version 58 and Version 59 of WikiStart


Ignore:
Timestamp:
Mar 12, 2014, 5:52:26 PM (11 years ago)
Author:
walter
Comment:

iperf uitbreiding, tinyproxy uitbreiding, benchmark uitbreiding, captive portal uitbreiding

Legend:

Unmodified
Added
Removed
Modified
  • WikiStart

    v58 v59  
    147147
    148148#2#remove the word "console" at the top of /boot/grub/menu.lst
    149 #and remove the kernel boot parameter "console=tty0"
    150149sudo nano /mnt/booooot/boot/grub/menu.lst
    151150
     
    253252
    254253#check if jffs2 completed claimed free space on CF-CARD
    255 #this may take a couple of minutes, otherwise root ro-only
    256 dmesg | egrep "JFFS|jffs|complete|mini_fo"
     254#may take a couple of minutes otherwise / root=readonly!!!
     255dmesg | egrep "JFFS|jffs|complete|mini_fo/overlay"
    257256
    258257#add default password requirment!
     
    434433'' Let Op: Echter dient dit voor openwrt release backfire 10.03.1 op een andere wijze te geschieden dan attitude adjustment 12.09! ''
    435434
    436 Installeer pcmcia (kernel) modules:
     435Installeer pcmcia (kernel) modules en start deze handmatig:
    437436{{{
    438437opkg update
    439438opkg install pcmciautils kmod-pcmcia-core kmod-pcmcia-yenta
     439pcmcia-socket-startup
    440440}}}
    441441
     
    788788
    789789=== ip alias ===
    790 Handige feature die in het veld veel gebruikt word, hierdoor kan een enkele ethernet interface eth0 met een macaddress over dezelfde kabel toch met verschillende subnets functioneren die totaal niet in elkaars range liggen. Bij wirelessleiden zie je dit veel op de interlinks, omdat daar het aantal ip's al beperkt is en er soms meerdere stations op een ap zitten met totaal een andere eind node! Wanneer een alias ip word toegevoegd word deze afhankelijk van de methode niet altijd weergegeven met ifconfig of ifconfig -a, daarvoor heb je de ip en kmod-macvlan nodig. Dat laatste kmod-macvlan plaatst extra virtuele macaddressen op de interface waar een eigen (alias)ip aan vast komt, dit vooral handig als je met dhcp-client wil werken, zodat iedere aparate mac een eigen ip van dhcp server kan krijgen!
     790Handige feature die in het veld veel gebruikt word, hierdoor kan een enkele ethernet interface "eth0" met een enkel macaddress over dezelfde kabel toch met verschillende subnets functioneren die totaal niet in elkaars range liggen. Bij wirelessleiden zie je dit veel op de interlinks, omdat daar het aantal ip's al beperkt is en er soms meerdere stations op een ap zitten met totaal een andere eind node! Wanneer een alias ip word toegevoegd word deze afhankelijk van de methode niet altijd weergegeven met ifconfig of ifconfig -a, daarvoor heb je de "ip" en "kmod-macvlan" nodig. Dat laatste "kmod-macvlan" plaatst extra virtuele macaddressen op de interface waar een eigen (alias)ip aan vast komt, dit is vooral handig als je met dhcp-client wil werken, zodat iedere apparte mac een eigen unieke ip van dhcp server kan krijgen omdat de dhcp server deze unieke requests kan onderscheiden!
    791791
    792792# add. example code # /etc/config/network
     
    847847
    848848=== iperf ===
    849 Werkt dit?
    850 
    851 {{{
    852 #!/bin/sh /etc/rc.common
    853 # Copyright (C) 2006-2012 OpenWrt.org
    854 
    855 START=98
    856 
    857 start () {
    858        service_start /usr/bin/iperf -s -D -V
    859 }
    860 
    861 stop() {
    862        killall iperf
    863 }
    864 }}}
    865 
    866 quick and dirty
     849Met iperf kun je netwerk bandbreedte testen uitvoeren, je krijgt dan een aardig idee van de full/half-duplex mogelijkheden van de verbinding m.b.t. pakketgrote/timing karakteristieken. Met opkg kan je de module iperf laden en in rc.local kunnen we deze quick en dirty met het opstarten betrekken. Houd er wel rekening mee dat verschillende iperf / kernel versies andere window frame sizes gebruiken dat invloed op de performance heeft!
     850
     851Installeer iperf:
     852{{{
     853opkg update
     854opkg install iperf
     855}}}
     856
     857# add. example code # /etc/rc.local
    867858{{{
    868859/usr/bin/iperf -s -D
    869860}}}
    870861
    871 === ??? ===
     862Op de client pc start je een iperf sessie met de iperf server op 192.168.45.1 die tweerichtingsverkeer 20 seconden lang test en bandbreedte reporteerd in MegaBytes:
     863{{{
     864iperf -c 192.168.45.1 -d -t 20 -f M
     865}}}
     866
     867=== benchmark cpu openssl-util ===
     868Zie uitslagen vergelijkende benchmarks [http://wiki.openwrt.org/inbox/benchmark.openssl openwrt benchmark results] en [http://www.pcengines.info/forums/?page=post&id=6DBDDAB1-20E9-48CE-99A8-371F1C91D239&fid=DCB0643F-CE4D-4CAA-A3BA-72135A57B61D&cachecommand=bypass&pageindex=10 pcengines forum apu benchmark]. Dit geeft voor de reken capaciteiten "cpu" een redelijke indicicatie, dus geen HD/NET/RAM I/O!
     869
     870{{{
     871opkg update
     872opkg install openssl-util
     873}}}
     874
     875Start de benchmark door het volgende lange commando te copy-pasten:
     876{{{
     877openssl speed md5 sha1 sha256 sha512 des des-ede3 aes-128-cbc aes-192-cbc aes-256-cbc rsa2048 dsa2048 | tee /tmp/sslspeed | awk -v ORS="" '$1 ~ /OpenSSL/ {print "| " $2 " |"} $1 ~ /(md5|sha)/ {print "  " $5 " |"} $1 ~ /(des|aes)/ {b = b "  " $6 " |"} $1 ~ /(rsa|dsa)/ {print b "  " $6 " |  " $7 " |";b=""} END { print "\n" }' | sed 's/\.\(..\)k/\10/g'
     878}}}
     879
     880# example results #
     881{{{
     882#soekris net4521: bios 133 64MB RAM
     883| 1.0.1e |  6205580   |  1976560  |  1000190  |  599040   |  822930   |  298670  |  1142050  |  997800   |  885200   |  0.4  |  14.0  |  1.4  |  1.2  |
     884| 1.0.1e |  6069160   |  1977920  |  998230   |  597050   |  825660   |  291890  |  1142050  |  997460   |  885880   |  0.4  |  14.0  |  1.4  |  1.1  |
     885
     886#alix apu1b: 2GB dualcore AMD G-T40N Processor (custom openwrt nusku 12.09 dualprocessor/highram support)
     887| 1.0.1e |  133354500 |  56383490 |  24429570 |  10011990 |  19091110 |  6585340 |  34929320 |  30816260 |  27237380 |  23.3 |  883.4 |  88.3 |  71.5 |
     888| 1.0.1e |  133459290 |  56265050 |  24418300 |  10021890 |  19090090 |  6595930 |  35962200 |  31771310 |  28062720 |  24.3 |  918.2 |  91.6 |  75.7 |
     889}}}
    872890
    873891== Direct aan de slag! ==
     
    10551073Dit board zonder CF kaart moet waarschijnlijk wel via de serial port aansturen tot een tftp / PXE boot om openwrt te laden, maar wanneer het er eenmaal opstaat kun je blijven experimenteren. USB headers onboard kan direct een werkende usbport van gemaakt worden. Deze usb port kan via plop bootmanager geboot worden (mits syslinux op de usb staat ipv grub). Openwrt moet dan als die op de usbstaat met extroot werken en usb modules in de image hebben.
    10561074
    1057 === Captive Portal ===
    1058 Eenvoudig in te stellen voor een lokale zelfstandige node door de /etc/nodogsplash/nodogsplash.conf te bewerken en een html splash pagina toe tevoegen in /etc/nodogsplash/htdocs/splash.html!
    1059 
    1060 {{{
    1061 GatewayInterface br-lan#lan
     1075=== Captive Portal / Splash ===
     1076Dit is de benaming van de functionaliteit die wifi/laptop/smartphone gebruikers vaak tegen komen bij free/open hotspots wanneer ze er gebruik willen maken van het internet. Zodra ze in hun webbrowser op de laptop/smartphone een website oproepen (http) krijgen ze een welkomspagina (splash/captiveportal) geserverrd waarin ze adverteerders of voorwaarden kunnen inzien pas wanneer er geklikt of bevestigd is door ergens te klikken op die welkomspagina kan de gebruiker naar zijn eigen opgevraagde gaan. Vaak word er dan nog wel even eenmalig een andere pagina tussen gepushed(redirect). Redelijk eenvoudig is zo'n functie ook in te stellen voor een lokale zelfstandige soekris openwrt node door het pakket "nodogsplash" met het configuratie bestand "/etc/nodogsplash/nodogsplash.conf" te bewerken en een eigen html splash pagina toe te te voegen/vervangen in "/etc/nodogsplash/htdocs/splash.html" en de service te activeren!
     1077
     1078{{{
     1079opkg update
     1080opkg install nodogsplash
     1081}}}
     1082
     1083De instellingen van deze nodogsplash.conf zijn redelijk uitgebreid maar bootsen grotendeels de eigenschappen van het W.L. na met betrekking tot proxies gebruiken op andere node's of gewoon verkeer tussen nodes onderling toelaten zonder dat je lastig gevallen hoeft te worden door de captive portal! Door straks handmatig de service te enablen en deze eenmaal te starten heb je de captive portal werkend, echter met een default splash pagina!
     1084
     1085'' Let Op: Nodogsplash past de firewall rules aan, dat betekent dus ook dat wanneer je hiermee experimenteerd je jezelf kan buitensluiten! ''
     1086
     1087# example code # /etc/nodogsplash/nodogsplash.conf
     1088{{{
     1089GatewayInterface br-lan
    10621090
    10631091FirewallRuleSet authenticated-users {
     
    10761104
    10771105FirewallRuleSet preauthenticated-users {
     1106    FirewallRule allow tcp port 22
    10781107    FirewallRule allow tcp port 53
    10791108    FirewallRule allow udp port 53
     
    11001129}}}
    11011130
     1131Betrek service bij het opstarten en activeer hem nu:
     1132{{{
     1133/etc/init.d/nodogsplash enable
     1134/etc/init.d/nodogsplash start
     1135}}}
     1136
     1137Wanneer je niet tevreden bent de standaard template splash pagina van nodogsplash kun je deze zelf naar hartelust veranderen in " /etc/nodogsplash/htdocs/splash.html", hergebruik de trigger jpg/link klik waardoor de portal geactiveerd word en je kan vanalles aan HTML/CSS/etc inplakken.
     1138
    11021139=== Proxy ===
    1103 Eenvoudig in te stellen door /etc/config/tinyproxy te bewerken.
     1140Dit kan naast een soort beveiligsfeature (afkappen) van http sessies naar de buitenwereld ook een performance feature zijn door data lokaal te cachen. Met dit mechanisme kan je terwijl je met je laptop/smarthpone bent ingelogd op de ene node aldan niet met eigen gateway, de proxy(gateway) van een andere node binnen het netwerk gebruiken. Hiervoor moet je enkel de juiste proxy settings in bijvoorbeeld je webbrowser invullen: proxy address en port nummer. 
     1141
     1142In openwrt is hiervoor de module tinyproxy nodig(tevens kun je de webinterface module luci-app-tinyproxy gebruiken), vervolgens kan je via het config bestand /etc/config/tinyproxy de gewenste interfaces/porten/etc inregelen en uiteindelijk deze module als een reguliere service enablen.
     1143
     1144Installeer tinyproxy:
     1145{{{
     1146opkg update
     1147opkg install tinyproxy
     1148}}}
     1149
     1150# example code # /etc/config/tinyproxy
    11041151{{{
    11051152config tinyproxy
     
    11251172        option enabled '1'
    11261173}}}
     1174
     1175Betrek service bij het opstarten en activeer hem nu:
     1176{{{
     1177/etc/init.d/tinyproxy enable
     1178/etc/init.d/tinyproxy start
     1179}}}
     1180
     1181Als we naar het config bestand kijken kunnen we zien dat deze op alle private ranges is toegestaan en dat die port 3128 gebruikt!
    11271182
    11281183== Routing opzet ==