В этой статье мы расскажем, как создать и настроить собственный сервер WireGuard.
Что такое WireGuard
WireGuard — это современный и безопасный VPN-протокол, который используется для зашифрованной передачи данных. Одним из ключевых преимуществ WireGuard является его простота. В WireGuard всего около 4000 строк кода по сравнению с десятками тысяч в других VPN-протоколах. Такая простота приводит к повышению производительности, поскольку требуется меньше вычислительной мощности. Кроме того, WireGuard использует современную криптографию, что делает его более устойчивым к уязвимостям и обеспечивает высокий уровень безопасности для пользователей. Приложение для клиентов доступно на устройствах с ОС Android, iOS, MacOS, Windows, Linux.
Почему стоит выбрать WireGuard
- 1. Простота использования. WireGuard легко и быстро настраивается, поэтому он подходит как для опытных пользователей, так и для новичков.
- 2. Безопасность. Протокол WireGuard использует современные алгоритмы шифрования для обеспечения безопасности передаваемых данных.
- 3. Высокая скорость. Благодаря своей легковесной архитектуре WireGuard обеспечивает высокую скорость передачи данных.
- 4. Надежность. WireGuard активно развивается и поддерживается сообществом разработчиков, что обеспечивает стабильную работу протокола.
- 5. Кроссплатформенность. WireGuard доступен для большинства операционных систем: Linux, Windows, macOS, Android и iOS.
Как заказать готовый VPN-сервер WireGuard
В Рег.ру вы можете заказать сервер с автоматической установкой WireGuard. Чтобы создать свой сервер WireGuard:
- 1 Перейдите на страницу заказа услуги.
-
2
Выберите регион размещения сервера:
-
3
В блоке «Образы» перейдите на вкладку Приложения и панели управления и выберите образ WireGuard:
-
4
Выберите подходящий вам тарифный план:
-
5
Нажмите Заказать сервер:
Готово, вы заказали готовый WireGuard Linux-сервер. На ваш контактный email будет направлено письмо с доступами к серверу и веб-интерфейсу WireGuard:
Как открыть веб-интерфейс WireGuard
- 1 Перейдите в личный кабинет.
-
2
Нажмите на кнопку Рег.облако:
-
3
Нажмите Виртуальные серверы:
-
4
Напротив нужного сервера нажмите на монитор с шестеренкой (Открыть приложение):
-
5
На открывшейся странице введите логин и пароль из стартового письма. Затем нажмите Sign In:
Как работает WireGuard
Готово, вы авторизовались в WireGuard UI.
Как добавить нового клиента WireGuard
-
1
Перейдите в веб-интерфейс WireGuard и нажмите New Client:
-
2
Укажите имя клиента и email. Нажмите Sumbit:
-
3
Нажмите Apply Config:
-
4
Нажмите Apply:
-
5
После этого клиент будет создан. Вы сможете скачать конфигурационный файл, получить QR-код для подключения или отправить данные на email:
Готово, создание своего VPN-клиента завершено.
Как подключиться к WireGuard VPN
Windows
- 1 Установите приложение WireGuard. Скачать WireGuard-клиент можно на официальном сайте.
-
2
В веб-интерфейсе WireGuard скачайте конфигурационный файл клиента. Для этого нажмите Download:
- 3 Откройте приложение WireGuard.
-
4
Нажмите Импорт туннелей из файла и выберите скачанный ранее конфигурационный файл:
-
5
Нажмите кнопку Подключить:
Linux
Рассмотрим подключение на примере операционной системы Ubuntu:
-
1
Установите WireGuard с помощью команды:
sudo apt install wireguard
-
2
Сохраните конфигурационный файл по пути /etc/wireguard/wg0.conf или скачайте конфигурационный файл и скопируйте его содержимое в /etc/wireguard/wg0.conf с помощью команды:
cp your-config.conf /etc/wireguard/wg0.conf
где your-config.conf — имя конфигурационного файла.
-
3
Подключитесь к VPN через WireGuard c помощью команды:
wg-quick up wg0
iOS
- 1 Загрузите приложение WireGuard.
- 2 Откройте приложение и нажмите Добавить туннель.
-
3
Добавьте новый туннель для WireGuard одним из способов:
- Создать из файла или архива — добавление туннеля при помощи скачанного конфигурационного файла,
- Создать из QR-кода — добавление туннеля при помощи сканирования QR-кода,
- Создать с нуля — добавление туннеля вручную:
-
4
Затем у вас будет запрошено разрешение на добавление конфигураций VPN. Нажмите Разрешить:
-
5
Чтобы подключиться к VPN, переведите переключатель в положение ON:
Android
- 1 Загрузите приложение WireGuard.
-
2
Откройте приложение и нажмите на кнопку +:
-
3
Добавьте новый туннель одним из способов:
- Импорт из файла или архива — добавление туннеля при помощи скачанного конфигурационного файла,
- Сканировать QR-код — добавление туннеля при помощи сканирования QR-кода,
- Создать с нуля — добавление туннеля вручную:
-
4
Чтобы подключиться к VPN, переведите переключатель в положение ON:
Как установить WireGuard вручную
Если вы хотите создать личный VPN-сервер вручную, следуйте инструкции по установке WireGuard, которая представлена ниже. Она подойдет для ОС Ubuntu 18.04, 20.04 и 22.04.
Установка и настройка WireGuard-сервера
-
1
Обновите список пакетов с помощью команды:
sudo apt update
-
2
Чтобы установить WireGuard, введите команду:
sudo apt install wireguard
-
3
Перейдите в директорию WireGuard с помощью команды:
cd /etc/wireguard/
-
4
Сгенерируйте пару ключей для подключения к VPN-серверу с помощью команды:
wg genkey | tee /etc/wireguard/server_privatekey | wg pubkey | tee /etc/wireguard/server_publickey
Команда wg genkey выполняет генерацию приватного ключа. Затем с помощью оператора пайп (|) ключ передается команде tee, которая сохраняет его в файле /etc/wireguard/server_privatekey и передает на вход команде wg pubkey. Команда wg pubkey, основываясь на полученном приватном ключе, генерирует публичный ключ и передает его через пайп следующей команде tee. Эта команда также сохраняет полученный ключ в файле /etc/wireguard/server_publickey и выводит его на экран терминала.
-
5
С помощью команды cat проверьте, добавлены ли сгенерированные ключи в файлы:
cat server_privatekey cat server_publickey
Если ключи сгенерированы успешно, вы увидите следующее:
Создание ключей при настройке сервера WireGuard
-
6
Далее необходимо настроить конфигурационный файл. Прежде чем приступить к настройке, определите имя своего сетевого интерфейса с помощью команды:
ip a
-
7
Чтобы поднять свой WireGuard VPN, перейдите к редактированию конфигурационного файла. Для этого введите команду:
sudo nano wg0.conf
-
8
Добавьте в конфигурационный файл следующие параметры:
[Interface] PrivateKey = <privatekey> # Приватный ключ из файла server_privatekey Address = 10.0.0.1/24 #Адрес VPN-сервера в частной сети ListenPort = 51830 #Порт, который будет слушать VPN-сервер PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o <interface> -j MASQUERADE PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o <interface> -j MASQUERADE
Вместо <privatekey> необходимо указать значение приватного ключа из файла /etc/wireguard/server_privatekey, а вместо <interface> — имя вашего сетевого интерфейса.
Сохраните изменения, нажав Ctrl+X+Y.
-
9
Настройте IP forwarding с помощью команды:
echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
-
10
Проверьте, внесены ли изменения, с помощью команды:
sysctl -p
Вывод должен быть следующим:
-
11
Настройте автоматический запуск WireGuard VPN Server с помощью команды:
systemctl enable wg-quick@wg0.service
-
12
Запустите собственный VPN-сервер с помощью команды:
systemctl start wg-quick@wg0.service
-
13
Проверьте корректность работы сервера с помощью команды:
systemctl status wg-quick@wg0.service
Если сервер для WireGuard запущен успешно, вы увидите статус active:
Настройка WireGuard VPN
Настройка клиентской части WireGuard
-
1
Создайте пары ключей для подключения клиента к VPN с помощью команды:
wg genkey | tee /etc/wireguard/user1_privatekey | wg pubkey | tee /etc/wireguard/user1_publickey
Важно
Имена файлов с ключами должны быть уникальными для каждого клиента.
-
2
С помощью команды cat проверьте, добавлены ли сгенерированные ключи в файлы:
cat user1_privatekey cat user1_publickey
-
3
Откройте конфигурационный файл с помощью команды:
nano wg0.conf
-
4
Добавьте в конфигурационный файл следующие параметры:
[Peer] PublicKey = <pubickey> #Публичный ключ клиента AllowedIPs = <allowedip> #IP-адрес в частной сети, который будет присвоен клиенту
Вместо <pubickey> укажите публичный ключ, сгенерированный для клиента. Вместо <allowedip> укажите IP-адрес из того же диапазона, что был указан для сервера. Например, если для сервера был указан диапазон 10.0.0.1/24, вы можете указать IP-адрес 10.0.0.2.
Сохраните изменения, нажав Ctrl+X+Y.
-
5
После внесения изменений перезагрузите сервер WireGuard:
systemctl restart wg-quick@wg0
-
6
Проверьте корректность работы сервера с помощью команды:
systemctl status wg-quick@wg0.service
Если сервер запущен успешно, вы увидите статус active:
-
7
Для подключения к серверу создайте конфигурационный файл клиента с расширением .conf и произвольным названием, например, wg.conf. Добавьте в файл следующие параметры:
[Interface] PrivateKey = <client_pivate_key> #Приватный ключ клиента Address = <client_ip> #IP-адрес клиента DNS = 8.8.8.8 [Peer] PublicKey = <server_public_key> #Публичный ключ сервера Endpoint = <server_ip>:51830 #IP-адрес сервера и порт AllowedIPs = 0.0.0.0/0 PersistentKeepalive = 20
Где:
- <client_pivate_key> — приватный ключ клиента, который хранится в файле /etc/wireguard/user1_privatekey,
- <client_ip> — IP-адрес клиента, который был указан в конфигурационном файле сервера в параметре «AllowedIPs»,
- <server_public_key> — публичный ключ сервера, который хранится в файле /etc/wireguard/server_publickey,
- <server_ip> — IP-адрес вашего сервера.
- 8 Подключитесь к VPN по инструкции.
Готово, настройка VPN-сервера на базе WireGuard завершена.
Помогла ли вам статья?
Спасибо за оценку. Рады помочь 😊