Om du kör en lokal server i ditt hem på en gammal bärbar dator eller PC—som en Plex Media-server, en filserver, en webbserver eller någon annan server—du kan exponera den för internet genom att använda alternativet för vidarebefordran av portar i din router. Det är dock varken säkert eller rekommenderat att komma åt en server på det sättet i en produktionsmiljö.

Vi kommer att visa dig hur du exponerar dina lokala servrar säkert med en HTTPS-anslutning till internet med den kostnadsfria Cloudflare Tunnel-tjänsten – utan att avslöja din offentliga IP.

Vad är Cloudflare Tunnel?

Cloudflare Tunnel, tidigare känd som Argo Tunnel, hjälper användare att säkert exponera sina resurser, som t.ex. lokala servrar, till internet utan en offentlig IP-adress eller att behöva aktivera portvidarebefordran i router. När du ställer in en Cloudlfare Tunnel i ditt Windows-, macOS- eller Linux-system, en lättviktstunnel daemon (cloudflared) är installerad och sitter mellan din resurs (lokal server) och Cloudflare nätverk. Med Cloudflare Tunnel kan du säkert exponera och ansluta alla lokala HTTP-webbservrar, fjärrskrivbord, SSH-servrar eller olika andra protokoll till internet.

Nedan visar våra stegvisa instruktioner hur du ställer in cloudflared tunneling-demonen på Windows, macOS, Linux och Raspberry Pi för att exponera lokala servrar för internet.

Innan du börjar

För att installera och ställa in cloudflared tunneling-demonen på ditt system måste du uppfylla dessa förutsättningar:

  1. Registrera ett domännamn. Du kan antingen köpa en från tjänsteleverantörerna, såsom GoDaddy, eller så kan du få en gratis domän från freenom.com.
  2. När du har registrerat domännamnet, skapa ett Cloudflare-konto och lägg till din domän—se Cloudflare-inställning.
  3. Ändra eller uppdatera sedan domännamnsservrarna till Cloudflares namnservrar—se Cloudflare dokumentation. Den här inställningen är tillgänglig på portalen där du registrerade eller köpte domänen.

När dessa krav är uppfyllda kan du följa stegen nedan för att ställa in Cloudflare Tunnel på din Windows-, macOS-, Linux- eller Raspberry Pi-dator.

Installera Cloudflare Tunnel på Windows

Att ställa in Cloudflare Tunnel på ett Windows-system kräver att du installerar en lätt demon på serversidan. Gå molnutsvängda utsläpp sida och ladda ner rätt version för din version av Windows:

  • 32-bitars Windows: cloudflared-windows-386.exe
  • 64-bitars Windows: cloudflared-windows-amd64.exe

Efter att ha laddat ner cloudflared daemon-installationen, gå till mappen där installationen finns och byt namn på filen till cloudflared.exe. Öppna sedan kommandotolken och navigera till platsen där cloudflared-demonen finns med hjälp av CD kommando. Till exempel:

CD C:\Users\Ravi Singh\Downloads\Programs

Kör sedan följande kommandon för att kontrollera versionen och installera den senaste uppdateringen.

molnblossade.exe--version
molnblossade.exeuppdatering

Om du ser en utgång som visas i skärmdumpen nedan är du bra att gå.

Du måste leta efter uppdateringar i molnet då och då, för att hålla inställningarna uppdaterade och undvika anslutningsproblem.

Installera Cloudflare Tunnel på macOS

På macOS kan du använda Terminal-appen för att ladda ner och installera cloudflared-demonen och sedan använda kommandon för att skapa en säker tunnel och exponera lokala servrar för internet.

För att ladda ner cloudflared, kör följande kommando i terminalen:

brygga Installera cloudflare/cloudflare/cloudflare

Alternativt kan du köra det här kommandot för att ladda ner cloudflared:

brygga Installera molnblossade

Installera Cloudflare Tunnel på Linux

Baserat på det Linux-operativsystem du använder, ladda ner cloudflared paket. Öppna sedan Terminal-appen, navigera till platsen där paketet laddas ner och installera det. Alternativt, beroende på din Linux-distro, kan du använda ett av följande kommandon för att ladda ner och installera cloudflared.

DEB Installation

wget -q https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64.deb && dpkg -i cloudflared-linux-amd64.deb

​​RPM-installation

wget -q https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-x86_64.rpm

​​Arch Linux

På Arch Linux, använd pacman-verktyget för att installera cloudflared.

pacman -Syu molnsvamp

Installera Cloudflared Tunnel på Raspberry Pi

Det finns ingen officiell cloudflared-konstruktion eller lagringsplats för Raspberry Pi Zero, 2, 3 eller 4. Du kan dock installera och använda de inofficiella ARMv6-byggena för Raspberry Pi för att ställa in den molnfarda tunneln i Raspberry Pi OS. Vi har redan täckt några tutorials, såsom själv-värd BitWarden lösenordshanterare på Raspberry Pi Zero, där vi har använt de inofficiella byggen för att exponera våra lokala servrar för internet med en HTTPS-anslutning via en Cloudflare-tunnel.

För att installera cloudflared på Raspberry Pi OS Bullseye (eller en annan version), kör följande kommando i terminalen.

sudo wget https://hobin.ca/cloudflared/releases/2022.8.2/cloudflared_2022.8.2_arm.tar.gz
sudotjära-xvzfcloudflared_2022.8.2_arm.tjära.gz
sudo cp ./cloudflared /usr/lokal/bin
sudo chmod +x /usr/lokal/bin/cloudflared
cloudflared -v

