Если вы используете локальный сервер у себя дома на старом ноутбуке или ПК, например сервер Plex Media, файловый сервер, веб-сервер или любой другой сервер — вы можете открыть его для Интернета, используя опцию переадресации портов в вашем маршрутизатор. Однако такой доступ к серверу в производственной среде небезопасен и не рекомендуется.
Мы покажем вам, как безопасно открыть ваши локальные серверы с помощью HTTPS-подключения к Интернету с помощью бесплатного сервиса Cloudflare Tunnel, не раскрывая ваш общедоступный IP-адрес.
Что такое Cloudflare Tunnel?
Cloudflare Tunnel, ранее известный как Argo Tunnel, помогает пользователям безопасно раскрывать свои ресурсы, такие как локальные серверы в Интернет без общедоступного IP-адреса или без включения переадресации портов в маршрутизатор. Когда вы настраиваете туннель Cloudlfare в своей системе Windows, macOS или Linux, легкое туннелирование демон (cloudflared) установлен и находится между вашим ресурсом (локальным сервером) и Cloudflare сеть. С Cloudflare Tunnel вы можете безопасно открывать и подключать любые локальные веб-серверы HTTP, удаленные рабочие столы, серверы SSH или различные другие протоколы к Интернету.
Ниже в наших пошаговых инструкциях показано, как настроить демон туннелирования cloudflared в Windows, macOS, Linux и Raspberry Pi для предоставления доступа к локальным серверам в Интернете.
Прежде чем вы начнете
Чтобы установить и настроить демон туннелирования cloudflared в вашей системе, вам необходимо выполнить следующие предварительные условия:
- Зарегистрируйте доменное имя. Вы можете либо приобрести его у поставщиков услуг, таких как GoDaddy, либо получить бесплатный домен от freenom.com.
- После регистрации доменного имени создайте учетную запись Cloudflare и добавьте свой домен — см. Настройка Cloudflare.
- Затем измените или обновите серверы имен доменов на серверы имен Cloudflare — см. Документация CloudFlare. Этот параметр доступен на портале, где вы зарегистрировали или приобрели домен.
После выполнения этих требований вы можете выполнить следующие шаги, чтобы настроить Cloudflare Tunnel на своем компьютере с Windows, macOS, Linux или Raspberry Pi.
Установите Cloudflare Tunnel на Windows
Для настройки Cloudflare Tunnel в системе Windows требуется установить облегченный демон на стороне сервера. Перейти облачные релизы страницу и загрузите правильную версию для вашей версии Windows:
- 32-битная Windows: cloudflared-windows-386.exe
- 64-битная Windows: cloudflared-windows-amd64.exe
После загрузки установки демона cloudflared перейдите в папку, в которой находится установка, и переименуйте файл в Cloudflared.exe. Затем откройте командную строку и перейдите к месту, где находится демон cloudflared, используя CD команда. Например:
CD C:\Пользователи\Рави Сингх\Загрузки\Программы
Затем выполните следующие команды, чтобы проверить версию и установить последнее обновление.
облака.Exe--версия
облака.Exeобновлять
Если вы видите вывод, как показано на скриншоте ниже, все готово.
Вы должны время от времени проверять наличие обновлений cloudflared, чтобы обновлять настройки и избегать проблем с подключением.
Установите Cloudflare Tunnel на macOS
В macOS вы можете использовать приложение «Терминал» для загрузки и установки демона cloudflared, а затем использовать команды для создания безопасного туннеля и предоставления доступа к локальным серверам в Интернете.
Чтобы скачать cloudflared, выполните в Терминале следующую команду:
заваривать установить облачная вспышка / облачная вспышка / облачная вспышка
Кроме того, вы можете запустить эту команду для загрузки cloudflared:
заваривать установить облака
Установите Cloudflare Tunnel в Linux
В зависимости от используемой операционной системы Linux загрузите облачный пакет. Затем откройте приложение «Терминал», перейдите в папку, куда загружен пакет, и установите его. В качестве альтернативы, в зависимости от вашего дистрибутива 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 используйте инструмент pacman для установки cloudflared.
pacman -Сью Клаудфларед
Установите Cloudflared Tunnel на Raspberry Pi
Официальной облачной сборки или репозитория для Raspberry Pi Zero, 2, 3 или 4 не существует. Однако вы можете установить и использовать неофициальные сборки ARMv6 для Raspberry Pi, чтобы настроить облачный туннель в ОС Raspberry Pi. Мы уже рассмотрели несколько руководств, таких как собственный менеджер паролей BitWarden на Raspberry Pi Zero, где мы использовали неофициальные сборки для предоставления нашим локальным серверам доступа в Интернет с помощью HTTPS-соединения через туннель Cloudflare.
Чтобы установить cloudflared на Raspberry Pi OS Bullseye (или другую версию), выполните следующую команду в Терминале.
судо wget https://hobin.ca/cloudflared/releases/2022.8.2/cloudflared_2022.8.2_arm.tar.gz
судосмола-xvzfCloudflared_2022.8.2_рука.tar.gz
sudo cp ./cloudflared /usr/местный/bin
sudo chmod +x /usr/местный/bin/cloudflared
облачный -v
Чтобы проверить наличие последних неофициальных версий для Raspberry Pi, ознакомьтесь с Страница сборки ARMv6.
Создайте и настройте туннель Cloudflare
Как только демон cloudflared будет загружен и установлен на вашей Windows, macOS, Linux или Raspberry Pi, вы можете создать туннель Cloudflare, используя следующую команду в приложении «Терминал» или в командной строке:
облачный логин
В Windows, macOS или Linux откроется страница входа в Cloudflare в веб-браузере по умолчанию. Если окно браузера не открывается автоматически, скопируйте URL-адрес, отображаемый в выводе команды, а затем вставьте его в веб-браузер и войдите в свою учетную запись Cloudflare.
После входа выберите домен, который вы добавили в учетную запись Cloudlfare, и нажмите Разрешить.
После авторизации вы увидите сообщение «Вы успешно вошли в систему…». Это также создаст cert.pem файл и сохраните его в каталоге cloudflared по умолчанию:
- Окна: %USERPROFILE%\.cloudflared
- макОС: ~/.cloudflared
- Линукс: /etc/cloudflared,
- Raspberry Pi: /usr/local/etc/cloudflared
Далее нам нужно создать туннель с помощью следующей команды:
облачный туннель создать <YourTunnelName>
Вы можете назвать свой туннель как угодно. Например, мы разместил сайт WordPress на старом ноутбуке и использовал имя сайта в качестве имени туннеля; это облегчает запоминание.
Команда создаст туннель, а также файл JSON с уникальным буквенно-цифровым UUID туннеля. Скопируйте путь к файлу JSON и UUID туннеля, вставьте его в блокнот или список заметок и сохраните его в безопасном месте, так как они понадобятся нам для создания файла конфигурации.
Чтобы создать файл конфигурации в ОС macOS, Linux или Raspberry Pi, выполните следующую команду:
судо нано ~/.cloudflared/config.yml
В редакторе вставьте следующий код.
туннель: <ТуннельUUID>
файл учетных данных: /root/.cloudflared/<TuinnelUUID>.json
вход:
-имя хоста: мой дом.смартгар.org
сервис: http://192.168.0.1
-услуга: http_status:404
Обязательно замените TunnelUUID и путь к файлу JSON в файл учетных данных строка кода. Нажимать CTRL+Х или Команда + X (macOS), а затем Д ключ, за которым следует Входить чтобы сохранить изменения в config.yml файл.
В Windows вы можете использовать проводник и перейти к следующему местоположению:
С:\Пользователи\Имя вашего профиля\.cloudflared
Затем щелкните правой кнопкой мыши, выберите Новый > Текстовый документ, и вставьте вышеупомянутый блок кода.
Нажмите Вид в проводнике и включите Расширения имени файла вариант.
Затем отредактируйте текстовый документ с именем config.yml.
Вы можете добавить несколько имен хостов и сервисов в файл конфигурации, чтобы получить к ним доступ через Интернет через туннель Cloudlfare. Просто скопируйте первые две строки ниже вход: строку кода и вставьте их перед -сервис: http_status: 404. Замените имя хоста и IP-адреса локального сервера, чтобы перенаправить трафик из Интернета на конкретный локальный сервер. См. пример ниже.
Пример для нескольких имен хостов и сервисов:
туннель: <ТуннельUUID>
файл учетных данных: /root/.cloudflared/<TuinnelUUID>.json
вход:
-имя хоста: мой дом.смартгар.org
сервис: http://192.168.0.1
-имя хоста: сплетение.смартгар.org
сервис: http://192.168.0.136
-услуга: http_status:404
Сохраните изменения, а затем создайте записи CNAME в DNS Cloudflare, используя следующую команду.
маршрут туннеля cloudflared dns <TunnelName><имя хоста>
Например:
облакатуннельмаршрутDNSсмартгармой дом.смартгар.org
После добавления CNAME вы можете запустить туннель для доступа к вашему локальному серверу через Интернет, используя назначенное вами имя хоста.
Облачный туннель <TunnelName>
Если вы видите вывод, аналогичный показанному на скриншоте выше, туннель запущен успешно. Теперь вы можете открыть веб-браузер на любом устройстве, подключенном к Интернету, и посетить имя хоста. Для этого случая это myhome.smartghar.org.
Поскольку мы хотим, чтобы имя хоста загружало страницу конфигурации нашего маршрутизатора, мы добавили IP 192.168.0.1, который в противном случае был доступен только через локальную сеть.
Вы должны включить для параметра SSL/TLS значение «Гибкий» или «Полный» (в зависимости от того, что подходит вам), чтобы обеспечить безопасное соединение HTTPS с вашим локальным экземпляром.
Безграничные возможности
С Cloudlfare Tunnel вы можете бесплатно получить доступ к любой настройке сервера в вашем доме через Интернет. Вы можете использовать эту службу для размещения веб-сайта в локальной системе и его тестирования перед развертыванием на веб-сервере или предоставлением общего доступа. Вы также можете использовать его для безопасного доступа к локальному умному дому, работающему на Home Assistant или любом другом сервере через Интернет.
Мы настроили сервис Cloudflare Tunnel на Raspberry Pi Zero W, который имеет меньший занимает меньше места, потребляет меньше энергии и отлично работает, позволяя нам получить доступ ко всем нашим локальным серверам удаленно.