1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

RemotePI

Discussion in 'Hemmabyggen' started by SM0KBW, Jan 28, 2018.

  1. SM0KBW

    SM0KBW Well-Known Member

    Hej,

    Tänkte starta en tråd där vi beskriver och utvecklar ett remote system baserat på Raspberry Pi, RPi.

    Bosse, SM6FPG och jag började samtala om detta i en annan tråd.
    Vi arbetar med Raspberry Pi 3B kort och har hittils fått upp en fungerande Softether Server som kan nås utifrån,
     
  2. SM0KBW

    SM0KBW Well-Known Member

    Det kommer komma en beskrivning på hur vi konfigurerat Softether servern. Om man vill kan man själv titta på nätet,
    det finns en uppsjö av beskrivningar om hur man bryggar ethernet enheter på RPi, vi bryggar ETH0 till en virtuell TAP enhet.
     
  3. SM0GLD

    SM0GLD Vänsterhänt

    Vi väntar:)
     
  4. SM0KBW

    SM0KBW Well-Known Member

    Så då är det dags att börja beskriva hur man gör för att få upp en Softether VPN server på Raspberry Pi.

    Liten beskrivning om förutsättningarna.

    Projektet har sina "rötter" i en annan tråd som SM6FPG startade, jag hakade motvilligt på för jag har misslyckats tidigare med att få upp en sådan på RPi. Men i och med att jag skriver här så har det lyckats :)

    Problemet är att få till bryggningen mellan VPN och det LAN som RPi är anslutet till, utan att gå för djupt så har det med hur nätverksenheter hanteras av kärnan i Linux. Det är mycket enklare att få upp en fungerande Softether server på en Windows maskin.

    Jag använder Rapberry Pi 3B men det bör fungera på alla versioner av RPi. Operativsystem är Raspbian Stretch som är den senaste versionen - har testat både med full versionen som med "lite" versionen, vilket antagligen kommer vara den som kommer användas i stugan. Det bör gå att använda andra system också, bara man vet hur man hanterar skillnaderna mellan dem.

    Det mesta av arbetet sker i terminal - jag föredrar att använda SSH för att logga in på "burken", men man kan ju lika gärna starta en terminal från skrivbordet om man kör full versionen av Raspbian.


    Naturligtvis är det bara roligt om någon kommer med förslag på förbättringar.
     
    SM5KYH likes this.
  5. SM0KBW

    SM0KBW Well-Known Member

    Installera systemet

    Först av allt ska du installera Raspbian på din burk och det är bra beskrivet på deras hemsida:
    https://www.raspberrypi.org/downloads/raspbian/

    Det är antingen RASPBIAN STRETCH WITH DESKTOP eller RASPBIAN STRETCH LITE som är de som jag testat att använda. Stretch är aktuell just nu men det kan ändras och det är nog bäst att använda så aktuell version som möjligt.

    Efter installationen bör du köra raspi-config och ändra lösenordet samt att expand disc under advanced, jag slår aven på SSH under Interfacing options.

    När systemet väl är på plats ska mjukvaran hämtas och det är utmärkt beskrivet på denna sida:
    http://curlybrac.es/2016/11/22/set-up-vpn-server-on-raspberry-pi/

    Följ instruktionerna på den sidan och du ska ha en fungerande Softether server på din RPi.
    De slarvar dock med att använda "sudo" före kommandon, antagligen för att de kör inloggade som root vilket inte är en bra vana, får du inte ett kommando att fungera eller kommentarer om behörighet skriv bara "sudo" före som sagt var.
     
  6. SM0KBW

    SM0KBW Well-Known Member

    Nu kommer vi till bryggningen

    Det första du ska göra är att skapa en så kallad TAP - det enklaste sättet är att ladda hem Softethers VPN server manager
    http://www.softether-download.com/en.aspx?product=softether

    Välj server magaern och ditt operativsystem, ladda hem och installera.

    Nu gäller det att du får in rätt uppgifter i profilen så du får kontakt med servern på RPi, men när du väl har lyckats så ska du välja "local bridge settings" nere i det vänstra hörnet. Då ska du se denna bild

    tap.jpg

    Den ska fyllas och se ut på detta sätt när du är klar

    tap2.jpg

    Du ska alltså skapa en ny "TAP device" som heter soft, när den finns på plats så återstår själva bryggningen i Linux.
     
  7. SM0KBW

    SM0KBW Well-Known Member

    Nu blir det lite terminal arbete :)

    Du ska skapa en fil i /usr/local/vpnserver som heter bridge, enklast gör du det med kommandot "sudo nano /usr/local/vpnserver/bridge".

    Den ska fyllas med denna text:


    #!/bin/bash
    /usr/local/vpnserver/vpnserver start
    echo "waiting for 30 seconds"
    sleep 30
    echo "Switching from eth0 to br0"
    # set up bridge
    ip link add br0 type bridge
    ip link set eth0 master br0
    # flush eth0 configuration
    ip addr flush dev eth0
    ip link set dev br0 up
    while [ -z "ifconfig | grep tap_soft" ]
    do
    echo "Wait for vpn adapter"
    sleep 2
    done
    echo "Found VPN adapter, attaching to bridge."
    ip link set dev tap_soft master br0
    # End

    Det är vid sådana här arbeten som det är bekvämt att ha SSH påslaget, det är lätt att kopiera in text i den client man använder eller om man föredrar så kan man använda t.ex winSCP och kopiera filer mellan din PC och RPi.

    I värsta fall så får du skriva in det för hand.
     
  8. SM0KBW

    SM0KBW Well-Known Member

    Här kommer sista delen det måste läggas till lite i /etc/dhcpcd.conf, du öppnar filen med kommandot "sudo nano /etc/dhcpcd.config". Texten som ska läggas till är:


    #Softether add on
    interface eth0
    static ip_address=192.168.0.6/24
    static routers=192.168.0.254
    static domain_name_servers=192.168.0.254
    interface br0
    static ip_address=192.168.0.6/24
    static routers=192.168.0.254
    static domain_name_servers=192.168.0.254

    Här måste du antagligen ändra lite då jag har min Pi server på den statiska IP-adressen 192.168.0.6 - vill du använda en annan måste den ändras.

    Vidare när du är uppkopplad via VPN så kommer det finnas två routrar i ditt LAN för att inte få konflikt mellan dem så lägger jag min hemrouter på 192.168.0.1 och min fjärrrouter på 192.168.0.254, om du använder något annat sätt må måste det naturligtvis också ändras.

    När "/etc/dhcpcd.config" är sparad så återstår bara att göra port forward i din router för de portar du använder i softVPN.

    När det är klart ska du ha en fungerande Softether server på din RPi.
     
    Last edited: Feb 17, 2018
  9. SM0KBW

    SM0KBW Well-Known Member

    Hoppas du inte väntat för länge, Micke!

    Vi stannar här, men kan upplysa om att nu pågår arbete med ett radio interface till RPi, väntar på PCB från seedstudio.
    Sedan har Bosse - SM6FPG väckt iden om en hembyggd front så man slipper mjukvaruversioner lokalt.
     
    Last edited: Feb 17, 2018
  10. SM0GLD

    SM0GLD Vänsterhänt

    Nej då, inte alls men huu va komplicerat det verkar.
    Intresserad är jag givetvis och i behov:)

    Nu väntar vi på en setup.msi :D:D:D
     
  11. SM0KBW

    SM0KBW Well-Known Member

    Men är det inte bra att ha något att göra under dessa "trolltider", tänker på vad som diskuteras i andra trådar :)

    Visst det är mer komplicerat - detta är utanför vad du förväntas göra med RPi, man kan kanske tänka sig att spara en image
    av ett installerat VPN försett system som det bara är att "bränna" ut på SD-kort. Det är väl i så fall det närmaste man kan
    komma en setup.msi

    Googlade lite och det finns rätt enkla verktyg för att göra en sådan image :)
     
  12. SM0VPJ

    SM0VPJ Well-Known Member

    Antar jag helt fel att sista tecknet är en nolla och inte bokstaven O i "etho" och "br0"?
    Tack för en intressant tråd.

    73/ Janne
    If you can't stand the heat, get out of my beam direction!
     
  13. SM0GLD

    SM0GLD Vänsterhänt

    Jo det finns det som är mera konstruktivt och intressant att göra än att "trolla"
    Man får väl börja med att beställa hem en Pi så får vi se hur det går.
     
  14. SM0KBW

    SM0KBW Well-Known Member

    Du kan gå till kvartersbutiken, nåja Kjell&Co då, och köpa en :)

    Så här lokalt kan jag göra en SD-korts kopia åt dig, jag använder 16GB kort. Det är rätt jobbigt att göra en komprimerad "image" fil
    men en enkel kopia kan göras i många program - men då får man en fil som är 16GB och det blir inte så lätt att lägga upp t.ex här på
    ham.se :)
     
  15. SM0GLD

    SM0GLD Vänsterhänt

    Tack Bengt. Med din support kan kanske även jag få till det till synes omöjliga:D
     
  16. SM6FPG

    SM6FPG Fritidskonsulent

    Last edited: Feb 17, 2018
    SM7NZB likes this.
  17. SM0KBW

    SM0KBW Well-Known Member

    Visst, så är det det är index siffror så du kan ha eth0, eth1 ...

    Fler har klagat på det konstiga typsnittet på ham.se!
     
  18. SM0KBW

    SM0KBW Well-Known Member

    Glömde, det är ett ställe till som det måste ändras på det är i /etc/rc.local

    där ska det läggas till en rad innan exit 0

    lägg till en rad så det ser ut så här på slutet:

    sh /usr/local/vpnserver/bridge
    exit 0
     
  19. SM0KBW

    SM0KBW Well-Known Member

    Dessutom bör man nog ställa om bridge till att vara körbar.

    sudo chmod 755 /usr/local/vpnserver/bridge

    Hoppas jag inte missat något mera!
     
  20. SM0KBW

    SM0KBW Well-Known Member

    En uppdatering:

    Jag väntar på kretskort från Seedstudio men lyckades beställa precis före det kinesiska nyåret, som
    känt är så står Kina helt still under den tiden, men nu är de under produktion.

    Jag har fortsätt att portera min kod som jag hade skrivit för en Arduino (Atmega328P, C kod) .

    Vissa saker fungerar naturligtvis bättre på en RPi än en Arduino, problemen har mest varit kring
    det faktum att Raspbian inte är ett realtidssystem. Till exempel så genererar jag en medhörningston
    genom att slå av och och på en GPIO pinne och det blir jitter på den signalen, hjälper inte att låta det
    skötas WiringPi, samma jitter så det är helt enkelt inte helt förutsägningsbart i ett icke realtidssystem.

    Säkerhetssystemet är i vägen ibland, vill kunna göra reset innifrån mitt program att göra det är inte
    trivialt i Raspbian men jag insåg efter ett tag att inget hindrar dig att ansluta reset till en GPIO port och
    man har reset från user space :)

    Jag väntar som sagt på mina PCB under tiden har jag testat ut olika delfunktioner.

    Just nu så är det fjärrstyrning av strömbrytare, där har jag återigen problem med jitter på signalen
    till den lilla 433MHz sändaren och lyckas inte styra de gamla Cohtech brytarna som jag hade liggandes.

    Som experiment har jag köpt ett paket med nya brytare av märket Luxorpart från Kjell&Co, de ska kunna
    tala med ett antal system bl.a Telldus och det verkar finnas dokumentation om de protokollen så det bör
    gå att få till något för RPi.

    Vill bara kunna slå av och på radiostationen är inte så intresserad av "home automation" i övrigt.
     
    SM7NZB and SM0GLD like this.

Share This Page