För att leta efter de senaste inofficiella versionerna för Raspberry Pi, kolla in ARMv6 bygger sida.

Skapa och konfigurera en Cloudflare-tunnel

När cloudflared daemon har laddats ner och installerats på din Windows, macOS, Linux eller Raspberry Pi, du kan skapa en Cloudflare Tunnel genom att använda följande kommando i Terminal-appen eller kommandotolken:

cloudflared inloggning

På Windows, macOS eller Linux öppnar detta inloggningssidan för Cloudflare i din standardwebbläsare. Om webbläsarfönstret inte öppnas automatiskt, kopiera webbadressen som visas i kommandoutgången och klistra sedan in den i webbläsaren och logga in på ditt Cloudflare-konto.

När du har loggat in väljer du den domän du lagt till i Cloudlfare-kontot och klickar Godkänna.

När du har auktoriserats kommer du att se meddelandet "Du har loggat in...". Det kommer också att generera en cert.pem fil och lagra den i standardplatsen för cloudflared-katalogen:

  • Windows: %USERPROFILE%\.cloudflared
  • Mac OS: ~/.cloudflared
  • Linux: /etc/cloudflared,
  • Raspberry Pi: /usr/local/etc/cloudflared

Därefter måste vi skapa en tunnel genom att använda följande kommando:

cloudflared tunnel skapa <Ditt Tunnelnamn>

Du kan namnge din tunnel vad du vill. Till exempel vi värd för en WordPress-webbplats på en gammal bärbar dator och använde platsnamnet som tunnelnamn; detta gör det lätt att komma ihåg.

Kommandot kommer att skapa en tunnel och även en JSON-fil med ett unikt alfanumeriskt tunnel-UUID. Kopiera JSON-filsökvägen och tunnel-UUID, klistra in den i ett anteckningsblock eller anteckningslista och förvara det säkert eftersom vi behöver dessa för att skapa en konfigurationsfil.

För att skapa konfigurationsfilen i macOS, Linux eller Raspberry Pi OS, kör följande kommando,

sudo nano ~/.cloudflared/config.yml

Klistra in följande kod i editorn.

tunnel: <TunnelUUID>
credentials-file: /root/.cloudflared/<TuinnelUUID>.json
inträde:
-värdnamn: mitt hem.smartghar.org
tjänst: http://192.168.0.1
-service: http_status:404

Se till att ersätta TunnelUUID och JSON-filsökvägen i referens-fil kodrad. Tryck CTRL + X eller Kommando + X (macOS) och sedan Y nyckel följt av Stiga på för att spara ändringarna i config.yml fil.

I Windows kan du använda File Explorer och navigera till följande plats:

C:\Användare\YourProfileName\.cloudflared

Högerklicka sedan, välj Ny > Textdokument, och klistra in ovannämnda kodblock.

Klick Se i Filutforskaren och aktivera Filnamnstillägg alternativ.

Redigera sedan textdokumentet med namnet config.yml.

Du kan lägga till flera värdnamn och tjänster i konfigurationsfilen för att komma åt dem via internet via en Cloudlfare-tunnel. Kopiera helt enkelt de två första raderna under inträde: kodrad och klistra in dem före -tjänst: http_status: 404. Byt ut värdnamnet och de lokala serverns IP-adresser för att vidarebefordra trafiken från internet till den specifika lokala servern. Se ett exempel nedan.

Ett exempel för flera värdnamn och tjänster:

tunnel: <TunnelUUID>
credentials-file: /root/.cloudflared/<TuinnelUUID>.json
inträde:
-värdnamn: mitt hem.smartghar.org
tjänst: http://192.168.0.1
-värdnamn: plex.smartghar.org
tjänst: http://192.168.0.136
-service: http_status:404

Spara ändringarna och skapa sedan CNAME-posterna i Cloudflare DNS med följande kommando.

molnblossad tunnelväg dns <Tunnelnamn><värdnamn>

Till exempel:

molnblossadetunnelruttdnssmartgharmitt hem.smartghar.org

När CNAME har lagts till kan du starta tunneln för att komma åt din lokala server via internet med det värdnamn du tilldelade.

molnutsvängd tunnelkörning <Tunnelnamn>

Om du ser en liknande utgång som i skärmdumpen ovan har tunneln startat framgångsrikt. Du kan nu öppna webbläsaren på vilken enhet som helst som är ansluten till internet och besöka värdnamnet. För det här fallet är det myhome.smartghar.org.

Eftersom vi vill att värdnamnet ska ladda vår routerkonfigurationssida lade vi till IP: n 192.168.0.1, som annars bara var tillgänglig via det lokala nätverket.

Du måste aktivera SSL/TLS-alternativet till Flexibel eller Full (beroende på vilket som fungerar för dig) för att aktivera en säker HTTPS-anslutning med din lokala instans.

Oändliga möjligheter

Med Cloudlfare Tunnel kan du komma åt alla serverinställningar i ditt hem via internet gratis. Du kan använda den här tjänsten för att vara värd för en webbplats på ett lokalt system och testa den innan du distribuerar den på en webbserver eller tillåter åtkomst till allmänheten. Du kan också använda den för att säkert komma åt ditt lokala smarta hem som körs på Home Assistant eller någon annan server via internet.

Vi har satt upp tjänsten Cloudflare Tunnel på en Raspberry Pi Zero W, som har en mindre footprint, förbrukar mindre ström och fungerar perfekt, vilket gör att vi kan komma åt alla våra lokala servrar avlägset.