У ВСЕХ КЛИЕНТОВ ИСПОЛЬЗОВАТЬ РАЗНЫЕ ПОРТЫ!!!
Нарпимер, сеть за сервером OpenVPN: 10.0.0.0 255.255.255.0
push "route 10.0.0.0 255.255.255.0"
#Сделать доступной сеть за Сервером OpenVPN
push "redirect-gateway def1 bypass-dhcp" push "dhcp-option DNS 208.67.222.222" push "dhcp-option DNS 208.67.220.220" |
Например, сеть у клиенов: 192.168.1.0 255.255.255.0
route 192.168.1.0 255.255.255.0
#Сделать доступной сеть за Клиентом
В Скрипте это прописано. Уточнение по 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 |
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" } } |
В файле указать:
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
Шлюз на другие сетевых картах не нужно добавлять
openvpn --config /etc/openvpn/server.conf --verb 3
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
Задать переменные
set OVPN_PROFILE=Osipenko_04_2025.ovpn
set RDP_SERVER=10.10.10.3
REG ADD "HKLM\Software\OpenVPN" /v "disable_save_passwords" /t REG_DWORD /d 1 /f
Закрыть/открыть OpenVPN GUI