
OpenVPN je open-source nástroj pro vytváření šifrovaných VPN tunelů mezi zařízeními. Umožňuje bezpečný vzdálený přístup do domácí nebo firemní sítě přes internet, šifruje přenášená data a chrání komunikaci před odposlechem.
Lze jej využít pro:
- vzdálený přístup k domácímu NAS, kamerám nebo serverům,
- bezpečné připojení do vlastní sítě odkudkoli,
- zabezpečení veřejného Wi-Fi připojení,
- propojení více sítí (site-to-site VPN).
Instalace OpenVPN na Raspberry Pi
Aktualizuj systém a nainstaluj potřebné balíčky:
sudo apt update && sudo apt upgrade -y
sudo apt install openvpn easy-rsa -y
Inicializace Easy-RSA (vytvoření PKI infrastruktury)
Easy-RSA slouží ke správě certifikátů a klíčů:
make-cadir ~/openvpn-ca
cd ~/openvpn-ca
Inicializace prostředí:
./easyrsa init-pki
./easyrsa build-ca
Zadej heslo a jméno certifikační autority (např. raspberrypi-vpn).
Vytvoření serverového certifikátu a klíče
./easyrsa gen-req server nopass
./easyrsa sign-req server server
Vytvoření Diffie-Hellman parametrů a HMAC klíče
./easyrsa gen-dh
openvpn --genkey --secret ta.key
Konfigurace OpenVPN serveru
Zkopíruj vzorový konfigurační soubor:
gunzip -c /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz | sudo tee /etc/openvpn/server.conf
Uprav konfigurační soubor:
sudo nano /etc/openvpn/server.conf
Doporučené úpravy:
port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh.pem
auth SHA256
user nobody
group nogroup
persist-key
persist-tun
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 1.1.1.1"
push "dhcp-option DNS 8.8.8.8"
keepalive 10 120
cipher AES-256-GCM
Povol NAT a IP forwarding
Uprav sysctl:
sudo nano /etc/sysctl.conf
Odkomentuj nebo přidej:
net.ipv4.ip_forward=1
Aplikuj změny:
sudo sysctl -p
Nastav NAT pravidlo:
sudo iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
sudo apt install iptables-persistent -y
sudo netfilter-persistent save
Spuštění a povolení služby
sudo systemctl start openvpn-server@server
sudo systemctl enable openvpn-server@server
sudo systemctl status openvpn-server@server
Vytvoření klientského certifikátu
cd ~/openvpn-ca
./easyrsa gen-req client1 nopass
./easyrsa sign-req client client1
Vygeneruj konfigurační soubor klienta (client1.ovpn):
sudo cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf ~/client1.ovpn
Uprav:
remote tvoje_domena_nebo_IP 1194
proto udp
dev tun
cipher AES-256-GCM
auth SHA256
A vlož do něj obsah certifikátů (ca.crt, client1.crt, client1.key, ta.key).
Nyní se můžeš připojit pomocí OpenVPN klienta (např. OpenVPN Connect, Tunnelblick nebo NetworkManager VPN).
Po spuštění VPN budeš bezpečně připojen do své domácí sítě přes šifrovaný tunel.