Установка и настройка WireGuard VPN

WireGuard — это современный VPN-протокол с открытым исходным кодом, который стремится быть быстрее, проще, легче и полезнее, чем более старые протоколы, при этом обеспечивая высокий уровень безопасности. В этой статье будет описана установка и настройка WireGuard на сервере на базе kubuntu и подключение к нему клиента. Более подробная информацию по wireguard.

Установка серверной части

Прежде всего, вам необходимо установить WireGuard на сервер. WireGuard доступен в стандартных репозиториях, поэтому установка происходит довольно просто:

sudo apt update
sudo apt install wireguard iptables

Эти команды установят все необходимые компоненты WireGuard.

Генерация ключей на сервере

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

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

Настройка WireGuard на сервере

Для настройки сервера создайте конфигурационный файл в `/etc/wireguard/`, например `wg0.conf`, и добавьте следующее содержимое:

[Interface]
Address = 10.0.0.1/24
SaveConfig = true
ListenPort = 51820
PrivateKey = <ваш приватный ключ>

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

[Peer]
PublicKey = <публичный ключ клиента>
AllowedIPs = 10.0.0.2/32

Замените `<ваш приватный ключ>` на реальный приватный ключ сервера, который вы сгенерировали ранее, а `eth0` — на имя вашего внешнего интерфейса.

Включение IP-преобразования

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

echo 'net.ipv4.ip_forward=1' | sudo tee /etc/sysctl.d/99-sysctl.conf
sudo sysctl -p

Запуск сервера WireGuard

Чтобы начать работу WireGuard, используйте следующую команду:

wg-quick up wg0

Для автоматического запуска WireGuard при старте системы, включите его в systemd:

systemctl enable wg-quick@wg0

Настройка клиента

На стороне клиента вам также предстоит сгенерировать ключевую пару и создать конфигурационный файл. Установка WireGuard на клиенте происходит так же, как и на сервере:

sudo apt update
sudo apt install wireguard

Генерация ключей на клиенте

wg genkey | tee privatekey | wg pubkey > publickey

Конфигурация клиента

Создайте файл `wg0-client.conf` со следующим содержанием:

[Interface]
PrivateKey = <ваш приватный ключ клиента>
Address = 10.0.0.2/32
DNS = 1.1.1.1

[Peer]
PublicKey = <публичный ключ сервера>
AllowedIPs = 0.0.0.0/0
Endpoint = <IP_сервера>:51820
PersistentKeepalive = 25

После замены `<ваш приватный ключ клиента>` и `<публичный ключ сервера>` на соответствующие значения, а также `` на внешний IP-адрес вашего сервера, конфигурация клиента будет завершена.

Для подключения к VPN используйте приведенную команду:

wg-quick up wg0-client

Если вы хотите, чтобы VPN запускался при старте системы, используйте systemd:

systemctl enable --now wg-quick@wg0-client

Теперь у вас должен быть рабочий VPN-сервер на базе WireGuard и клиент, подключенный к нему.

Отправить комментарий

CAPTCHA на основе изображений
Введите цифры