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/03/02 21:58]
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 [inline] +  user nobody 
-  cert [inline] +  group nogroup
-  key [inline] +
-  dh /etc/openvpn/keys/{název-vpn}/dh2048.pem  +
      
-  <ca> +  persist-key 
-  -----BEGIN CERTIFICATE----- +  persist-tun 
-  ... +   
-  -----END CERTIFICATE----- +  remote-cert-tls client 
-  </ca>+  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 
 +  mute 10 
 +   
 +  ca       [inline] 
 +  cert     [inline] 
 +  key      [inline] 
 +  dh       [inline] 
 +  tls-auth [inline] 
 +  key-direction 0
      
   <cert>   <cert>
Line 66: Line 79:
   </key>   </key>
      
-  server 10.0.1.0 255.255.255.0 +  <ca> 
-  ifconfig-pool-persist ipp.txt +  -----BEGIN CERTIFICATE----- 
-  client-to-client +  ... 
-  keepalive 10 120 +  -----END CERTIFICATE----- 
-  comp-lzo +  </ca> 
-  persist-key +   
-  persist-tun +  <dh> 
-  status openvpn-status.log +  -----BEGIN DH PARAMETERS----- 
-  verb 3+  ..
 +  -----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 82: 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 [inline] +  remote-cert-tls server 
-  cert [inline] +  cipher AES-256-GCM
-  key [inline]+
      
-  <ca+  log "..\\log\\<firma>-<username>log" 
-  -----BEGIN CERTIFICATE----- +  verb 3 
-  ... +  mute 10 
-  -----END CERTIFICATE----- +   
-  </ca>+  ca       [inline] 
 +  cert     [inline] 
 +  key      [inline] 
 +  tls-auth [inline] 
 +  key-direction 1
      
   <cert>   <cert>
Line 111: Line 138:
   ...   ...
   -----END PRIVATE KEY-----   -----END PRIVATE KEY-----
-  </key>"+  </key>
      
-  ns-cert-type server +  <ca> 
-  comp-lzo +  -----BEGIN CERTIFICATE----- 
-  verb 3+  ... 
 +  -----END CERTIFICATE----
 +  </ca>
      
-  log "C:\\Program Files\\OpenVPN\\log\\{název-vpn}.log"+  <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.1425329914.txt.gz · Last modified: 2022/03/16 09:38 (external edit)