it:server:openvpn

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Následující verze
Předchozí verze
it:server:openvpn [2024/06/01 21:44] – vytvořeno Petr Nosekit:server:openvpn [2025/03/08 08:48] (aktuální) Petr Nosek
Řádek 5: Řádek 5:
 Projekt se skriptem se jmenuje [[https://github.com/angristan/openvpn-install|openvpn-install]].  Projekt se skriptem se jmenuje [[https://github.com/angristan/openvpn-install|openvpn-install]]. 
  
 +Stažení je jednoduché:
 +
 +<code bash>
 +curl -O https://raw.githubusercontent.com/angristan/openvpn-install/master/openvpn-install.sh
 +chmod +x openvpn-install.sh
 +</code>
 +
 +A pak už jenom spustit:
 +
 +<code bash>
 +./openvpn-install.sh
 +</code>
 +
 +
 +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:
 +
 +<code bash>
 +#!/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            
 +</code>
 +
 +
 +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:
 +
 +<code>
 +[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
 +</code>
 +
 +A jako další vytvoří soubor pro spouštění vpnserveru **/etc/systemd/system/multi-user.target.wants/openvpn@server.service**.
 +
 +
 +
 +Dále mi ve složce **/etc/openvpn** vytvořil konfigurační soubor **server.conf**. 
 +
 +Pokud chci zařídit, aby po připojení k VPN nešel internet přes VPN server, tak je potřeba v konfiguračním souboru serveru zakomentovat tento řádek:
 +
 +<code>
 +#push "redirect-gateway def1 bypass-dhcp"
 +</code>
 +
 +
 +Dále je možné mít klidně více instancí OpenVPN serveru. Stačí zkopírovat konfigurační soubor server.conf a vytvořit například **server2.conf**. V souboru editovat vše potřebné a poté spustit další instanci serveru:
 +
 +<code>
 +openvpn --config server2.conf
 +</code>
 +
 +
 +
 +===== Nastavení DNS serveru pro OpenVPN =====
 +
 +Při konfiguraci OpenVPN serveru je možné nastavit, jaký DNS server bude klient používat po připojení. To se provádí přidáním následujícího řádku do konfigurace OpenVPN serveru:
 +
 +<code>
 +push "dhcp-option DNS 192.168.1.50"
 +</code>
 +
 +Tento příkaz zajistí, že klient po připojení použije DNS server s IP adresou **192.168.1.50**. Lze přidat i více DNS serverů, přičemž první uvedený bude primární.
 +
 +Po připojení přes OpenVPN jsem ověřil nastavení DNS serveru pomocí příkazu:
 +
 +<code bash>
 +resolvectl status
 +</code>
 +
 +Výstup tohoto příkazu zobrazil aktuálně používané DNS servery, což umožňuje ověřit, zda se změna správně projevila.
  
  • it/server/openvpn.1717278280.txt.gz
  • Poslední úprava: 2024/06/01 21:44
  • autor: Petr Nosek