Настройка WireGuard в Ubuntu

Ставим wireguard на сервере:

Генерим ключи сервера:

Проставляем права на приватный ключ:

С помощью «ip a» проверим название интерфейса (enp0s3) и создадим для него конфиг:

Включаем IP форвардинг:

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

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

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

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

Клиент

На локальной машине (например, на ноутбуке) создаём текстовый файл с конфигом клиента:

Здесь <CLIENT-PRIVATE-KEY> заменяем на приватный ключ клиента, то есть содержимое файла /etc/wireguard/goloburdin_privatekey на сервере. <SERVER-PUBKEY> заменяем на публичный ключ сервера, то есть на содержимое файла /etc/wireguard/publickey на сервере. <SERVER-IP> заменяем на IP сервера.

Ограничение скорости на сервере

Outbound limit:

Inbound limit:
Создаём и запускаем ifb интерфейс inbound0:

Направляем пакеты с wireguard в этот интерфейс:

отдельный HFSC qdisc для ifb интерфейса и ограничение всего траффика 10Мбит:

Расширенное ограничение (взамен предыдущих двух строк):

Максималка – 50mbit, И 2 дочерних класса:
1) Для https скорость – 5mbit (фильтры ниже)
2) по умолчанию скорость – 45mbit (19)

Фильтры https для ip 10.0.0.6:

Настройка OpenVPN в Ubuntu

На сервере Openvpn

На сервере CA

В каталоге EasyRSA Создать файл «vars»

Создать корневой сертификат и сертификат для OpenVPN:
(Для второго понадобится passphrase от первого)

dh.pem сертификат нужно создать, даже если он не будет использоваться:

На сервере OpenVPN

Скопировать файлы сертификатов в каталог Openvpn:

Создать /etc/openvpn/server.conf:

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

Проверка:

Создание клиентов на сервере Openvpn

На сервере CA
Создать ключ клиента и скопировать его на сервер OpenVPN (команда ниже):

На сервере OpenVPN:

Создать шаблон конфига ~/client-configs/base.conf:

Скопировать ключи клиента и ca:

Создать скрипт создания конфига ~/client-configs/make_config.sh:
(добавление tls закоментировано)

Сделать файл исполняемым, созданный client.ovpn использовать на клиенте: