Найти тему
new-techno

Как сделать свой VPN при помощи WideGuard? Легко!

Если возникают проблемы, что-то не получается - пишите в телеграми, он есть у меня в профиле. Каждому постараюсь помочь.

В данной статье мы будем делать свой vpn при помощи WireGuard, итак приступим:

Шаг 1. 

Покупаем vps/vds ,обязательно что бы был linux ubuntu 20.04 и локацию которая вам будет нужна в моем случае я выбрал Германию.

Говоря о том, что нам там предлагают под наши цели — это виртуальные VPS сервера, расположенные в странах европы, России и США. С реальной скоростью соединения с сервером примерно 500 мбит/с и безлимитным трафиком (что очень важно для VPN сервера) . Лично я буду использовать хостера Aeza - дешевый и относительно стабильный, с нормальными хар-ми сервера.

Итак, если вы, всё-таки решили арендовать сервер у Аезы, а не пошли писать гневные комментарии под моим постом этому поводу, то алгоритм действий такой:

1. Для начала вам нужно перейти по этой ссылкезарегистрироваться и перейти в личный кабинет.

2. Далее, нажмите на Виртуальный сервер, выберите нужную страну, тариф Shared и минимальную конфигурацию сервера.

3. На наш сервер нужно установить операционную систему Ubuntu 20.04— её и выберите. Отключите бекапы — тут они не нужны (в случае чего всё можно быстро переустановить) . Выберите период оплаты и, собственно, оплатите аренду.

Кстати, после регистрации по моей реферальной ссылке у вас в течении 24 часов будет бонус 15% к пополнению баланса.

Минуты 2-3 сервер будет активироватьсяи после на почту придут данные для авторизации для подключения к серверу. Либо, ip-адрес и пароль можно будет посмотреть в разделе мои услуги и нажать на название вашего сервера.

Подключитесь к серверу по SSH:

  • Наберите ssh root@111.111.111.111 в консоли (IP поменяйте на свой).

Пароль можно вставить из буфера с помощью ПКМ, он не отображается для безопасности. Иногда пароль вставляется корректно только при включённой английской раскладке клавиатуры.

  • Либо используйте веб-интерфейс "VNC" в панели VPS
  • Либо используйте какое-либо SSH-приложение (подойдет командная строка)

Шаг 2. Обновляем пакет дистрибутивов:

Команда для обновления дистрибутивов 

apt update && apt upgrade -y

Дальше, устанавливаем сам WireGuard:

Команда для установки WireGuard 

apt install -y wireguard

Шаг 3. Генерируем ключи сервера:

Команда wg keygen генерирует уникальный ключ для подключения через WireGuard client, а команда tee выводит ключ на экран

Команда для генерации ключей:

wg genkey | tee /etc/wireguard/privatekey | wg pubkey | tee /etc/wireguard/publickey

А так же даем разрешение на чтение и запись только пользователю

Команда на разрешение прав доступа:

chmod 600 /etc/wireguard/privatekey

Проверяем как называется наш сетевой интерфейс:

ip a

У меня лично из-за уже установленного WireGuardа, у меня появился сетевой интерфейс wg0, у вас такого не будет

-2

В моём случае мой сетевой интерфейс называется ens3, у вас он может называться eth0 или иначе

Шаг 4, самое интересное.

Открываем новый документ при помощи nano в линуксе с таким путём: /etc/wireguard/wg0.conf

Команда:

nano /etc/wireguard/wg0.conf

И вставляете такой текст:

[Interface]

PrivateKey = <privatekey> \\ изменяете на свое значение из файла "/etc/wireguard/privatekey"

Address = 10.0.0.1/24

ListenPort = 51820

PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE

Важно! eth0 оставляете или меняете.

Дальше, вводите команду в консоль и проверяете:

echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf | sysctl -p

Если у вас так: 

-3

, то все окей

Включаем systemd демон с WireGuard:

systemctl enable wg-quick@wg0.service

systemctl start wg-quick@wg0.service

systemctl status wg-quick@wg0.service

В статусе должно быть так:

-4

Дальше делаем ещё одну генерацию ключей (уже для клиента):

wg genkey | tee /etc/wireguard/username_privatekey | wg pubkey | tee /etc/wireguard/username_publickey

Идем снова в wg0.conf и вставляем следующее:

[CODE=code][Peer] PublicKey = Ваш публичный ключ из cat /etc/wireguard/xxxxx_publickey AllowedIPs = 10.0.0.2/32[/CODE]

Перезапускаем сервис: 

[CODE=code]systemctl restart wg-quick@wg0 systemctl status wg-quick@wg0[/CODE]

Теперь на своём компьютере создаёте с каким-либо именем файл на конце .conf и заполняем его таким содержимым: 

[CODE=code][Interface] PrivateKey = <CLIENT-PRIVATE-KEY> \\ приватный ключ, он берётся из "/etc/wireguard/xxxx_privatekey" Address = 10.0.0.2/32 DNS = 8.8.8.8 [Peer] PublicKey = <SERVER-PUBKEY> \\ Серверный публичный ключ, он берётся из "/etc/wireguard/publickey Endpoint = <SERVER-IP>:51830 \\ где <SERVER-IP> там ip хоста на котором стоит wireguard AllowedIPs = 0.0.0.0/0 PersistentKeepalive = 20[/CODE]

И сохраняем его в .conf

Шаг 5, последний

Скачиваем WireGuard для вашей ос в моем случае для windows с этого сайта:

https://www.wireguard.com/install/ (Не реклама)

И скачиваем installer:

-5

Как только установили нас встречает такое окно:

-6

У вас здесь ничего не будет, вам нужно будет нажать "Добавить туннель" и открываете .conf файл который вы создали, и у вас появится новый туннель и теперь вы сможете подключиться к туннелю.

Ну вот и всё, всем спасибо за чтение данной статьи!