OpenVPN in Debian Server

Используйте wget для загрузки скрипта
  1. Easy-rsa
  2. Config Server tcp 1194 | Server udp 1194

    В Скрипте это прописано. Уточнение по nft.

    For tcp 1194

    
    PORT=1194
    ETH=ens18
    PROTO=tcp
    
    /sbin/nft add table inet filter
    /sbin/nft add chain inet filter input {type filter hook input priority 0\;}
    /sbin/nft add table ip nat
    /sbin/nft add chain nat postrouting { type nat hook postrouting priority 0\; }
    
    /sbin/nft add rule inet filter input $PROTO dport $PORT counter accept
    /sbin/nft add rule ip nat postrouting oif $ETH masquerade 
    
    /sbin/nft list ruleset
    

    Более строго!!Маскарадинг только для клиентов OpenVPN

    cat /etc/nftables.conf

    table ip nat {
        chain postrouting {
            type nat hook postrouting priority filter; policy accept;
    
            # Маскарадинг только для клиентов OpenVPN (tun0 -> выход через ens18)
            ip saddr 172.31.31.0/24 oif "ens18" masquerade comment "Masquerade VPN clients only"
        }
    }
    
  3. Downlload Config tcp: Client in 5 Files | Client In One file
  4. Downlload Config udp: Client in 5 Files | Client In One file

    В файле указать:


    имя клиента указать после имени скрипта
  5. Дать доступ клиенту к сетям за сервером

    cat /etc/openvpn/ccd/Ivan

    # disable
    push "route 10.0.2.0   255.255.255.0"
    push "route 10.0.0.0   255.255.255.0"
    push "route 10.0.255.0 255.255.255.0"
    

    Не забыть $ETH для других сетевых карт

    /sbin/nft add rule ip nat postrouting oif $ETH masquerade

    Шлюз на другие сетевых картах не нужно добавлять

  6. Проверить синтакчис конфигурационного файла

    openvpn --config /etc/openvpn/server.conf --verb 3

    Gate

    На шлюзе не забыть добавить в /etc/nftables.conf
    chain forward {
                    udp dport  1194  counter accept
    	...
    chain PREROUTING {
                    iif "vmbr0" udp dport 1194 counter dnat to 172.16.2.5:1194
    ...
    
    и перечитать файл

    nft -f /etc/nftables.conf


    Windows client

    Bat файл для запуска

    Задать переменные

    set OVPN_PROFILE=Osipenko_04_2025.ovpn

    set RDP_SERVER=10.10.10.3

    Download

    Запретить сохранять пароль на клиенте

    REG ADD "HKLM\Software\OpenVPN" /v "disable_save_passwords" /t REG_DWORD /d 1 /f

    0 - резрешить сохранять пароль 1 - запретить сохранять пароль

    Закрыть/открыть OpenVPN GUI


    Client Debain

    Add info


    Expamle config

    Server UDP | Server TCP | Client UDP TCP