Назад

VPN на WireGuard + Unbound DNS

Поделюсь самой одной из самой простой установкой VPN на сервер. Всего у нас будет 3-4 шага. Здесь мы устанавливаем VPN и DNS сервер, который не просто шифрует по DNSSEC, но еще и чистит трафик от трекеров. К тому же потребление ресурсов, при этой установке, крайне мало (хватит 512 мб).

У меня есть другая статья, где установка VPN будет еще немного проще. При этом у нас будет довольно удобная панель управления. Но там нет DNS и DNSSEC, но плюсы, конечно, перевешивают.

А этот способ больше для технарей 🙂

Я не буду предлагать какие-то альтернативы, а предложу самый простой способ поднять свой VPN, максимально быстро и просто.

Что делаем, в шаге 1-2 просто выполняем их, шаг 3 — копируем и вставляем в терминал команды.

Выбор хостинга для VPN

Предлагаю вам на выбор 2 хостинга, которые рекомендую на данный момент и которыми пользуюсь. Вообще выбор хостинга должен быть из рассчета что вам нужно — какая локация, какая скорость канала и т.д. Широкой выбор VDS с дисконтами есть по этой ссылке — lowendbox.com

Американский хостер Racknerd (ссылка) предлагает самые выгодные тарифа на сервера, которые можно использовать как под хостинг так и под VPN, но это верно только на акционные сервера (ссылка на акцию). Благо, акции с скидками проходит весь год 🙂

Для РФ есть возможность оплаты через крипту, сейчас не проблема завести кошелек на Huobi или Kucoin.

Железо — отличное, используют как современные Intel, так и AMD Epyc. Любой тариф, даже самый дешевый, легко потянет VPN.

Можно заранее пинговать сервера, выбрать IP адрес и его расположение. Сам хостинг зарекомендовал себя как очень надежный. Я им пользуюсь уже 3 года и пожалуй, это наименее проблемный хостинг из всех в т.ч. российских как например Beget, Timeweb

Speedtest показывает скорость Download 420 — 760Mbit/s, Upload 750 — 790 Mbit/s и Packet loss: 0 %

Минимальная сумма для пополнения счета — 10 — 20 $ за 1 год, что конечно очень выгодно.

Хостер Aeza (ссылка) предлагает очень хорошие тарифы с оплатой от 1-го часа и расположением в Европе и СНГ. По железу — все отлично, управлять сервером удобно. Не находятся в юрисдикции РФ и никаких персональных данных не просят. Из минусов — довольно часто меняют цены в сторону увеличения, ну и контора слегка мутная.

Speedtest показывают скорость Download 678 — 735 Mbit/s, Upload 632 — 668 Mbit/s и Packet Loss: 0 % — отличный результат.

Минимальная стоимость сервера под VPN — в районе 5 Евро, бывают акционные сервера из Швеции — например я использую такой, за 1 бакс в месяц. Производительность отличная, но канал всего 100 Мб (для youtube 4k хватает более чем). Принимают оплату в т.ч. в рублях. При регистрации по ссылке, у вас будет Wellcome бонус +15%, к первому пополнению счета, но за первые 24 часа.

Установка WireGuard + Unbound

Копируем команды и вставляем в консоли SSH, через команду вставить или через правую кнопку мыши.

apt install curl && curl https://raw.githubusercontent.com/complexorganizations/wireguard-manager/main/wireguard-manager.sh --create-dirs -o /usr/local/bin/wireguard-manager.sh && chmod +x /usr/local/bin/wireguard-manager.sh && bash /usr/local/bin/wireguard-manager.sh

Далее, запускается мастер установки, везде соглашаемся на default и жмем Enter, кроме:

What port do you want WireGuard server to listen to?
  1) 51820 (Recommended)
  2) Custom (Advanced)
Выбираем любой в диапазоне 0 - 65000, кроме дефолтного 51820

В итоге скрипт сгенерирует QR-код и даст ссылку на conf файл, которые используются как «ключ» для приложений (подробнее по ссылке).

После QR-кода, информация выглядит так.

screenshot 2022 11 28 163159
VPN на WireGuard + Unbound DNS 2

Тут есть 4 варианта:

  1. Используем QR-код (для мобильных устройств)
  2. Копируем все что в желтом квадрате, вставляем все в новый документ блокнота и сохраняем с разрешением .conf
  3. Копируем все что в желтом квадрате и вставляем в настройке WireGuard (подробнее по ссылке).
  4. Заходим через FTP и копируем файлы .conf по адресу /etc/wireguard/clients

Чтобы нам было проще, установим Midnight Commander, чтобы посмотреть конфиги по адресу etc/wireguard/cliens. Запуск через команду mc

apt install mc -y && mc

Для того чтобы совершить какие-то настройки над WireGuard, например, добавить новых клиентов, используем команду:

bash /usr/local/bin/wireguard-manager.sh

Безопасность сервера

Защитим сервер от брутфорса и закроем возможность пинговать сервер:

apt install fail2ban -y && apt install ufw -y && apt install nano -y && apt update && apt upgrade -y
touch /etc/fail2ban/jail.local && nano /etc/fail2ban/jail.local

Откроется редактор, вставим в него код:

[sshd]
enabled = true
filter = sshd
action = iptables[name=SSH, port=ssh, protocol=tcp]
logpath = /var/log/auth.log
findtime = 600
maxretry = 3
bantime = 43200

Нажимаем ctlr + x, далее Y + enter, чтобы сохранить.

Внимание! Вместо 51820/udp указываем тот порт, который мы указали ранее, при установке
ufw allow 51820/udp && ufw allow 53 && ufw allow 22 && ufw limit 22/tcp && ufw enable -y

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

 nano /etc/ufw/before.rules

Меняем концовку следующего выражения с ACCEPT на DROP:

-A ufw-before-input -p icmp --icmp-type echo-request -j DROP

Нажимаем ctlr + x, далее y + enter, чтобы сохранить.

На этом все, но в некоторых случаях VPN или обновления не работают

Если VPN или обновления не работают?

Тогда действуем согласно схеме ниже:

nano /etc/default/ufw

Изменить параметр на ACCEPT *

DEFAULT_FORWARD_POLICY="ACCEPT"

Сохраняем нажимая — CTRL + X, Y и Enter.

nano /etc/ufw/sysctl.conf

Убрать ‘#‘ перед этими значениями:

net.ipv4.ip_forward=1
net/ipv6/conf/default/forwarding=1
net/ipv6/conf/all/forwarding=1

Сохраняем — CTRL + X, Y и Enter.

nano /etc/ufw/before.rules

Откроется файл, необходимо вставить код ниже, ДО начала данных файла. т.е. вставленные данные у нас будут идти самыми первыми.

# NAT table rules
*nat
:POSTROUTING ACCEPT [0:0]
# Forward traffic through eth0 - Change to match you out-interface
-A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE
# don't delete the 'COMMIT' line or these nat table rules won't
# be processed
COMMIT

Перезапускаем фаервол.

ufw reload

И напоследок, обновим и почистим сервер.

apt update && apt upgrade -y && apt autoclean -y && apt clean -y && apt autoremove -y && reboot
0 0 голоса
Рейтинг статьи
ingenare
ingenare
https://itstar.space
IT Project Manager, организатор IT-конференций в РФ
2 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
Алексей
Алексей
2 лет назад

Добрый день!
«На этом все, но в некоторых случаях VPN после этого не работает…» — почему может такое случаться?