Схема следующа. OpenVPN-сервер находится в РФ, к нему подключаютсся клиенты, а также шлюз, через который идёт весь трафик. Обязательно использование режима DCO (Data channel offloading) для OpenVPN-интерфейсов клиента и шлюза, т.к. при включении этого режима производительность увеличивается драматически. Поэтому использование готовых скриптов типа github/angristan нам не подходит, будем поднимать всё ручками. Для начала нам нужно два сервера - в РФ и в забугорище. Оба подготавливаем идентично: ``` apt update && apt dist-upgrade -y ``` Если произошёл апгрейд ядра, нужно обязательно перезагрузиться, т.к. в дальнейшем мы будем устанавливать расширения ядра. ``` reboot ``` Когда перезагрузились, устанавливаем необходимые пакеты: ``` apt install -y openvpn openvpn-dco-dkms easy-rsa ``` Далее включаем модуль openvpn-dco: ``` modprobe ovpn-dco-v2 ``` Проверяем, включилось ли: ``` lsmod | grep ovpn ``` Если вывод пуст, разбираемся. Если вывод что-то типа > ovpn_dco_v2 86016 0 > ip6_udp_tunnel 16384 1 ovpn_dco_v2 > udp_tunnel 32768 1 ovpn_dco_v2 То всё хорошо, можно примменять на постоянку: ``` echo "ovpn-dco-v2" | sudo tee -a /etc/modules ``` ``` update-initramfs -u -k all ``` ``` ip -details link show dev tun0 ```