OpenVPN Windows Connect Client and Sample .opvn files

Written by James McDonald

May 5, 2020

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

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/[email protected]
        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/[email protected]
        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/[email protected]
                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

##############################################
# 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:
#  http://openvpn.net/howto.html#mitm
#
# 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

Submit a Comment

Your email address will not be published. Required fields are marked *

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

The reCAPTCHA verification period has expired. Please reload the page.

You May Also Like…

Squarespace Image Export

To gain continued access to your Squarespace website images after cancelling your subscription you have several...

MySQL 8.x GRANT ALL STATEMENT

-- CREATE CREATE USER 'tgnrestoreuser'@'localhost' IDENTIFIED BY 'AppleSauceLoveBird2024'; GRANT ALL PRIVILEGES ON...

Exetel Opt-Out of CGNAT

If your port forwards and inbound and/or outbound site-to-site VPN's have failed when switching to Exetel due to their...