it:server:openvpn

Toto je starší verze dokumentu!


OpenVPN

Pro servisní účely jsem potřeboval rychle rozběhnout OpenVPN. Nejprve jsem se docela trápil s nastavením konfiguračních souborů a certifikátů. Nicméně pak jsem objevil skript, který většinu věcí udělá za mě.

Projekt se skriptem se jmenuje openvpn-install.

Stažení je jednoduché:

curl -O https://raw.githubusercontent.com/angristan/openvpn-install/master/openvpn-install.sh
chmod +x openvpn-install.sh

A pak už jenom spustit:

./openvpn-install.sh

Zbytkem provede jednoduchý průvodce. Pokud chci vytvářet další uživatele a jejich certifikáty po instalaci, stačí skript spustit znovu a v nabídce se objeví možnost Add a client. Úplně stejně budu postupovat, pokud budu chtít vypnout nějakého klienta.

Skript mi vytvořil soubor */etc/iptables/add-openvpn-rules.sh*, ve kterém bylo nachystáno routování do vnitřní sítě. Nemusel jsem se tedy trápit s tím, že když se připojím do VPN sítě, tak se nedostanu do vnitřní sítě.

Tady je obsah souboru:

#!/bin/sh                                                           
iptables -t nat -I POSTROUTING 1 -s 10.8.0.0/24 -o wan -j MASQUERADE
iptables -I INPUT 1 -i tun0 -j ACCEPT                               
iptables -I FORWARD 1 -i wan -o tun0 -j ACCEPT                      
iptables -I FORWARD 1 -i tun0 -o wan -j ACCEPT                      
iptables -I INPUT 1 -i wan -p udp --dport 1194 -j ACCEPT            

Dále pak vytvoří soubor */etc/systemd/system/multi-user.target.wants/iptables-openvpn.service*, který nastavuje v systemd spouštění skriptu s iptables:

[Unit]
Description=iptables rules for OpenVPN
Before=network-online.target
Wants=network-online.target

[Service]
Type=oneshot
ExecStart=/etc/iptables/add-openvpn-rules.sh
ExecStop=/etc/iptables/rm-openvpn-rules.sh
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target

A jako další vytvoří soubor pro spouštění vpnserveru */etc/systemd/system/multi-user.target.wants/openvpn@server.service*.

  • it/server/openvpn.1717279776.txt.gz
  • Poslední úprava: 2024/06/01 22:09
  • autor: Petr Nosek