Назад

Легкая установка VPN WG Easy

Эта статья сделана с упором на максимальную доступность в процессе установки и настройки VPN сервера на WG Easy, основанном на протоколе WireGuard. В принципе, достаточно будет навыка регистрации на сайте + умение копировать и вставить.

VPN нам может понадобиться по 3 причинам:

  1. Обойти ограничения, которые существует в РФ
  2. Для релокантов — зайти на закрытые от внешнего мира сайты РФ
  3. Обеспечить безопасность в интернете

В чем преимущество WG Easy?

  1. Простая установка
  2. Удобная web-панель для управления
  3. Возможность создавать пользователей и видеть их статистику скачивания (только объем)

Установка 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

Обратите внимание, нам нужно указать:

  1. IP адрес нашего сервера
  2. Пароль, который будет использован для входа в веб-панель WG Easy
  3. DNS сервер
  4. Номер порта для VPN соединений (стандартный — 51820/udp)
  5. Номер порта для веб-панели 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

Будут вопросы, заявки, уточнения — пишите.

5 1 голос
Рейтинг статьи
ingenare
ingenare
https://itstar.space
IT Project Manager, организатор IT-конференций в РФ
Подписаться
Уведомить о
guest
15 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
Слава
Слава
2 лет назад

Привет! Спасибо за статьи, я покупал 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.
В поддержку пока не писал, возможно найду у нас ответ на данные вопросы

Виктор
Виктор
Ответить на  Слава
2 лет назад

Проблема у вас именно в хостере, скорее всего пул их IP в блэклистах этих сервисов. Развернулся в одном из российских провайдеров в локации Нидерланд — работает как netflix, так и newegg.

Константин
Константин
1 год назад

После обновления WG Easy придется заново заводить всех клиентов?

Сергей
Сергей
1 год назад

То-есть после обновления клиенты не отвалятся? У них не поменяются ключи? А если бекапить то каким образом?

Глеб
Глеб
1 год назад

Когда ставлю WG Easy то по умолчанию он начинает всегда выдавать внутренние IP адреса клиентам в подсети 10.8.0.0 можно ли как то поменять эту настройку что бы выдавались IP например в 10.10.0.0 , 192.168.x.x и тп ? Нигде настрое этого я не нашел

Александр
Александр
1 год назад

Ставил 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 ? Я так понимаю, если я захочу эту морду поменять, то надо все сносить и заново генерить все ключи?

Александр
Александр
Ответить на  ingenare
1 год назад

Большое спасибо за ответ. Не слышал про xray, буду изучать. Информации по нему почти нет, а следовательно, он должен долго продержаться. Нежели WG, про который везде пишут.

В идеале наверно пустить трафик на подсети только на запрещенных ИНСТ картинок и парочку необходимых сайтов. Тогда, наверно, будет жить долго и счастливо)

Алешка
Алешка
1 год назад

А каким образом можно учет трафика для каждого пользователя wg посмотреть?

Андрей
Андрей
1 год назад

В панеле пишет There is an update available!
Updated to Node.js v18.

Обновляю easy-wireguard — но все-равно пишет, что есть новая версия Node. Что делать? 🙂

ury
ury
Ответить на  Андрей
1 год назад

Поменять
docker pull weejewel/wg-easy
на
docker pull ghcr.io/wg-easy/wg-easy

weejewel сдулся. У него об этом написано в гитхабе

Политика конфиденциальности сайта