
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 -yInicializace Easy-RSA (vytvoření PKI infrastruktury)
Easy-RSA slouží ke správě certifikátů a klíčů:
make-cadir ~/openvpn-ca
cd ~/openvpn-caInicializace prostředí:
./easyrsa init-pki
./easyrsa build-caZadej 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 serverVytvoření Diffie-Hellman parametrů a HMAC klíče
./easyrsa gen-dh
openvpn --genkey --secret ta.keyKonfigurace 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.confUprav konfigurační soubor:
sudo nano /etc/openvpn/server.confDoporuč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-GCMPovol NAT a IP forwarding
Uprav sysctl:
sudo nano /etc/sysctl.confOdkomentuj nebo přidej:
net.ipv4.ip_forward=1Aplikuj změny:
sudo sysctl -pNastav 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 saveSpuštění a povolení služby
sudo systemctl start openvpn-server@server
sudo systemctl enable openvpn-server@server
sudo systemctl status openvpn-server@serverVytvoření klientského certifikátu
cd ~/openvpn-ca
./easyrsa gen-req client1 nopass
./easyrsa sign-req client client1Vygeneruj konfigurační soubor klienta (client1.ovpn):
sudo cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf ~/client1.ovpnUprav:
remote tvoje_domena_nebo_IP 1194
proto udp
dev tun
cipher AES-256-GCM
auth SHA256A 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.