Hvis du kører en lokal server i dit hjem på en gammel bærbar eller pc – såsom en Plex Media-server, en filserver, en webserver eller enhver anden server – du kan udsætte den for internettet ved at bruge portvideresendelsesmuligheden i din router. Det er dog hverken sikkert eller anbefalet at få adgang til en server på den måde i et produktionsmiljø.
Vi vil vise dig, hvordan du kan eksponere dine lokale servere sikkert med en HTTPS-forbindelse til internettet ved hjælp af den gratis Cloudflare Tunnel-tjeneste - uden at afsløre din offentlige IP.
Hvad er Cloudflare Tunnel?
Cloudflare Tunnel, tidligere kendt som Argo Tunnel, hjælper brugere med sikkert at eksponere deres ressourcer, som f.eks. lokale servere, til internettet uden en offentlig IP-adresse eller at skulle aktivere portvideresendelse i router. Når du konfigurerer en Cloudlfare-tunnel i dit Windows-, macOS- eller Linux-system, vil en letvægtstunneling daemon (cloudflared) er installeret og sidder mellem din ressource (lokal server) og Cloudflare netværk. Med Cloudflare Tunnel kan du sikkert afsløre og forbinde alle lokale HTTP-webservere, fjernskriveborde, SSH-servere eller forskellige andre protokoller til internettet.
Nedenfor viser vores trinvise instruktioner, hvordan du opsætter cloudflared tunneling-dæmonen på Windows, macOS, Linux og Raspberry Pi til at udsætte lokale servere for internettet.
Før du begynder
For at installere og opsætte cloudflared tunneling-dæmonen på dit system, skal du opfylde disse forudsætninger:
- Registrer et domænenavn. Du kan enten købe et fra tjenesteudbyderne, såsom GoDaddy, eller du kan få et gratis domæne fra freenom.com.
- Når du har registreret domænenavnet, skal du oprette en Cloudflare-konto og tilføje dit domæne – se Cloudflare opsætning.
- Skift eller opdater derefter domænenavneserverne til Cloudflare-navneserverne - se Cloudflare dokumentation. Denne indstilling er tilgængelig på den portal, hvorfra du registrerede eller købte domænet.
Når disse krav er opfyldt, kan du følge nedenstående trin for at konfigurere Cloudflare Tunnel på din Windows-, macOS-, Linux- eller Raspberry Pi-computer.
Installer Cloudflare Tunnel på Windows
Opsætning af Cloudflare Tunnel på et Windows-system kræver, at du installerer en let dæmon på serversiden. Gå til cloudflared udgivelser side og download den korrekte version til din version af Windows:
- 32-bit Windows: cloudflared-windows-386.exe
- 64-bit Windows: cloudflared-windows-amd64.exe
Når du har downloadet cloudflared daemon-opsætningen, skal du gå til mappen, hvor opsætningen er placeret, og omdøbe filen til cloudflared.exe. Åbn derefter kommandoprompten og naviger til det sted, hvor cloudflared-dæmonen er placeret ved hjælp af cd kommando. For eksempel:
cd C:\Brugere\Ravi Singh\Downloads\Programmer
Kør derefter følgende kommandoer for at kontrollere versionen og installere den seneste opdatering.
sky blusset.exe--version
sky blusset.exeopdatering
Hvis du ser et output som vist på skærmbilledet nedenfor, er du god til at gå.
Du skal tjekke for cloudflared-opdateringer en gang imellem for at holde opsætningen opdateret og undgå forbindelsesproblemer.
Installer Cloudflare Tunnel på macOS
På macOS kan du bruge Terminal-appen til at downloade og installere cloudflared-dæmonen og derefter bruge kommandoer til at oprette en sikker tunnel og udsætte lokale servere for internettet.
For at downloade cloudflared skal du køre følgende kommando i terminalen:
brygge installere cloudflare/cloudflare/cloudflare
Alternativt kan du køre denne kommando for at downloade cloudflared:
brygge installere sky blusset
Installer Cloudflare Tunnel på Linux
Baseret på det Linux-operativsystem, du bruger, skal du downloade cloudflared pakke. Åbn derefter Terminal-appen, naviger til det sted, hvor pakken er downloadet, og installer den. Alternativt, afhængigt af din Linux-distro, kan du bruge en af følgende kommandoer til at downloade og installere 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 skal du bruge pacman-værktøjet til at installere cloudflared.
pacman -Syu cloudflared
Installer Cloudflared Tunnel på Raspberry Pi
Der er ingen officiel cloudflared build eller repository til Raspberry Pi Zero, 2, 3 eller 4. Du kan dog installere og bruge ARMv6 uofficielle builds til Raspberry Pi til at konfigurere den skyfarede tunnel i Raspberry Pi OS. Vi har allerede dækket et par tutorials, såsom selv-hostet BitWarden password manager på Raspberry Pi Zero, hvor vi har brugt de uofficielle builds til at eksponere vores lokale servere til internettet med en HTTPS-forbindelse via en Cloudflare Tunnel.
For at installere cloudflared på Raspberry Pi OS Bullseye (eller en anden version), skal du køre 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/lokal/bin
sudo chmod +x /usr/lokal/bin/cloudflared
cloudflared -v
For at se efter de seneste uofficielle versioner til Raspberry Pi, tjek ARMv6 bygger side.
Opret og opsæt en Cloudflare-tunnel
Når cloudflared-dæmonen er downloadet og installeret på din Windows, macOS, Linux eller Raspberry Pi, du kan oprette en Cloudflare Tunnel ved at bruge følgende kommando i Terminal-appen eller kommandoprompten:
cloudflared login
På Windows, macOS eller Linux åbner dette Cloudflare-loginsiden i din standardwebbrowser. Hvis browservinduet ikke åbner automatisk, skal du kopiere URL'en, der vises i kommandooutputtet, og derefter indsætte det i webbrowseren og logge ind på din Cloudflare-konto.
Når du er logget ind, skal du vælge det domæne, du føjede til Cloudlfare-kontoen, og klikke Bemyndige.
Når du er godkendt, vil du se meddelelsen "Du har logget ind...". Det vil også generere en cert.pem fil og gem den i standardplaceringen af cloudflared bibliotek:
- Windows: %BRUGERPROFIL%\.cloudflared
- macOS: ~/.cloudflared
- Linux: /etc/cloudflared,
- Raspberry Pi: /usr/local/etc/cloudflared
Dernæst skal vi oprette en tunnel ved at bruge følgende kommando:
cloudflared tunnel skabe <DitTunnelnavn>
Du kan navngive din tunnel, hvad du vil. For eksempel vi hostet et WordPress-websted på en gammel bærbar computer og brugte stedets navn som tunnelnavnet; dette gør det nemt at huske.
Kommandoen vil oprette en tunnel og også en JSON-fil med en unik alfanumerisk tunnel-UUID. Kopier JSON-filstien og tunnel-UUID, indsæt den i en notesblok eller noteliste, og hold den sikker, da vi skal bruge disse for at oprette en konfigurationsfil.
For at oprette konfigurationsfilen i macOS, Linux eller Raspberry Pi OS skal du køre følgende kommando,
sudo nano ~/.cloudflared/config.yml
Indsæt følgende kode i editoren.
tunnel: <TunnelUUID>
credentials-file: /root/.cloudflared/<TuinnelUUID>.json
indtrængen:
-værtsnavn: mit hjem.smartghar.org
service: http://192.168.0.1
-service: http_status:404
Sørg for at erstatte TunnelUUID og JSON-filstien i legitimationsoplysninger-fil kodelinje. Trykke CTRL + X eller Kommando + X (macOS) og derefter Y nøgle efterfulgt af Gå ind for at gemme ændringerne i config.yml fil.
På Windows kan du bruge File Explorer og navigere til følgende placering:
C:\Brugere\DitProfilnavn\.cloudflared
Højreklik derefter, vælg Ny > Tekstdokument, og indsæt den førnævnte kodeblok.
Klik Udsigt i File Explorer og aktiver Filnavneudvidelser mulighed.
Rediger derefter tekstdokumentet med navnet config.yml.
Du kan tilføje flere værtsnavne og tjenester i konfigurationsfilen for at få adgang til dem via internettet via en Cloudlfare-tunnel. Du skal blot kopiere de to første linjer under indtrængen: kodelinje og indsæt dem før -tjeneste: http_status: 404. Udskift værtsnavnet og de lokale server-IP'er for at videresende trafikken fra internettet til den bestemte lokale server. Se et eksempel nedenfor.
Et eksempel på flere værtsnavne og tjenester:
tunnel: <TunnelUUID>
credentials-file: /root/.cloudflared/<TuinnelUUID>.json
indtrængen:
-værtsnavn: mit hjem.smartghar.org
service: http://192.168.0.1
-værtsnavn: plex.smartghar.org
service: http://192.168.0.136
-service: http_status:404
Gem ændringerne, og opret derefter CNAME-posterne i Cloudflare DNS ved hjælp af følgende kommando.
cloudflared tunnel rute dns <Tunnelnavn><værtsnavn>
For eksempel:
sky blussettunnelrutednssmartgharmit hjem.smartghar.org
Når CNAME er tilføjet, kan du starte tunnelen for at få adgang til din lokale server via internettet ved hjælp af det værtsnavn, du har tildelt.
skyudbrudt tunnelløb <Tunnelnavn>
Hvis du ser et lignende output som i skærmbilledet ovenfor, er tunnelen startet med succes. Du kan nu åbne webbrowseren på enhver enhed, der er tilsluttet internettet, og besøge værtsnavnet. For dette tilfælde er det myhome.smartghar.org.
Da vi vil have værtsnavnet til at indlæse vores routerkonfigurationsside, tilføjede vi IP 192.168.0.1, som ellers kun var tilgængelig via det lokale netværk.
Du skal aktivere SSL/TLS-indstillingen til Fleksibel eller Fuld (alt efter hvad der virker for dig) for at aktivere en sikker HTTPS-forbindelse med din lokale instans.
Uendelige muligheder
Med Cloudlfare Tunnel kan du gratis få adgang til enhver serveropsætning i dit hjem via internettet. Du kan bruge denne service til at være vært for et websted på et lokalt system og teste det, før du implementerer det på en webserver eller giver adgang til offentligheden. Du kan også bruge den til at få sikker adgang til dit lokale smarte hjem, der kører på Home Assistant eller enhver anden server via internettet.
Vi har sat Cloudflare Tunnel-tjenesten op på en Raspberry Pi Zero W, som har en mindre footprint, bruger mindre strøm og fungerer perfekt, hvilket giver os adgang til alle vores lokale servere på afstand.