java практика: виртуальная частная сеть
java практика сайт
ссылка на github

ВИРТУАЛЬНАЯ ЧАСТНАЯ СЕТЬ

Краткий гайд по настройке wireguard на своем сервере.

Обновляем пакеты на сервере

apt update && apt upgrade -y

Устанавливаем wireguard

apt install -y wireguard

Генерируем ключи wireguard-сервера

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

Сгенерированные публичный и приватный ключи будут сохранены в соответствующих файлах

/etc/
  wireguard/
    privatekey
    publickey

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

ip a

Скорее всего сетевой интерфейс будет eth0.

Создаем конфиг для сетевого интерфейса

vim /etc/wireguard/wg0.conf

Выглядеть он будет так:

Виртуальная частная сеть, создаем конфиг для wireguard

Файл с конфигурацией wireguard-сервера находится в этой же папке

/etc/
  wireguard/
    privatekey
    publickey
    wg0.conf

В примере в строках PostUp и PostDown использован сетевой интерфейс eth0 (у Вас может быть и другой). Вставляем вместо [privatekey] содержимое файла /etc/wireguard/privatekey.

Настраиваем ip форвардинг:

$ echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf

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

systemctl enable wg-quick@wg0.service 
systemctl start wg-quick@wg0.service 
systemctl status wg-quick@wg0.service 

Создаем ключи клиента:

wg genkey | tee /etc/wireguard/client_privatekey | wg pubkey | tee /etc/wireguard/client_publickey

Они появляются в каталоге

/etc/
  wireguard/
    client_privatekey
    client_publickey
    privatekey
    publickey
    wg0.conf

Добавляем в конфиг сервера клиента:

vim /etc/wireguard/wg0.conf

Запись клиента

[Peer]
PublicKey = [client_publickey]
AllowedIPs = 10.0.0.2/32

Вставляем вместо [client_publickey] содержимое файла /etc/wireguard/client_publickey.

Выглядеть, в итоге, он будет так:

Виртуальная частная сеть, добавляем в конфиг клиента

Перезагружаем systemctl сервис с wireguard

systemctl restart wg-quick@wg0
systemctl status wg-quick@wg0

На ЛОКАЛЬНОЙ машине (клиенте) создаем текстовый файл с конфигом клиента

$ vim client_wb.conf
[Interface]
PrivateKey = [client_privatekey]
Address = 10.0.0.2/32
DNS = 8.8.8.8

[Peer]
PublicKey = [publickey]
Endpoint = [server-ip]:51830
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 20

Вставляем вместо [client_privatekey] содержимое файла /etc/wireguard/client_privatekey, вместо [publickey] - /etc/wireguard/publickey, [server-ip] заменяем на ip сервера.

Этот конфигурационный файл открываем в wireguard-клиенте телефона или компьютера.

Например, в Ubuntu это выглядит так: Заходим в "Настройки", далее "Сеть". Нажимаем "+", чтобы добавить "VPN". Выбираем "Импортировать из файла".

Добавление конфигурации vpn на ubuntu1

Находим созданный ранее Вами файл с конфигурацией клиента и открываем его.

Добавление конфигурации vpn на ubuntu2

Можно включать и использовать.

Добавление конфигурации vpn на ubuntu3

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

wg show