User Tools

Site Tools


networking:openvpn_howto

Differences

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

Link to this comparison view

Next revision
Previous revision
networking:openvpn_howto [2014/10/13 16:28]
ww created
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 +===== 2. Nastavení serveru (Linux) ===== 
-  # . ./vars + 
-  # ./build-key newclient+  server 172.17.255.0 255.255.255.0 
 +  port 1194 
 +  proto udp 
 +   
 +  topology subnet 
 +   
 +  dev tun 
 +   
 +  user nobody 
 +  group nogroup 
 +   
 +  persist-key 
 +  persist-tun 
 +   
 +  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 
 +  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>
      
-==== 1.4. Diffie-Hellman ==== 
-  # ./build-dh 
  
-==== 1.5. Umístění souborů ==== +===== 3Nastavení klientů (Windows) =====
-  - 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íč)+
  
-===== 2Nastavení serveru (Linux) =====+  client 
 +   
 +  dev tun 
 +  dev-node tap0 <-- název síťového připojení musí být "tap0" 
 +   
 +  <connection> 
 +  remote <server-hostname> 1194 udp 
 +  </connection> 
 +  nobind 
 +   
 +  resolv-retry infinite 
 +  persist-key 
 +  persist-tun 
 +  auth-nocache 
 +   
 +  remote-cert-tls server 
 +  cipher AES-256-GCM 
 +   
 +  log "..\\log\\<firma>-<username>log" 
 +  verb 3 
 +  mute 10 
 +   
 +  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
  
-  # port 1194 ++ přidat do konfiguráku serveru: 
-  # proto udp +  crl-verify /etc/openvpn/<nazevfirmy>/pki/crl.pem
-  # dev tun +
-  #  +
-  # ca /etc/openvpn/keys/{název-vpn}/ca.crt +
-  # cert /etc/openvpn/keys/{název-vpn}/server.crt +
-  # 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-tun +
-  # status openvpn-status.log +
-  # verb 3 +
- +
-===== Nastavení klientů (Windows) =====+
  
-  # client +Po zneplatnění je potřeba restartovat OpenVPN server: 
-  #  +  systemctl restart openvpn@<mujserver>.service
-  # dev tun +
-  # dev-node tap0 <-- název síťového připojení musí být "tap0" +
-  # proto udp +
-  #  +
-  # remote {server-hostname} 1194 +
-  #  +
-  # resolv-retry infinite +
-  # nobind +
-  # persist-key +
-  # persist-tun +
-  #  +
-  # ca "C:\\Program Files\\OpenVPN\\keys\\{název-vpn}\\ca.crt" +
-  # cert "C:\\Program Files\\OpenVPN\\keys\\{název-vpn}\\clientX.crt" +
-  # key "C:\\Program Files\\OpenVPN\\keys\\{název-vpn}\\clientX.key" +
-  #  +
-  # ns-cert-type server +
-  # comp-lzo +
-  # verb 3 +
-  #  +
-  # log "C:\\Program Files\\OpenVPN\\log\\{název-vpn}.log"+
networking/openvpn_howto.1413210537.txt.gz · Last modified: 2022/03/16 09:38 (external edit)