Найти тему
IT в тебе

Готовим локальный web сервер, для пользователя интернета, используя WireGuard

0) Мы будем выводить локальный http сервер, через VDS, в интернет

1) Берём вычислительное устройство с поднятым веб сервером

типичное содержание полки с надписью "еще может пригодиться"
типичное содержание полки с надписью "еще может пригодиться"

2) Устанавливаем клиент WireGuard

3) Оставляем греться на столе

4) Нам нужен абсолютно "любой" VDS, но только с белым IP, возможностью установить дистрибутив Ubuntu 20+, и не сильно дорогой... Берём у timeweb

5) Попадаем в панель управления похожую на эту

как много тут необходимых функций...
как много тут необходимых функций...

6) Для начала проходим в "Облачные серверы" и создаём там VDS с необходимыми параметрами

7) Раскрываем созданный VDS, идём в консоль и...

8) Для поднятия сервера WG используем рецепты из интернета, один из них, выполняем все шаги до готовности, должна получится настройка для клиента WireGuard нашего "сервера" и его IP адрес

8.1) Забираем файл настроек с VDS и загружаем его в клиент на нашем "сервере"

8.2) Подключаемся

9) Пока мы еще в консоли, воспользуемся встроенной оболочкой брандмауэра iptables под названием UFW, что бы перенаправить необходимый порт

9.0) Идём в настройки при помощи "sudo nano /etc/default/ufw" и меняем "DEFAULT_FORWARD_POLICY=”DROP”" на "DEFAULT_FORWARD_POLICY=”ACCEPT”"

9.1) Пишем "sudo nano /etc/ufw/sysctl.conf" и ищем строку "net/ipv4/ip_forward=1", перед ней не должно быть символа решетки "#"

9.2) Дальше пишем "sudo nano /etc/ufw/before.rules" и готовимся дополнить его необходимыми полями

9.3) Перед строчкой *filters добавляем

*nat
:POSTROUTING ACCEPT [0:0]
-A PREROUTING -p tcp --dport НАШ_ПОРТ -j DNAT --to-destination НАШ_АДРЕС
-A POSTROUTING -s ПОДСЕТЬ_WIREGUARD -j MASQUERADE
COMMIT

НАШ_ПОРТ - для примера используем порт 80 который подставляется при обращении по http
НАШ_АДРЕС - ip адрес нашего сервера в клиенте WireGuard
ПОДСЕТЬ_WIREGUARD - так же должна быть в файле настроек WireGuard и иметь вид похожий на "192.168.1.0/24"

9.4) Сохраняем нашу работу и перезагружаем uwf командой "ufw disable && ufw enable"

9.5) С этого момента можно пройти по публичному адресу VDS в браузере и попасть на локальный сервер

*Использование https и сертификатов безопасности не попали в эту статью

**Тут же можно заказать домен для VDS и переходить не по IP а по адресу домена

***В дальнейшем сеть WireGuard можно использовать для соединения других машин в одну сеть либо для подключения дополнительных серверов