If you are using OpenVPN and need a windows client then there is a nice client at https://openvpn.net/client-connect-vpn-for-windows/
However it is difficult to use the normal sample client.conf provided with OpenVPN and it's better to have a client.ovpn file with the certificates all embedded
Easy RSA instructions for version 3
These are good easy to follow instructions: https://www.golinuxcloud.com/install-openvpn-server-easy-rsa-3-centos-7/
Sample client configuration files
Save these as a .ovpn
Client connecting to a server with username / password auth enabled
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 | client dev tun proto udp # remote server hostname or IP remote remote.example.com 1194 resolv-retry infinite nobind ns-cert-type server persist-key persist-tun # another example had these # lines but OpenVPN Connect chokes # on the [inline] option ;ca [inline] ;cert [inline] ;key [inline] verb 3 keepalive 10 900 inactive 3600 comp-lzo # if you have pam auth and don't have # auth-user-pass-optional then you need # to specify this to have the client # prompt for user name and password # this is for servers that both auth with cert # username / password auth-user-pass <ca> -----BEGIN CERTIFICATE----- ... 22 lines snipped -----END CERTIFICATE----- </ca> <cert> Certificate: Data: Version: 3 (0x2) Serial Number: 8 (0x8) Signature Algorithm: sha1WithRSAEncryption Issuer: C=AU, ST=NSW, L=Ringwood East, O=TGN-Ringwood East, OU=NSW, CN=remote.example.com/name=James McDonald/emailAddress=james@example.com Validity Not Before: May 4 13:35:33 2020 GMT Not After : May 2 13:35:33 2030 GMT Subject: C=AU, ST=NSW, L=Ringwood East, O=TGN, OU=Toggen, CN=tgn-lt01/name=James McDonald/emailAddress=james@toggen.com.au Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (1024 bit) Modulus: ... 9 lines snipped Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: CA:FALSE Netscape Comment: Easy-RSA Generated Certificate X509v3 Subject Key Identifier: ...snippped X509v3 Authority Key Identifier: keyid: ... snipped DirName:/C=AU/ST=NSW/L=Ringwood East/O=TGN-Ringwood East/OU=NSW/CN=remote.example.com/name=James McDonald/emailAddress=james@example.com serial: ... snipped X509v3 Extended Key Usage: TLS Web Client Authentication X509v3 Key Usage: Digital Signature Signature Algorithm: sha1WithRSAEncryption ... 8 lines snipped -----BEGIN CERTIFICATE----- ... 23 lines snipped -----END CERTIFICATE----- </cert> <key> -----BEGIN PRIVATE KEY----- ... 14 lines snipped -----END PRIVATE KEY----- </key> |
Client connecting with tls-auth
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 | ############################################## # Sample client-side OpenVPN 2.0 config file # # for connecting to multi-client server. # # # # This configuration can be used by multiple # # clients, however each client should have # # its own cert and key files. # # # # On Windows, you might want to rename this # # file so it has a .ovpn extension # ############################################## # Specify that we are a client and that we # will be pulling certain config file directives # from the server. client # Use the same setting as you are using on # the server. # On most systems, the VPN will not function # unless you partially or fully disable # the firewall for the TUN/TAP interface. ;dev tap dev tun # Windows needs the TAP-Win32 adapter name # from the Network Connections panel # if you have more than one. On XP SP2, # you may need to disable the firewall # for the TAP adapter. ;dev-node MyTap # Are we connecting to a TCP or # UDP server? Use the same setting as # on the server. ;proto tcp proto udp # The hostname/IP and port of the server. # You can have multiple remote entries # to load balance between the servers. remote remote.example.com 1194 ;remote my-server-2 1194 # Choose a random host from the remote # list for load-balancing. Otherwise # try hosts in the order specified. ;remote-random # Keep trying indefinitely to resolve the # host name of the OpenVPN server. Very useful # on machines which are not permanently connected # to the internet such as laptops. resolv-retry infinite # Most clients don't need to bind to # a specific local port number. nobind # Downgrade privileges after initialization (non-Windows only) ;user nobody ;group nobody # Try to preserve some state across restarts. persist-key persist-tun # If you are connecting through an # HTTP proxy to reach the actual OpenVPN # server, put the proxy server/IP and # port number here. See the man page # if your proxy server requires # authentication. ;http-proxy-retry # retry on connection failures ;http-proxy [proxy server] [proxy port #] # Wireless networks often produce a lot # of duplicate packets. Set this flag # to silence duplicate packet warnings. ;mute-replay-warnings # SSL/TLS parms. # See the server config file for more # description. It's best to use # a separate .crt/.key file pair # for each client. A single ca # file can be used for all clients. # ca ca.crt <ca> -----BEGIN CERTIFICATE----- ... 18 lines snipped -----END CERTIFICATE----- </ca> # cert client.crt <cert> Certificate: Data: Version: 3 (0x2) Serial Number: 2e:81:27:87:8d:af:ce:70:d0:5d:12:03:bf:88:ff:cf Signature Algorithm: sha256WithRSAEncryption Issuer: CN=Easy-RSA CA Validity Not Before: May 5 02:32:36 2020 GMT Not After : Aug 8 02:32:36 2022 GMT Subject: CN=tgn-lt01 Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (2048 bit) Modulus: ... snipped Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: CA:FALSE X509v3 Subject Key Identifier: ... snipped X509v3 Authority Key Identifier: keyid: ...snipped DirName:/CN=Easy-RSA CA serial:...snipped X509v3 Extended Key Usage: TLS Web Client Authentication X509v3 Key Usage: Digital Signature Signature Algorithm: sha256WithRSAEncryption ... 15 lines snipped -----BEGIN CERTIFICATE----- ... 18 lines snipped -----END CERTIFICATE----- </cert> # key client.key <key> -----BEGIN PRIVATE KEY----- ... 26 lines snipped -----END PRIVATE KEY----- </key> # Verify server certificate by checking that the # certicate has the correct key usage set. # This is an important precaution to protect against # a potential attack discussed here: # # To use this feature, you will need to generate # your server certificates with the keyUsage set to # digitalSignature, keyEncipherment # and the extendedKeyUsage to # serverAuth # EasyRSA can do this for you. remote-cert-tls server key-direction 1 # If a tls-auth key is used on the server # then every client must also have the key. #tls-auth ta.key 1 <tls-auth> # # 2048 bit OpenVPN static key # -----BEGIN OpenVPN Static key V1----- ... 16 lines snipped -----END OpenVPN Static key V1----- </tls-auth> # Select a cryptographic cipher. # If the cipher option is used on the server # then you must also specify it here. # Note that v2.4 client/server will automatically # negotiate AES-256-GCM in TLS mode. # See also the ncp-cipher option in the manpage cipher AES-256-CBC # Enable compression on the VPN link. # Don't enable this unless it is also # enabled in the server config file. #comp-lzo # Set log file verbosity. verb 3 # Silence repeating messages ;mute 20 |
0 Comments