pfSense och UniFi AP - CheckIfHome....

Övrigt
Post Reply
Bamsefar
Z-Wave Kung
Posts: 1061
Joined: 25 Nov 2013, 15:06
Location: Stockholm

05 Oct 2017, 17:14

Hallå,

Så jag har bytt till ny brandvägg. Har länge tillhört ASUS sidan med RMerlin, men kände för att testa pfSense - och med den så försvinner AccessPunkten som är inbyggd i ASUS. Således komplexiteten har kraftigt stigit, och möjligheterna är extremt mycket större.... Och därmed felkällorna....

Code: Select all

#!/bin/sh
#
# MacAdresser...
Mac1=54:c6:e3:3e:81:fe
Mac2=21:5b:3a:6f:eb:f4
#
# Mac1 = User1
# Mac2 = User2
#
########################### Don't touch #################################

# Kolla om mappen finns i /tmp
if [ ! -d /tmp/CheckUser ];
then
  mkdir /tmp/CheckUser
fi
#

if [ `pgrep CheckIfHome.sh | wc -l` -gt 1 ];
then
  exit
fi

#
unifi_login() {
    # authenticate against unifi controller

    curl 'https://10.1.1.1:8443/api/login' --data-binary '{"username":"unifi","password":"unifi","strict":true}' --silent --compressed --insecure -c /tmp/CIH_cookies.txt

}

# stat/sta
unifi_list_sta() {

    curl --insecure --silent -b /tmp/CIH_cookies.txt -c /tmp/CIH_cookies.txt 'https://10.1.1.1:8443/api/s/default/stat/sta'

}

unifi_login > /dev/null 2>&1

#
# Oandlig loop
while [ 1 ]
do
#

#put unifi_list_sta output in variabele
  var=$(unifi_list_sta)

# User 1
  if echo "$var" | grep -q "$Mac1" ; then
    if [ ! -f /tmp/CheckUser/User1 ] ;
    then
      touch /tmp/CheckUser/User1
      curl "10.1.1.5/JSON?request=controldevicebylabel&ref=465&label=Hemma" >/dev/null 2>&1
    fi
  else
    if [ -f /tmp/CheckUser/User1 ] ;
    then
      rm -f /tmp/CheckUser/User1
      curl "10.1.1.5/JSON?request=controldevicebylabel&ref=465&label=Borta" >/dev/null 2>&1
    fi
  fi
#
# User 2
  if echo "$var" | grep -q "$Mac2" ; then
    User2="Hemma"
    if [ ! -f /tmp/CheckUser/User2 ] ;
    then
      touch /tmp/CheckUser/User2
      curl "10.1.1.5/JSON?request=controldevicebylabel&ref=466&label=Hemma" >/dev/null 2>&1
    fi
  else
    if [ -f /tmp/CheckUser/User2 ] ;
    then
      rm -f /tmp/CheckUser/User2
      curl "10.1.1.5/JSON?request=controldevicebylabel&ref=466&label=Borta" >/dev/null 2>&1
    fi
  fi
#
# Avvakta
  sleep 15
#
done
Scriptet placeras förslagsvis på /usr/local/etc/rc.d/CheckIfHome.sh eller något liknande.

Frågor på detta?
Använder HomeSeer 3 på Linux - attans så här bra har det aldrig varit!

Lua för nybörjare
Robert
Medlem
Posts: 329
Joined: 17 Oct 2013, 22:40

15 Oct 2017, 21:59

Ser bra ut! Får se om jag går tillbaka till pdSense. Har blivit lat på äldre dar :)
Robert
Medlem
Posts: 329
Joined: 17 Oct 2013, 22:40

06 Nov 2017, 23:40

Vafan Bamsefar.. Nu har jag bestämt för att byta också :)

Har 2 frågor:

1.Vad kör du för hårdvara för din Pfsense?
2. Funkar scriptet över fler accespunkter? Tänkte köpa 2 för att täcka hela tomten.

Jag körde en repeater tidigare med min Asus-router. Dock fungerade det ingen vidare då scriptet inte kunde läsa av repeatern. Vet inte om du minns men du hjälpte mig testa.

Skickat från min ZTE A2017G via Tapatalk
Bamsefar
Z-Wave Kung
Posts: 1061
Joined: 25 Nov 2013, 15:06
Location: Stockholm

09 Jan 2018, 21:12

Oj - jag ser att jag missat lite - jag ber faktiskt om ursäkt (anledningen är min fars kamp mot cancer - jag har inte lika mycket "grottotid" för närvarande....).

Min pfsense maskin rockar på:

Intel(R) Core(TM) i3-6300T med 32GB RAM, en 512 GB M2 SSD och sedan har jag även en 4-portars Intel nätverksadapter utöver de två portar som sitter på moderkortet. Allt sitter i ett Streacom chassi som kyler CPUn passivt. Kombinerat då med en UniFi wifi accesspunkt som då tar en av portarna i anspråk, och såklart WAN in - kvar har jag alltså 4 portar att slösa iväg med.... Min maskin är kraftigt överdimensionerad - med det är lite med flit då tanken är att köra Deep Inspection på paketen som kommer in för att skaffa den där lilla extra säkerheten - dit har jag dock inte kommit. Jag har dock mitt system uppe med allt det senaste osv.

Mitt script, och så även det andra som finns på detta forum, fungerar via UniFi controller programvaran, så det skall klara av flera accesspunkter såvitt jag vet - men jag har bara en själv, så inte verifierat på det sättet - men "mekaniken" jag använder bryr sig inte i vilke accesspunkt eller SID du är uppkopplad på.

Ytterligare frågor?
Använder HomeSeer 3 på Linux - attans så här bra har det aldrig varit!

Lua för nybörjare
Bamsefar
Z-Wave Kung
Posts: 1061
Joined: 25 Nov 2013, 15:06
Location: Stockholm

09 Jan 2018, 21:32

Uppdaterat första inlägget med en mera stabil "kolla om scriptet körs" variant, speciellt som /tmp inte töms på pfsens installationer....
Använder HomeSeer 3 på Linux - attans så här bra har det aldrig varit!

Lua för nybörjare
Post Reply