User Tools

Site Tools


networking:openvpn_howto

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

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 ''/usr/share/doc/openvpn/examples/easy-rsa/2.0''+  - Stáhnout Easy-RSA ([[https://github.com/OpenVPN/easy-rsa/releases|odkaz]])
-  - Upravit soubor ''vars'', nastavit ''KEY_COUNTRY''''KEY_PROVINCE''''KEY_CITY'', ''KEY_ORG'' a ''KEY_EMAIL''.+  - Zkopírovat soubor ''vars.example'' do souboru ''vars'' a upravit. 
 +      - Volitelně eliptické křivky: 
 +          - ''set_var EASYRSA_ALGO ec'' 
 +          - ''set_var EASYRSA_CURVE secp384r1''
  
-  # . ./vars +  # ./easyrsa init-pki 
-  # ./clean-all +  # ./easyrsa build-ca nopass 
-  # ./build-ca+  # ./easyrsa build-server-full <nazevserveru> nopass 
 +  # ./easyrsa build-client-full <jmenoklienta> nopass 
 +  # ./easyrsa gen-dh
  
-==== 1.2. Klíč serveru ==== +==== 1.2. PKI - umístění souborů ==== 
-  ./build-key-server server+  - server: 
 +    - ''pki/ca.crt'' 
 +    - ''pki/private/<nazevserveru>.key'' 
 +    ''pki/issued/<nazevserveru>.crt'' 
 +    - ''pki/dh.pem'' 
 +  - klient: 
 +    - ''pki/ca.crt'' 
 +    - ''pki/private/<jmenoklienta>.key'' 
 +    ''pki/issued/<jmenoklienta>.crt''
  
-==== 1.3. Klíče klientů ==== +==== 1.3. TLS auth ==== 
-  # ./build-key client1 +  openvpn --genkey secret ta.key
-  # ./build-key client2 +
-  # ... +
-   +
-Přidání dalších klientů +
- +
-  # cd easy-rsa +
-  # . ./vars +
-  # ./build-key newclient +
-   +
-==== 1.4. Diffie-Hellman ==== +
-  # ./build-dh +
- +
-==== 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, privátní klíč) +
-  - clientX.crt, clientX.key -> klient X (certifikát, privátní klíč)+
  
 ===== 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
      
-  ca /etc/openvpn/keys/{název-vpn}/ca.crt +  user nobody 
-  cert /etc/openvpn/keys/{název-vpn}/server.crt +  group nogroup
-  key /etc/openvpn/keys/{název-vpn}/server.key +
-  dh /etc/openvpn/keys/{název-vpn}/dh2048.pem+
      
-  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
-  status openvpn-status.log+   
 +  remote-cert-tls client 
 +  cipher AES-256-GCM 
 +   
 +  #client-to-client 
 +  #push "route 192.168.X.0 255.255.255.0 172.17.Y.Z" 
 +   
 +  # ifconfig-pool-persist ipp.txt 
 +   
 +  keepalive 10 120 
 +   
 +  log /var/log/openvpn/<mujserver>.log
   verb 3   verb 3
 +  mute 10
 +  
 +  ca       [inline]
 +  cert     [inline]
 +  key      [inline]
 +  dh       [inline]
 +  tls-auth [inline]
 +  key-direction 0
 +  
 +  <cert>
 +  -----BEGIN CERTIFICATE-----
 +  ...
 +  -----END CERTIFICATE-----
 +  </cert>
 +  
 +  <key>
 +  -----BEGIN PRIVATE KEY-----
 +  ...
 +  -----END PRIVATE KEY-----
 +  </key>
 +  
 +  <ca>
 +  -----BEGIN CERTIFICATE-----
 +  ...
 +  -----END CERTIFICATE-----
 +  </ca>
 +  
 +  <dh>
 +  -----BEGIN DH PARAMETERS-----
 +  ...
 +  -----END DH PARAMETERS-----
 +  </dh>  
 +  
 +  <tls-auth>
 +  -----BEGIN OpenVPN Static key V1-----
 +  ...
 +  -----END OpenVPN Static key V1-----
 +  </tls-auth>
 +  
  
 ===== 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 "tap0"   dev-node tap0 <-- název síťového připojení musí být "tap0"
-  proto udp 
      
-  remote {server-hostname1194+  <connection> 
 +  remote <server-hostname1194 udp 
 +  </connection> 
 +  nobind
      
   resolv-retry infinite   resolv-retry infinite
-  nobind 
   persist-key   persist-key
   persist-tun   persist-tun
 +  auth-nocache
      
-  ca "C:\\Program Files\\OpenVPN\\keys\\{název-vpn}\\ca.crt" +  remote-cert-tls server 
-  cert "C:\\Program Files\\OpenVPN\\keys\\{název-vpn}\\clientX.crt" +  cipher AES-256-GCM
-  key "C:\\Program Files\\OpenVPN\\keys\\{název-vpn}\\clientX.key"+
      
-  ns-cert-type server +  log "..\\log\\<firma>-<username>log"
-  comp-lzo+
   verb 3   verb 3
 +  mute 10
      
-  log "C:\\Program Files\\OpenVPN\\log\\{název-vpn}.log"+  ca       [inline] 
 +  cert     [inline] 
 +  key      [inline] 
 +  tls-auth [inline] 
 +  key-direction 1 
 +   
 +  <cert> 
 +  -----BEGIN CERTIFICATE----- 
 +  ... 
 +  -----END CERTIFICATE----- 
 +  </cert> 
 +   
 +  <key> 
 +  -----BEGIN PRIVATE KEY----- 
 +  ... 
 +  -----END PRIVATE KEY----- 
 +  </key> 
 +   
 +  <ca> 
 +  -----BEGIN CERTIFICATE----- 
 +  ... 
 +  -----END CERTIFICATE----- 
 +  </ca> 
 +   
 +  <tls-auth> 
 +  -----BEGIN OpenVPN Static key V1----- 
 +  ... 
 +  -----END OpenVPN Static key V1----- 
 +  </tls-auth> 
 + 
 +===== 4. Výpis zneplatněných certifikátů ===== 
 +  grep "^R" /etc/openvpn/<nazevfirmy>/pki/index.txt 
 + 
 +===== 5. Zneplatnění certifikátu ===== 
 +  ./easyrsa revoke <jmenoklienta> 
 +  EASYRSA_CRL_DAYS=3650 ./easyrsa gen-crl 
 + 
 ++ přidat do konfiguráku serveru: 
 +  crl-verify /etc/openvpn/<nazevfirmy>/pki/crl.pem 
 + 
 +Po zneplatnění je potřeba restartovat OpenVPN server: 
 +  systemctl restart openvpn@<mujserver>.service
networking/openvpn_howto.1420846689.txt.gz · Last modified: 2022/03/16 09:38 (external edit)