Hvis du kjører en lokal server hjemme på en gammel bærbar PC eller PC – for eksempel en Plex Media-server, en filserver, en webserver eller en hvilken som helst annen server – du kan eksponere den for internett ved å bruke portvideresendingsalternativet i din ruter. Det er imidlertid verken sikkert eller anbefalt å få tilgang til en server på den måten i et produksjonsmiljø.

Vi vil vise deg hvordan du kan eksponere dine lokale servere sikkert med en HTTPS-tilkobling til internett ved å bruke den gratis Cloudflare Tunnel-tjenesten – uten å avsløre din offentlige IP.

Hva er Cloudflare Tunnel?

Cloudflare Tunnel, tidligere kjent som Argo Tunnel, hjelper brukere med å eksponere ressursene sine på en sikker måte, som f.eks. lokale servere, til internett uten en offentlig IP-adresse eller å måtte aktivere portvideresending i ruter. Når du setter opp en Cloudlfare-tunnel i Windows-, macOS- eller Linux-systemet ditt, blir en lettvektstunnel daemon (cloudflared) er installert og sitter mellom ressursen din (lokal server) og Cloudflare Nettverk. Med Cloudflare Tunnel kan du trygt avsløre og koble alle lokale HTTP-webservere, eksterne skrivebord, SSH-servere eller forskjellige andre protokoller til internett.

Nedenfor viser våre trinnvise instruksjoner hvordan du setter opp cloudflared tunneling-demonen på Windows, macOS, Linux og Raspberry Pi for å eksponere lokale servere for internett.

Før du begynner

For å installere og sette opp cloudflared tunneling daemon på systemet ditt, må du oppfylle disse forutsetningene:

  1. Registrer et domenenavn. Du kan enten kjøpe en fra tjenesteleverandørene, for eksempel GoDaddy, eller du kan få et gratis domene fra freenom.com.
  2. Etter å ha registrert domenenavnet, opprett en Cloudflare-konto og legg til domenet ditt – se Cloudflare-oppsett.
  3. Deretter endrer eller oppdaterer domenenavneserverne til Cloudflare-navneserverne – se Cloudflare dokumentasjon. Denne innstillingen er tilgjengelig på portalen der du registrerte eller kjøpte domenet.

Når disse kravene er oppfylt, kan du følge trinnene nedenfor for å sette opp Cloudflare Tunnel på din Windows-, macOS-, Linux- eller Raspberry Pi-datamaskin.

Installer Cloudflare Tunnel på Windows

Å sette opp Cloudflare Tunnel på et Windows-system krever at du installerer en lett demon på serversiden. Gå til skyflared utgivelser side og last ned riktig versjon for din versjon av Windows:

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

Etter å ha lastet ned cloudflared daemon-oppsettet, gå til mappen der oppsettet er plassert og gi nytt navn til filen til cloudflared.exe. Åpne deretter ledeteksten og naviger til stedet der cloudflared-demonen befinner seg ved å bruke cd kommando. For eksempel:

cd C:\Users\Ravi Singh\Nedlastinger\Programmer

Kjør deretter følgende kommandoer for å sjekke versjonen og installere den siste oppdateringen.

skyflammet.exe--versjon
skyflammet.exeOppdater

Hvis du ser en utgang som vist i skjermbildet nedenfor, er du i gang.

Du må se etter cloudflared-oppdateringer av og til, for å holde oppsettet oppdatert og unngå tilkoblingsproblemer.

Installer Cloudflare Tunnel på macOS

På macOS kan du bruke Terminal-appen til å laste ned og installere cloudflared daemon og deretter bruke kommandoer for å lage en sikker tunnel og eksponere lokale servere for internett.

For å laste ned cloudflared, kjør følgende kommando i terminalen:

brygge installere cloudflare/cloudflare/cloudflare

Alternativt kan du kjøre denne kommandoen for å laste ned cloudflared:

brygge installere skyflammet

Installer Cloudflare Tunnel på Linux

Basert på Linux-operativsystemet du bruker, last ned cloudflared pakke. Åpne deretter Terminal-appen, naviger til stedet der pakken er lastet ned, og installer den. Alternativt, avhengig av din Linux-distro, kan du bruke en av følgende kommandoer for å laste ned og installere cloudflared.

DEB installasjon

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

​​RPM-installasjon

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

​​Arch Linux

På Arch Linux, bruk pacman-verktøyet til å installere cloudflared.

pacman -Syu cloudflared

Installer Cloudflared Tunnel på Raspberry Pi

Det er ingen offisiell cloudflared-konstruksjon eller depot for Raspberry Pi Zero, 2, 3 eller 4. Du kan imidlertid installere og bruke de uoffisielle ARMv6-byggene for Raspberry Pi for å sette opp den skyfargede tunnelen i Raspberry Pi OS. Vi har allerede dekket noen få opplæringsprogrammer, for eksempel selvvert for BitWarden passordbehandling på Raspberry Pi Zero, hvor vi har brukt de uoffisielle byggene til å eksponere våre lokale servere for internett med en HTTPS-tilkobling via en Cloudflare-tunnel.

For å installere cloudflared på Raspberry Pi OS Bullseye (eller en annen versjon), kjør følgende kommando i terminalen.

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

For å se etter de siste uoffisielle versjonene for Raspberry Pi, sjekk ut ARMv6 bygger side.

