Эта статья сделана с упором на максимальную доступность в процессе установки и настройки VPN сервера на WG Easy, основанном на протоколе WireGuard. В принципе, достаточно будет навыка регистрации на сайте + умение копировать и вставить.
VPN нам может понадобиться по 3 причинам:
- Обойти ограничения, которые существует в РФ
- Для релокантов — зайти на закрытые от внешнего мира сайты РФ
- Обеспечить безопасность в интернете
В чем преимущество WG Easy?
- Простая установка
- Удобная web-панель для управления
- Возможность создавать пользователей и видеть их статистику скачивания (только объем)
Разделы статьи
Выбор хостинга для VPN
Racknerd
Американский хостер предлагает отличные тарифы для VPN, но только при условие аренды акционных серверов (ссылка на акцию). Тарифы без акций — напротив, сильно дорогие. Я пользуюсь уже несколько лет данным хостингом и покупаю именно акционные тарифы. Для РФ есть возможность оплаты через крипту, как бы сейчас это не проблема завести кошелек на Huobi или Kucoin.
Железо используют среднее (для промо-тарифов), но его хватает с избытком для VPN. Большой плюс — можно заранее пинговать сервера, выбрать IP адрес и его расположение. Сам хостинг зарекомендовал себя очень надежным, к саппортам ни разу не обращался.
Speedtest показывает скорость Download 420 — 760Mbit/s, Upload 750 — 790 Mbit/s и Packet loss: 0 % — что является отличным результатом. Хотя просадки по скорости трафика бывают. Минимальная сумма для пополнения счета — 10 — 20 $ за 1 год.
Aeza
Хостер предлагает очень хорошие тарифы с оплатой от 1-го часа и расположением в Европе и СНГ. Хорошее железо, простая и удобная панель управления. Не находятся в юрисдикции РФ, при этом и никаких персональных данных не просят. Часто анонсирует промо-тарифы на хорошие сервера по 105 рублей.
Speedtest показывают скорость Download 678 — 735 Mbit/s, Upload 632 — 668 Mbit/s и Packet Loss: 3 % — отличный результат! Кроме пожалуй Packet Loss, с ним я столкнулся практически на всех локациях Aeza.
Минимальная стоимость сервера под VPN — 391 и 105 рублей за промо тариф. Минимальная сумма для пополнения счета — от 105 рублей. При регистрации по ссылке, у вас будет wellcome бонус +15% к первому пополнению счета, за первые 24 часа.
Установка WG Easy:
Для начала, устанавливаем curl и Docker:
sudo apt install curl -y && curl -sSL https://get.docker.com | sh && sudo usermod -aG docker $(whoami)
exit
// далее 1-2 раза ввести exit и Enter, после этого нас может выбросить из консоли //
Установка WG Easy
Обратите внимание, нам нужно указать:
- IP адрес нашего сервера
- Пароль, который будет использован для входа в веб-панель WG Easy
- DNS сервер
- Номер порта для VPN соединений (стандартный — 51820/udp)
- Номер порта для веб-панели WG Easy ((стандартный — 51821/tcp)
Эти данные обязательно сохраните у себя где-нибудь в файле. Они нам потом еще понадобятся.
docker run -d \
--name=wg-easy \
-e WG_HOST=ip_адрес_нашего_сервера \
-e PASSWORD=наш_пароль\
-e WG_DEFAULT_DNS=1.1.1.1,9.9.9.9 \
-v ~/.wg-easy:/etc/wireguard \
-p 51820:51820/udp \
-p 51821:51821/tcp \
--cap-add=NET_ADMIN \
--cap-add=SYS_MODULE \
--sysctl="net.ipv4.conf.all.src_valid_mark=1" \
--sysctl="net.ipv4.ip_forward=1" \
--restart unless-stopped \
weejewel/wg-easy
echo nameserver 1.1.1.1,9.9.9.9 | sudo tee /etc/resolv.conf
На этом установка закончена и веб-панель WG Easy будет доступна по адресу:
www.ip_адрес_нашего_сервера:51821
Теперь переходим в браузере по адресу:
Пароль мы установили ранее, в поле -e PASSWORD=наш_пароль\

Теперь мы можем генерировать ключи, пользоваться VPN на всех наших устройствах, давать их женам, детям, любовницам и любовникам. В общем, ни в чем себе не отказывать.
На этом установка закончена!
Бонусное задание — безопасность сервера
Обновляем и защищаем наш сервер:
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
Нажимаем CTRL+ X, далее Y + Enter, чтобы сохранить
Отключим двухсторонний пинг, чтобы затруднить обнаружение туннеля
nano /etc/ufw/before.rules
Меняем концовку следующего выражения с ACCEPT на DROP:
-A ufw-before-input -p icmp --icmp-type echo-request -j DROP
Нажимаем ctlr + x, далее y + enter, чтобы сохранить.
Настраиваем фаервол:
Внимание! Вместо 51820/udp пишем номер порта, который мы указали ранее при установке WG Easy -p 51820:51820/udp -p 51821:51821/tcp
ufw allow 22 && ufw allow 51820/udp && ufw allow 51821/tcp && ufw limit 22/tcp && ufw enable
// нажимаем Y + Enter //
Обновление WG Easy
Раз в месяц можно заходить на сервер и обновлять ПО:
apt update && apt upgrade -y && apt autoclean -y && apt clean -y && apt autoremove -y
Обновление WG Easy:
docker stop wg-easy && docker rm wg-easy && docker pull weejewel/wg-easy
Запускаем WG Easy после обновления. Не забываем указывать наши актуальные данные:
docker run -d \
--name=wg-easy \
-e WG_HOST=ip_адрес_нашего_сервера \
-e PASSWORD=наш_пароль \
-e WG_DEFAULT_DNS=1.1.1.1 \
-v ~/.wg-easy:/etc/wireguard \
-p 51820:51820/udp \
-p 51821:51821/tcp \
--cap-add=NET_ADMIN \
--cap-add=SYS_MODULE \
--sysctl="net.ipv4.conf.all.src_valid_mark=1" \
--sysctl="net.ipv4.ip_forward=1" \
--restart unless-stopped \
weejewel/wg-easy
Будут вопросы, заявки, уточнения — пишите.
Привет! Спасибо за статьи, я покупал vps на racknerd (гиг, 1 проц, 4 TB в месяц за 12,98 на год 1 января), локация США (Нидерландов пока нет у них).
В принципе все работает с VPN WG Easy и WireGuard (на гаджетах, а также выборочный обход на роутере Keenetic с КВАСОМ).
Но нигде (на телефонах с wi-fi/мобильным интернетом) с включенными VPN WG Easy и WireGuard не открывается сайт netflix.com, а если скачать какой-нибудь мод VPN приложения, то без проблем…
Также я частенько захожу на сайт newegg. com и с VPN на VPS у меня это не получается, вот такая ошибка: Our system have detected unusual traffic from this device, please check our Policy & Agreement for more information, feel free to click this link to give us feedback.
В поддержку пока не писал, возможно найду у нас ответ на данные вопросы
Проблема у вас именно в хостере, скорее всего пул их IP в блэклистах этих сервисов. Развернулся в одном из российских провайдеров в локации Нидерланд — работает как netflix, так и newegg.
После обновления WG Easy придется заново заводить всех клиентов?
Нет, но бэкапить клиентов и ключи необходимо в любом случае. Либо потом клиентам делать рассылку, что тех. сбой и включи поменялись
То-есть после обновления клиенты не отвалятся? У них не поменяются ключи? А если бекапить то каким образом?
Когда ставлю WG Easy то по умолчанию он начинает всегда выдавать внутренние IP адреса клиентам в подсети 10.8.0.0 можно ли как то поменять эту настройку что бы выдавались IP например в 10.10.0.0 , 192.168.x.x и тп ? Нигде настрое этого я не нашел
Статья обновлена
Ставил WGEasy и закинул дефолтные -e WG_DEFAULT_DNS=1.1.1.1, но теперь хочу поменять на 8.8.8.8, 1.1.1.1. Мне заново нужно конфигурировать docker run -d И там ставить -e WG_DEFAULT_DNS=8.8.8.8, 1.1.1.1 ?
Рассматривали ли вы другую GUI, например вот эту https://github.com/donaldzou/WGDashboard ? Я так понимаю, если я захочу эту морду поменять, то надо все сносить и заново генерить все ключи?
Да, достаточно остановить и запустить контейнер, с новыми параметрами. С этим гуем не знаком, в WG сейчас нет особого смысла, если использовать без обфускацию трафика. Слишком легко его заблокировать.
Лучше посмотрите в сторону Xray.
Большое спасибо за ответ. Не слышал про xray, буду изучать. Информации по нему почти нет, а следовательно, он должен долго продержаться. Нежели WG, про который везде пишут.
В идеале наверно пустить трафик на подсети только на запрещенных ИНСТ картинок и парочку необходимых сайтов. Тогда, наверно, будет жить долго и счастливо)
А каким образом можно учет трафика для каждого пользователя wg посмотреть?
Мне кажется что никак, не предусмотрено автором
В панеле пишет There is an update available!
Updated to Node.js v18.
Обновляю easy-wireguard — но все-равно пишет, что есть новая версия Node. Что делать? 🙂
docker pull weejewel/wg-easy запускает обновление, но это есть в статье. Что делать — ничего не делать 🙂
Поменять
docker pull weejewel/wg-easy
на
docker pull ghcr.io/wg-easy/wg-easy
weejewel сдулся. У него об этом написано в гитхабе