Ако работите с локален сървър в дома си на стар лаптоп или компютър – като например Plex Media сървър, файлов сървър, уеб сървър или друг сървър—можете да го изложите на интернет, като използвате опцията за пренасочване на порт във вашия рутер. Въпреки това не е нито сигурно, нито се препоръчва достъпът до сървър по този начин в производствена среда.

Ще ви покажем как да изложите вашите локални сървъри сигурно с HTTPS връзка към интернет, като използвате безплатната услуга Cloudflare Tunnel—без да разкривате публичния си IP.

Какво е Cloudflare Tunnel?

Cloudflare Tunnel, известен преди като Argo Tunnel, помага на потребителите да излагат сигурно своите ресурси, като напр. локални сървъри, към интернет без публичен IP адрес или необходимост да активирате пренасочване на портове в рутер. Когато настроите Cloudlfare Tunnel във вашата система Windows, macOS или Linux, лекото тунелиране демон (cloudflare) е инсталиран и се намира между вашия ресурс (локален сървър) и Cloudflare мрежа. С Cloudflare Tunnel можете безопасно да изложите и свържете всички локални HTTP уеб сървъри, отдалечени настолни компютри, SSH сървъри или различни други протоколи към интернет.

instagram viewer

По-долу нашите поетапни инструкции показват как да настроите демона за тунелиране на cloudflared в Windows, macOS, Linux и Raspberry Pi за излагане на локални сървъри в интернет.

Преди да започнеш

За да инсталирате и настроите демона за тунелиране cloudflared на вашата система, трябва да изпълните следните предпоставки:

  1. Регистрирайте име на домейн. Можете или да закупите такъв от доставчиците на услуги, като GoDaddy, или да получите безплатен домейн от freenom.com.
  2. След като регистрирате името на домейна, създайте акаунт в Cloudflare и добавете своя домейн – вижте Настройка на Cloudflare.
  3. След това променете или актуализирайте сървърите за имена на домейни до сървърите за имена на Cloudflare – вижте Документация на Cloudflare. Тази настройка е достъпна на портала, от който сте регистрирали или закупили домейна.

След като тези изисквания са изпълнени, можете да следвате стъпките по-долу, за да настроите Cloudflare Tunnel на вашия компютър с Windows, macOS, Linux или Raspberry Pi.

Инсталирайте Cloudflare Tunnel на Windows

Настройването на Cloudflare Tunnel на Windows система изисква да инсталирате олекотен демон от страна на сървъра. Отидете на cloudflare издания страница и изтеглете правилната версия за вашата версия на Windows:

  • 32-битов Windows: cloudflared-windows-386.exe
  • 64-битов Windows: cloudflared-windows-amd64.exe

След като изтеглите настройката на cloudflared daemon, отидете в папката, където се намира настройката, и преименувайте файла на cloudflared.exe. След това отворете командния ред и отидете до мястото, където се намира демонът cloudflared, като използвате cd команда. Например:

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

След това изпълнете следните команди, за да проверите версията и да инсталирате най-новата актуализация.

пламнал облак.exe--версия
пламнал облак.exeактуализация

Ако видите резултат, както е показано на екранната снимка по-долу, значи сте готови.

Трябва да проверявате за актуализации на cloudflared от време на време, за да поддържате настройката актуализирана и да избегнете проблеми със свързването.

Инсталирайте Cloudflare Tunnel на macOS

В macOS можете да използвате приложението Terminal, за да изтеглите и инсталирате демона cloudflared и след това да използвате команди, за да създадете защитен тунел и да изложите локалните сървъри на интернет.

За да изтеглите cloudflared, изпълнете следната команда в терминала:

варя Инсталирай cloudflare/cloudflare/cloudflared

Като алтернатива можете да изпълните тази команда, за да изтеглите cloudflared:

варя Инсталирай пламнал облак

Инсталирайте Cloudflare Tunnel на Linux

Въз основа на операционната система Linux, която използвате, изтеглете cloudflared пакет. След това отворете приложението Terminal, навигирайте до мястото, където е изтеглен пакетът, и го инсталирайте. Като алтернатива, в зависимост от вашата Linux дистрибуция, можете да използвате една от следните команди, за да изтеглите и инсталирате cloudflared.

Инсталиране на DEB

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

​​Инсталиране на RPM

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

​​Arch Linux

В Arch Linux използвайте инструмента pacman, за да инсталирате cloudflared.

pacman -Syu cloudflared

Инсталирайте Cloudflared Tunnel на Raspberry Pi

Няма официална облачна компилация или хранилище за Raspberry Pi Zero, 2, 3 или 4. Можете обаче да инсталирате и използвате неофициалните компилации на ARMv6 за Raspberry Pi, за да настроите облачния тунел в Raspberry Pi OS. Вече разгледахме няколко урока, като например самостоятелно хостван мениджър на пароли BitWarden на Raspberry Pi Zero, където използвахме неофициалните компилации, за да изложим нашите локални сървъри на интернет с HTTPS връзка чрез тунел Cloudflare.

За да инсталирате cloudflared на Raspberry Pi OS Bullseye (или друга версия), изпълнете следната команда в терминала.

sudo wget https://hobin.ca/cloudflared/releases/2022.8.2/cloudflared_2022.8.2_arm.tar.gz
sudoкатран-xvzfcloudflared_2022.8.2_ръка.катран.gz
sudo cp ./cloudflared /usr/местен/bin
sudo chmod +x /usr/местен/bin/cloudflared
облачен пламнал -в

