16:05, 17-дек-2023
О чем пойдет речь и как это работает?
В этой статье мы с вами скроем реальный IP-адрес нашего сервиса. Если пинговать домен, то будет выдавать не ваш IP, а адрес cloudflare.
Тем самым мы обезопасим себя от возможных DDOS-атак, особенно если ваш адрес или сайт никак не защищен.
На сервере будет установлен Docker-контейнер от cloudflare, который будет связан напрямую с сайтом через токен. Именно он позволит все это осуществить. Можно и без него, установив утилиту на саму ОС, но докер показался мне наиболее удобным.
Бонус такого способа: не нужно будет открывать порты. А это дополнительная безопасность.
Какие плюсы такого решения?
Вот такие были найдены:
- Скрытие вашего реального IP-адреса;
- Возможность защитить сайт или сервер даже при отсутствии постоянного IP, так как работает все через интернет и докер-контейнер;
- Получение бесплатного SSL от Cloudflare;
- Защита от DDOS. В крайнем случае можно заблокировать доступ;
- Вы можете отключить проксирование для определенных поддоменов на странице записей вашего домена.
Нам потребуется
- Доменное имя. Без него ничего не выйдет;
- Сервер, на котором будем все устанавливать.
- Учетная запись CloudFlare;
- Свободное время.
Первым делом направим домен
Заходим на сайт cloudflare, нажимаем на кнопку Add a site: Вводим доменное имя нашего сайта и нажимаем на кнопку Continue:
Выбираем тариф Free и нажимаем Continue:
Начнется проверка домена (В том числе, ns записей):
После проверки нажимаем Continue. Нам покажет наши текущие NS серверы (я их заменил). Нужно поменять их на те, которые предложил cloudflare:
Заходим в настройки нашего домена у регистратора и меняем NS-сервера:
Подготовка завершена. Теперь осталось дождаться обновления базы DNS. Займет это до 24 часов.
Cloudflare пришлет сообщение на почту после успешного перенаправления.
Создаем туннель в Zero Trust
Открываем раздел Zero Trust:
Скорее всего, сервис предложит оформить бесплатную подписку. В этом случае нужно закрыть окно и зайти в раздел повторно:
Выбираем раздел Access - Tunnels:
Нажимаем кнопку Create a tunnel:
Даём туннелю любое название и нажимаем на кнопку Save Tunnel::
Сейчас cloudflare предложит выбрать нашу систему. Так как я буду ставить докер контейнер на ubuntu, то выбираю docker:
Появится команда для установки контейнера коннектора. Он будет отвечать за перенаправления:
Я предлагаю команду немного доработать и добавить следующее:
-d --name cloudflaretunnel --restart unless-stopped
В моем случае итоговая команда будет такая:
docker run -d --name cloudflaretunnel --restart unless-stopped cloudflare/cloudflared:latest tunnel --no-autoupdate run --token 3eJhIjoiMDVlOTlighjtfjtrjh565h76juykiluilgewrhtryjtyhre56NeiJ9
Мы дали контейнеру название cloudflaretunnel и включили автоматический его перезапуск.
После установки контейнера он у вас отобразится снизу. Когда отобразится, нажимаем Next:
С настройкой закончили. Давайте запустим тестовый контейнер?
Запуск контейнера и настройка туннеля
Подопечным будет Bitwarden. Будем считать, что вы его уже запустили. Для него данные следующие:
- Домен укажем passw;
- Запущен на порту 9565
- Внутренний адрес виртуальной машины в локальной сети: 192.168.15.8
- Запущен по протоколу http (https будет снаружи, а внутри локальной сети можно подключаться по IP).
Поля при создании туннеля заполняем примерно так:
Нажимаем на кнопку Save hostname.
Теперь, если перейти по адресу: passw.katran.life, то отроется наш Bitwarden
Вопросы и ответы
Похожие новости