måndag 30 juni 2014

I det tysta

För någon vecka sedan kroknade jag på Spotify, det som fick mig att avsluta min prenumeration var att många artister och spår bara försvinner och kommer tillbaka helt godtyckligt. Oerhört störande.

Så jag såg mig om efter alternativ, eftersom jag hade min musiksamling från tiden från när man "hoardade" kvar tyckte jag Subsonic såg lämpligt ut.


Så jag installerade den på min Mac mini server, lade till regler i brandväggen och nu strömmar jag musik till såväl jobb som iPhone och iPad. För premiumfunktionerna (främst att strömma till telefoner) betalar man $12 om året. Så fick det bli.

Klienten jag valt på iPhone heter SubHub och den cachar förstås sångerna man strömmar.

Mer trådlöst pulande

Jag är lite av en övervakningsfreak. Jag gillar att mäta och övervaka saker, ofta bara för att jag kan.

Så när jag fått igång scriptet som tog ut användarna från våra trådlösa Cisco-kontroller tänkte jag att man också kunde använda datat för att visa hur många användare som är uppkopplade trådlöst.

Jag löste det helt sonika med att modifiera det gamla scriptet och lade till två rader:
more /tmp/wlc.txt | wc -l > /tmp/users.txt
convert -background white  -fill blue -pointsize 24 label:@/tmp/users.txt   /var/www/wlanusers/users.gif

Först räknar jag antalet rader och skriver ut siffran i filen users.txt sedan konverterar jag siffran till en GIF-bild som jag lägger på webbservern (detta är maskinen som kör Smokeping och MRTG) och pekar helt sonika ut den i min html-fil när jag ska använda den. Den uppdateras med femminutersintervall.

Eftersom det också finns lite andra tweaks i scriptet publicerar jag hela igen:
#!/bin/bash
##########################
snmp_community="public"
snmp_host="192.168.1.1"

# Tar bort filen om den redan finns
if [ -e /tmp/wlc.txt ]
        then
                rm -f /tmp/wlc.txt
fi

####################################################################
#Set input system to break on new-line when adding data to an array#
####################################################################
IFS=$'\n'
####################################################################
#Perform SNMP walks to get data of interest and load them into array variables to use later#
####################################################################
while [ "1" -ne "2" ]
do
 Unique_OID=($(snmpwalk -v 2c -O x -c $snmp_community $snmp_host 1.3.6.1.4.1.14179.2.1.4.1.1))
 Client_IP=($(snmpwalk -v 2c -c $snmp_community $snmp_host 1.3.6.1.4.1.14179.2.1.4.1.2))
 Client_Username=($(snmpwalk -v 2c -c $snmp_community $snmp_host 1.3.6.1.4.1.14179.2.1.4.1.3))
