This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
networking:openvpn_howto [2015/01/10 00:38] ww |
networking:openvpn_howto [2022/03/16 09:39] (current) |
||
|---|---|---|---|
| Line 3: | Line 3: | ||
| ===== 1. Generování klíčů (Linux) ===== | ===== 1. Generování klíčů (Linux) ===== | ||
| - | ==== 1.1. Příprava ===== | + | ==== 1.1. PKI - příprava ===== |
| - | - Zkopírovat nástroje z adresáře '' | + | - Stáhnout Easy-RSA ([[https://github.com/OpenVPN/easy-rsa/releases|odkaz]]). |
| - | - Upravit | + | - Zkopírovat |
| + | - Volitelně eliptické křivky: | ||
| + | - '' | ||
| + | - '' | ||
| - | # . ./vars | + | # ./easyrsa init-pki |
| - | # ./clean-all | + | # ./easyrsa build-ca nopass |
| - | # ./build-ca | + | # ./easyrsa build-server-full < |
| + | # ./easyrsa | ||
| + | # ./easyrsa gen-dh | ||
| - | ==== 1.2. Klíč serveru | + | ==== 1.2. PKI - umístění souborů |
| - | | + | |
| + | - '' | ||
| + | - '' | ||
| + | | ||
| + | - '' | ||
| + | - klient: | ||
| + | - '' | ||
| + | - '' | ||
| + | | ||
| - | ==== 1.3. Klíče klientů | + | ==== 1.3. TLS auth ==== |
| - | | + | |
| - | # ./build-key client2 | + | |
| - | # ... | + | |
| - | + | ||
| - | Přidání dalších klientů | + | |
| - | + | ||
| - | # cd easy-rsa | + | |
| - | # . ./vars | + | |
| - | # ./build-key newclient | + | |
| - | + | ||
| - | ==== 1.4. Diffie-Hellman ==== | + | |
| - | # ./ | + | |
| - | + | ||
| - | ==== 1.5. Umístění souborů ==== | + | |
| - | - ca.crt -> všem (CA - certifikát) | + | |
| - | - ca.key -> server (CA - privátní klíč) | + | |
| - | - dh{n}.pem -> server | + | |
| - | - server.crt, server.key -> server (certifikát, | + | |
| - | - clientX.crt, | + | |
| ===== 2. Nastavení serveru (Linux) ===== | ===== 2. Nastavení serveru (Linux) ===== | ||
| - | + | server 172.17.255.0 255.255.255.0 | |
| port 1194 | port 1194 | ||
| proto udp | proto udp | ||
| + | | ||
| + | topology subnet | ||
| + | | ||
| dev tun | dev tun | ||
| | | ||
| - | | + | |
| - | | + | |
| - | key / | + | |
| - | dh / | + | |
| | | ||
| - | server 10.0.1.0 255.255.255.0 | ||
| - | ifconfig-pool-persist ipp.txt | ||
| - | client-to-client | ||
| - | keepalive 10 120 | ||
| - | comp-lzo | ||
| persist-key | persist-key | ||
| persist-tun | persist-tun | ||
| - | | + | |
| + | remote-cert-tls client | ||
| + | cipher AES-256-GCM | ||
| + | |||
| + | # | ||
| + | #push "route 192.168.X.0 255.255.255.0 172.17.Y.Z" | ||
| + | |||
| + | # ifconfig-pool-persist ipp.txt | ||
| + | |||
| + | keepalive 10 120 | ||
| + | |||
| + | log / | ||
| verb 3 | verb 3 | ||
| + | mute 10 | ||
| + | | ||
| + | ca | ||
| + | cert | ||
| + | key [inline] | ||
| + | dh | ||
| + | tls-auth [inline] | ||
| + | key-direction 0 | ||
| + | | ||
| + | < | ||
| + | -----BEGIN CERTIFICATE----- | ||
| + | ... | ||
| + | -----END CERTIFICATE----- | ||
| + | </ | ||
| + | | ||
| + | <key> | ||
| + | -----BEGIN PRIVATE KEY----- | ||
| + | ... | ||
| + | -----END PRIVATE KEY----- | ||
| + | </ | ||
| + | | ||
| + | <ca> | ||
| + | -----BEGIN CERTIFICATE----- | ||
| + | ... | ||
| + | -----END CERTIFICATE----- | ||
| + | </ca> | ||
| + | | ||
| + | <dh> | ||
| + | -----BEGIN DH PARAMETERS----- | ||
| + | ... | ||
| + | -----END DH PARAMETERS----- | ||
| + | </ | ||
| + | | ||
| + | < | ||
| + | -----BEGIN OpenVPN Static key V1----- | ||
| + | ... | ||
| + | -----END OpenVPN Static key V1----- | ||
| + | </ | ||
| + | | ||
| ===== 3. Nastavení klientů (Windows) ===== | ===== 3. Nastavení klientů (Windows) ===== | ||
| Line 64: | Line 104: | ||
| dev tun | dev tun | ||
| dev-node tap0 <-- název síťového připojení musí být " | dev-node tap0 <-- název síťového připojení musí být " | ||
| - | proto udp | ||
| | | ||
| - | remote | + | |
| + | | ||
| + | </ | ||
| + | nobind | ||
| | | ||
| resolv-retry infinite | resolv-retry infinite | ||
| - | nobind | ||
| persist-key | persist-key | ||
| persist-tun | persist-tun | ||
| + | auth-nocache | ||
| | | ||
| - | | + | |
| - | | + | |
| - | | + | |
| | | ||
| - | | + | |
| - | comp-lzo | + | |
| verb 3 | verb 3 | ||
| + | mute 10 | ||
| | | ||
| - | | + | |
| + | cert | ||
| + | key [inline] | ||
| + | tls-auth [inline] | ||
| + | key-direction 1 | ||
| + | |||
| + | < | ||
| + | -----BEGIN CERTIFICATE----- | ||
| + | ... | ||
| + | -----END CERTIFICATE----- | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | -----BEGIN PRIVATE KEY----- | ||
| + | ... | ||
| + | -----END PRIVATE KEY----- | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | -----BEGIN CERTIFICATE----- | ||
| + | ... | ||
| + | -----END CERTIFICATE----- | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | -----BEGIN | ||
| + | | ||
| + | -----END OpenVPN Static key V1----- | ||
| + | </ | ||
| + | |||
| + | ===== 4. Výpis zneplatněných certifikátů ===== | ||
| + | grep "^R" / | ||
| + | |||
| + | ===== 5. Zneplatnění certifikátu ===== | ||
| + | ./easyrsa revoke < | ||
| + | EASYRSA_CRL_DAYS=3650 ./easyrsa gen-crl | ||
| + | |||
| + | + přidat do konfiguráku serveru: | ||
| + | crl-verify / | ||
| + | |||
| + | Po zneplatnění je potřeba restartovat OpenVPN server: | ||
| + | systemctl restart openvpn@< | ||