За да проверите за най-новите неофициални версии за Raspberry Pi, вижте Страница за компилации на ARMv6.

Създайте и настройте тунел Cloudflare

След като демонът cloudflared бъде изтеглен и инсталиран на вашия Windows, macOS, Linux или Raspberry Pi, можете да създадете Cloudflare Tunnel, като използвате следната команда в приложението Terminal или Command Prompt:

влизане в cloudflared

В Windows, macOS или Linux това ще отвори страницата за вход в Cloudflare във вашия уеб браузър по подразбиране. Ако прозорецът на браузъра не се отвори автоматично, копирайте URL адреса, показан в изхода на командата, след което го поставете в уеб браузъра и влезте във вашия акаунт в Cloudflare.

След като влезете, изберете домейна, който сте добавили към акаунта на Cloudlfare, и щракнете Упълномощаване.

След като бъдете оторизирани, ще видите съобщението „Влезли сте успешно...“. Той също така ще генерира a cert.pem файл и го съхранете в местоположението на директорията cloudflared по подразбиране:

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

След това трябва да създадем тунел, като използваме следната команда:

създаване на пламнал от облаци тунел <Името на вашия тунел>

Можете да кръстите тунела си както пожелаете. Например ние хостваше WordPress сайт на стар лаптоп и използва името на сайта като име на тунела; това го прави лесен за запомняне.

Командата ще създаде тунел, а също и JSON файл с уникален буквено-цифров UUID на тунела. Копирайте пътя на файла JSON и UUID на тунела, поставете го в бележник или списък с бележки и го запазете, тъй като ще ни трябват, за да създадем конфигурационен файл.

За да създадете конфигурационния файл в macOS, Linux или Raspberry Pi OS, изпълнете следната команда,

sudo nano ~/.cloudflared/config.yml

В редактора поставете следния код.

тунел: <TunnelUUID>
файл с идентификационни данни: /root/.cloudflared/<TuinnelUUID>.json
вход:
-име на хост: Моят дом.smartghar.org
услуга: http://192.168.0.1
-обслужване: http_статус:404

Уверете се, че сте заменили TunnelUUID и пътя на JSON файла в файл с идентификационни данни кодов ред. Натиснете CTRL + X или Command + X (macOS) и след това Y ключ, последван от Въведете за да запазите промените в config.yml файл.

В Windows можете да използвате File Explorer и да отидете до следното местоположение:

° С:\Потребители\Името на вашия профил\.cloudflared

След това щракнете с десния бутон, изберете Нов > Текстов документ, и поставете гореспоменатия блок от код.

Кликнете Преглед във File Explorer и активирайте Разширения на имена на файлове опция.

След това редактирайте текстовия документ с име config.yml.

Можете да добавите множество имена на хостове и услуги в конфигурационния файл, за да имате достъп до тях през интернет чрез тунел Cloudlfare. Просто копирайте първите два реда под вход: кодов ред и ги поставете преди - услуга: http_status: 404. Заменете името на хоста и IP адресите на локалния сървър, за да препратите трафика от интернет към конкретния локален сървър. Вижте пример по-долу.

Пример за множество имена на хостове и услуги:

тунел: <TunnelUUID>
файл с идентификационни данни: /root/.cloudflared/<TuinnelUUID>.json
вход:
-име на хост: Моят дом.smartghar.org
услуга: http://192.168.0.1
-име на хост: плекс.smartghar.org
услуга: http://192.168.0.136
-обслужване: http_статус:404

Запазете промените и след това създайте CNAME записите в Cloudflare DNS, като използвате следната команда.

cloudflared tunnel route dns <Име на тунела><име на хост>

Например:

пламнал облактунелмаршрутdnssmartgharМоят дом.smartghar.org

След като CNAME бъде добавено, можете да стартирате тунела за достъп до вашия локален сървър през интернет, като използвате името на хоста, което сте задали.

тунелен пламнал облак <Име на тунела>

Ако видите подобен резултат като на екранната снимка по-горе, тунелът е стартиран успешно. Вече можете да отворите уеб браузъра на всяко устройство, свързано с интернет, и да посетите името на хоста. За този случай е myhome.smartghar.org.

Тъй като искаме името на хоста да зареди страницата за конфигурация на нашия рутер, добавихме IP 192.168.0.1, който иначе беше достъпен само през локалната мрежа.

Трябва да активирате опцията SSL/TLS на Гъвкава или Пълна (което работи за вас), за да активирате защитена HTTPS връзка с вашия локален екземпляр.

Безкрайни възможности

С Cloudlfare Tunnel можете да получите достъп до всяка сървърна настройка във вашия дом чрез интернет безплатно. Можете да използвате тази услуга, за да хоствате уебсайт на локална система и да го тествате, преди да го разположите на уеб сървър или да разрешите публичен достъп. Можете също да го използвате за сигурен достъп до вашия локален интелигентен дом, работещ на Home Assistant или всеки друг сървър през интернет.

Настроихме услугата Cloudflare Tunnel на Raspberry Pi Zero W, който има по-малък отпечатък, консумира по-малко енергия и работи перфектно, позволявайки ни достъп до всички наши локални сървъри дистанционно.