#####################################################################
#Ensure all SNMP walk requests contain the same amount of data and break loop when they do #
#####################################################################
 count1=${#Unique_OID[@]}
 count2=${#Client_IP[@]}
 count3=${#Client_Username[@]}
 if [ "$count1" -eq "$count2" ]; then
                  if [ "$count2" -eq "$count3" ]; then
                                                                  break
         fi
 fi
done
####################################################################
#Create a loop to match and extract data between the various arrays#
####################################################################
wait
index=0
while [ "$index" -lt "$count1" ]
      do
          id=$(echo ${Unique_OID[$index]} | cut -d "=" -f1 | awk -F "." '{print $8 "."$9 "." $10 "." $11 "." $12 "." $13 }')
          cIP=$(echo ${Client_IP[$index]} | grep $id | awk -F " " '{print $4}')
          cUser=$(echo ${Client_Username[$index]} | grep $id | awk -F " " '{print $4}' | sed s/\"//g)
          if [[ $cUser = TEST* ]] || [[ $cUser != "" ]] && [[ $cUser != host* ]] && [[ $cIP != "0.0.0.0" ]]; then
                if [[ $cUser = TEST* ]]; then
                    echo "SYSTEM=CISCO IP="$cIP "USER="$cUser >> /tmp/wlc.txt
                else
                    echo "SYSTEM=CISCO IP="$cIP "USER=LIDINGO\\\\"$cUser >> /tmp/wlc.txt
                fi
          fi
     ((index++))
     done

# Kontrollera om filen finns och skicka den vidare
if [ -e /tmp/wlc.txt ]
        then
                more /tmp/wlc.txt | wc -l > /tmp/users.txt
                convert -background white  -fill blue -pointsize 24 label:@/tmp/users.txt   /var/www/wlanusers/users.gif
                logger -d -f /tmp/wlc.txt -n 192.168.1.2 -P 514
                logger -d -f /tmp/wlc.txt -n 192.168.1.3 -P 514
fi


-------------------------
Den sista logger-raden skickar in datat i Splunk. Där kan jag korrelera och undersöka t.ex. om en användare är inloggad på flera enheter samtidigt - klart suspekt beteende om enheterna är på geografiskt olika platser.

tisdag 24 juni 2014

Man är aldrig först

Jag tänkte installera en UniFi Outdoor (UAP-Outdoor) accesspunkt på lantstället för att få täckning mellan husen på tomten och fick idén att ha en Raspberry Pi som UniFi-kontroller.


Det tog inte många sekunder på Google för att upptäcka att någon redan gjort det.

Om det funkar bra kommer jag förmodligen göra samma sak hemma.

måndag 23 juni 2014

Det vanliga loppet

Efter brandväggsbytet i maj har vi efter den initiala rushen att fixa reglerna för att allt ska bli åtkomligt har vi så smått gått över i nästa fas: konsolidering av regler.



Eftersom Palo Alto Networks brandväggar är applikationsbrandväggar tar det ett tag innan man kommer in i tänket jämfört med en traditionell brandvägg med SPI.

I vår gamla brandvägg hade vi närmare 150 regler och, upptäckte vi, en del dubbletter eftersom brandväggen "ärvts" av olika nätverkstekniker genom åren.

I nya brandväggen är vi nere i 66 regler och jag har gott hopp om att minska dem med ungefär 10 stycken innan jag konsoliderat klart. Främst är det de gamla reglerna med port-för-port för webbtrafik till olika servrar som när man väl gjort NAT-regler kan slå ihop till en regel, snyggt och fint.

Jag funderar på följande:
En regel för servrar som bara kör http. En regel för servrar som bara kör https. Och slutligen en regel för servrar som kör både http och https (det är denna regeln jag börjat med).

Ju färre regler desto överskådligare - och bieffekten är förstås att brandväggen får jobba mindre.

Jag vill understryka att det Palo Alto Networks gör med sin brandvägg inte är något magiskt eller något som bara just dem kan göra men efter att ha provkört alternativen är det en sak de absolut är bäst på: användargränssnitt.

Ofta behöver man inte produkten som gör en sak BÄST, Palo Alto Networks gör många saker bra nog och förpackar det i det bästa gränssnittet jag sett på en brandvägg någonsin. Det är deras styrka.

Vi hade tänkt köra den nya brandväggen och Websense samtidigt för URL-filtrering under ett par månader för att se om de gav olika resultat men Websense, sin vana trogen, kraschade och efter ett par dagars sessioner med supporten gav dem upp och bad oss installera om hela produkten. Jag drog ur proppen då och ingen har saknat dem sedan dess.

lördag 14 juni 2014

Mannen som uppfann ping

Den 20 november år 2000 dog Michael Muuss i en bilolycka. Hans namn har dessvärre inte gått till historien trots att nätverkstekniker som jag använder hans program, ping, varje dag i vår yrkesutövning.


Ping använder ICMP-protokollet för att se om en enhet på ett TCP/IP-nätverk svarar och är ett av de mest grundläggande verktygen vi har. Jag vet inget operativsystem idag som skeppas utan kommandot och mycket av originalkoden Michael skrev är förmodligen kvar eftersom hans kod licensierades med BSD-licensen.

Berättelsen om hur ping kom till är i sig underhållande och trots att Muuss fick pris från USENIX för sitt enastående program verkar hans namn vara borttappat i datorhistorien.

Jag tror inte jag kan rätta till det men jag kan i alla fall lyfta på hatten och sända ett hjärtligt tack till Michael Muuss - utan ping skulle mitt jobb vara mycket svårare.


tisdag 10 juni 2014

IBMs nedgång och fall

Jag jobbade många år på IBM innan jag till slut lämnade skeppet och gick vidare av ren frustration.

Som många påpekat under åren är det något som gått väldigt fel där, Robert X. Cringely har nyligen gett ut boken The Decline and Fall of IBM. Eftersom jag, precis som Cringely, skulle vilja att IBM reste sig och blev vad de en gång var kastade jag mig över och läste ut boken snabbt.

För att inte ha jobbat på IBM vet Cringely en hel del om hur bolaget sköts och hans analys om hur IBM gått utför under många, många år är en tragisk historia i många akter.

Kanske finns det ännu tid att rädda IBM men det måste ske skyndsamt om det ska finnas något att rädda.


Jag minns när jag började på IBM, 1993, då IBM precis gått igenom en kulturchock när de första faktiskt hade tvingats lämna (läs: få foten från) IBM. Det var ett bra ställe att jobba på. Man fick utbildning, man blev inte behandlad som en idiot eller micro-managed. Det fanns en hel del förmåner, det fanns en klubb på företaget med många intressanta sektioner, det fanns en IBM-iad med deltagande från samtliga nordiska länder som genomfördes regelbundet och det fanns ett bibliotek. Det fanns till och med en viss respekt för facket.

Kring år 2000 stängde IBM helt sonika biblioteket, det var den första åtgärden jag uppmärksammade som olycksbådande och efter det kom också döden i form av tusentals skärsår. Varje år skars det successivt ner på förmåner och andra märkliga saker infördes. Man började med Variable Pay, ett system där all anställda gav tionde till IBM i hopp om att få det utbetalat som bonus(!) om det gick bra för bolaget. Från början var målen hyfsat lokala, på slutet fick man räkna med att ens bonus försvann efter räkneexperiment på någon kontinent där det för närvarande inte gick bra för IBM.

Som grädde på moset körde man alla anställda genom PBC, Personal Business Commitments, som ersättare för utvecklingssamtal. Med tiden bev målen i PBC alltmer abstrakta och långt från en och när utvärdering skulle göras hade management redan bestämt hur många som skulle tilldelas högsta respektive lägsta betyg - alldeles oavsett hur det i verkligheten förhöll sig.

Jag tror det var året då jag slutade som IBM tog det absurda steget att inte ge de som ställde upp och hjälpte till vid Vasaloppet som IBM sponsrar någon ersättning. De var helt enkelt tvungna att ansöka om semester för att hjälpa IBM med sitt sponsorsåtagande. Vid tiden var personalpolitiken helt körd i botten och jag har många horribla historier om hur människor behandlades på lager. Men det är deprimerande att både lyssna och tänka på.


Kort sagt: ta inte anställning vid IBM idag om du är tekniker. Det är inte ett teknikföretag i någon större utsträckning. Det domineras av säljare, en armé av chefer och idén att de som jobbar där är resurser - inte människor.

onsdag 4 juni 2014

OS X 10.10

Jag gillar Linux och Unix vilket i sin tur medför att jag gillar OS X, Apples Unix-operativsystem.


Jag kommer från DOS och OS/2, jag var sen Windowsanvändare men har naturligtvis använt Windows en hel del. Jag plockade tidigt upp Coherent och Linux men var väldigt sen på bollen när det gäller Mac.

Det var först 2006, när Apple släppt sina första intel-baserade maskiner, som jag på en kollegas inrådan köpte en Mac Mini. Jag tänkte att i värsta fall kunde jag installera Windows eller Linux på den så allt inte var förlorat. Aktuell version av OS X var 10.4, Tiger kallad. Första dagen blev strulig, det är en omställning och jag råkade ut för en kernel panic, något som är lika sällsynt som en blåskärm är för Windows idag.

Men efter första dagen var jag egentligen såld. Här var ett grafiskt snyggt operativsystem med Unix under huven, det var bara att droppa till en terminal och göra saker som man alltid gjort.

Efter det har jag alltid haft åtminstone en Mac tillgänglig hemma och den första Mac mini:n jag köpte gick först till mina föräldrar, sedan tillbaka till mig där den tjänstgjorde som Plex-server innan de slutade stödja 32-bitarsversioner av OS X. Nu har jag pensionerat maskinen men den ska faktiskt användas som printserver hos några släktingar så än kan man ha nytta av den, trots att den alltså är en 32-bitarsmaskin kvar på OS X 10.6.

Och nu har Apple visat upp hur nästa version av OS X, 10.10 eller Yosemite, som kommer till hösten kommer se ut. En lovande uppdatering.

tisdag 3 juni 2014

Introduktionsvideo för UDOObuntu

En liten översikt över UDOO:s nya officiella Linuxdistribution:

Som för att understryka en poäng

Jag fick ett mail igår som verkligen understryker nivån på Raspberry Pi:s community som jag prisat ett par gånger.



De har publicerat en ny Online Usage Guide som är väl värd att läsa.