Opprett og sett opp en Cloudflare-tunnel

Når cloudflared daemon er lastet ned og installert på Windows, macOS, Linux eller Raspberry Pi, du kan lage en Cloudflare Tunnel ved å bruke følgende kommando i Terminal-appen eller ledeteksten:

cloudflared pålogging

På Windows, macOS eller Linux vil dette åpne Cloudflare-påloggingssiden i standard nettleser. Hvis nettleservinduet ikke åpnes automatisk, kopier URL-en som vises i kommandoutgangen og lim den inn i nettleseren og logg inn på Cloudflare-kontoen din.

Når du er logget på, velger du domenet du la til Cloudlfare-kontoen og klikker Autorisere.

Når du er autorisert, vil du se meldingen "Du har logget på...". Det vil også generere en cert.pem fil og lagre den i standard cloudflared-katalogplassering:

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

Deretter må vi lage en tunnel ved å bruke følgende kommando:

cloudflared tunnel lage <Ditt Tunnelnavn>

Du kan navngi tunnelen din hva du vil. For eksempel vi vert for et WordPress-nettsted på en gammel bærbar datamaskin og brukte stedets navn som tunnelnavnet; dette gjør det enkelt å huske.

Kommandoen vil opprette en tunnel og også en JSON-fil med en unik alfanumerisk tunnel-UUID. Kopier JSON-filbanen og tunnel-UUID, lim den inn i en notatblokk eller notatliste, og oppbevar den på en sikker måte, da vi trenger disse for å lage en konfigurasjonsfil.

For å lage konfigurasjonsfilen i macOS, Linux eller Raspberry Pi OS, kjør følgende kommando:

sudo nano ~/.cloudflared/config.yml

I redigeringsprogrammet limer du inn følgende kode.

tunnel: <TunnelUUID>
legitimasjonsfil: /root/.cloudflared/<TuinnelUUID>.json
ingress:
-vertsnavn: mitt hjem.smartghar.org
tjeneste: http://192.168.0.1
-service: http_status:404

Sørg for å erstatte TunnelUUID og JSON-filbanen i legitimasjonsfil kodelinje. trykk CTRL + X eller Kommando + X (macOS) og deretter Y nøkkel etterfulgt av Tast inn for å lagre endringene i config.yml fil.

På Windows kan du bruke Filutforsker og navigere til følgende plassering:

C:\Brukere\YourProfileName\.cloudflared

Høyreklikk deretter, velg Ny > Tekstdokument, og lim inn den nevnte kodeblokken.

Klikk Utsikt i filutforskeren og aktiver Filnavnutvidelser alternativ.

Rediger deretter tekstdokumentet som heter config.yml.

Du kan legge til flere vertsnavn og tjenester i konfigurasjonsfilen for å få tilgang til dem via internett via en Cloudlfare-tunnel. Bare kopier de to første linjene under ingress: kodelinje og lim dem inn før -tjeneste: http_status: 404. Bytt ut vertsnavnet og de lokale server-IP-ene for å videresende trafikken fra internett til den aktuelle lokale serveren. Se et eksempel nedenfor.

Et eksempel for flere vertsnavn og tjenester:

tunnel: <TunnelUUID>
legitimasjonsfil: /root/.cloudflared/<TuinnelUUID>.json
ingress:
-vertsnavn: mitt hjem.smartghar.org
tjeneste: http://192.168.0.1
-vertsnavn: plex.smartghar.org
tjeneste: http://192.168.0.136
-service: http_status:404

Lagre endringene og opprett deretter CNAME-postene i Cloudflare DNS ved å bruke følgende kommando.

cloudflared tunnel rute dns <Tunnelnavn><vertsnavn>

For eksempel:

skyflammettunnelrutednssmartgharmitt hjem.smartghar.org

Når CNAME er lagt til, kan du starte tunnelen for å få tilgang til din lokale server via internett ved å bruke vertsnavnet du har tildelt.

skyflared tunnelløp <Tunnelnavn>

Hvis du ser en lignende utgang som i skjermbildet ovenfor, har tunnelen startet vellykket. Du kan nå åpne nettleseren på hvilken som helst enhet som er koblet til internett og besøke vertsnavnet. For dette tilfellet er det myhome.smartghar.org.

Siden vi vil at vertsnavnet skal laste inn ruterkonfigurasjonssiden vår, la vi til IP-en 192.168.0.1, som ellers kun var tilgjengelig via det lokale nettverket.

Du må aktivere SSL/TLS-alternativet til Fleksibel eller Full (avhengig av hva som fungerer for deg) for å aktivere en sikker HTTPS-tilkobling med din lokale forekomst.

Uendelige muligheter

Med Cloudlfare Tunnel kan du få tilgang til alle serveroppsett i hjemmet ditt gratis via internett. Du kan bruke denne tjenesten til å være vert for et nettsted på et lokalt system og teste det før du distribuerer det på en nettserver eller gir tilgang til publikum. Du kan også bruke den til å få sikker tilgang til ditt lokale smarthus som kjører på Home Assistant eller en hvilken som helst annen server via internett.

Vi har satt opp Cloudflare Tunnel-tjenesten på en Raspberry Pi Zero W, som har en mindre fotavtrykk, bruker mindre strøm og fungerer helt fint, slik at vi får tilgang til alle våre lokale servere eksternt.