OpenVPN to szybki, popularny program typu open source do tworzenia VPN (Virtual Private Network). Wykorzystuje protokoły transmisji TCP i UDP, a tunele VPN są zabezpieczone protokołem OpenVPN z uwierzytelnianiem SSL / TLS, certyfikatami, poświadczeniami i opcjonalnie blokadą adresu MAC, a także uwierzytelnianiem wieloskładnikowym.
Instalacja serwera Open VPN jest bardzo prosta. Wszystko dobrze krok po kroku opisuje ta strona .
Po instalacji należy skonfigurować konta użytkowników lecz najpierw należy się upewnić czy porty 1194 UDP i 943 TCP są otwarte. VPN głównie korzysta z UDP gdyż jest szybszy.
sudo bash openvpn-install.sh
Po skonfigurowaniu konta użytkownika. Plik konfiguracji klienta zostanie zapisany w /home/user/.
Mozna go pobrac przy użyciu sftp:// i skopiować do np. Nextclouda. Kazdy uzytkownik instaluje na swoim urządzeniu kleinta OpenVPN (windows/mac/android) i wklada plik z Nextclouda.
Konfiguracja pliku /etc/openvpn/server.conf dla Pi-Hole
port 1194
proto udp
dev tun
user nobody
group nogroup
persist-key
persist-tun
keepalive 10 120
topology subnet
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "route 10.8.0.1 255.255.255.255"
push "route 10.8.0.0 255.255.255.0"
push "route 192.168.0.0 255.255.255.0"
push "dhcp-option DNS 192.168.0.12"
push "dhcp-option DNS 10.8.0.1"
#push "dhcp-option DNS 8.8.4.4"
push "redirect-gateway def1"
dh none
ecdh-curve prime256v1
tls-crypt tls-crypt.key 0
crl-verify crl.pem
ca ca.crt
cert server_S8nirNO1V9tLQ02F.crt
key server_S8nirNO1V9tLQ02F.key
auth SHA256
cipher AES-128-GCM
ncp-ciphers AES-128-GCM
tls-server
tls-version-min 1.2
tls-cipher TLS-ECDHE-ECDSA-WITH-AES-128-GCM-SHA256
client-config-dir /etc/openvpn/ccd
status /var/log/openvpn/status.log
verb 1
Wazne takze jest aby wlaczyc obsluge wszystkich interfejsow dla Pi-Hole