Book Image

Mastering OpenVPN

By : Jan Just Keijser, Eric F Crist
Book Image

Mastering OpenVPN

By: Jan Just Keijser, Eric F Crist

Overview of this book

Security on the internet is increasingly vital to both businesses and individuals. Encrypting network traffic using Virtual Private Networks is one method to enhance security. The internet, corporate, and “free internet” networks grow more hostile every day. OpenVPN, the most widely used open source VPN package, allows you to create a secure network across these systems, keeping your private data secure. The main advantage of using OpenVPN is its portability, which allows it to be embedded into several systems. This book is an advanced guide that will help you build secure Virtual Private Networks using OpenVPN. You will begin your journey with an exploration of OpenVPN, while discussing its modes of operation, its clients, its secret keys, and their format types. You will explore PKI: its setting up and working, PAM authentication, and MTU troubleshooting. Next, client-server mode is discussed, the most commonly used deployment model, and you will learn about the two modes of operation using "tun" and "tap" devices. The book then progresses to more advanced concepts, such as deployment scenarios in tun devices which will include integration with back-end authentication, and securing your OpenVPN server using iptables, scripting, plugins, and using OpenVPN on mobile devices and networks. Finally, you will discover the strengths and weaknesses of the current OpenVPN implementation, understand the future directions of OpenVPN, and delve into the troubleshooting techniques for OpenVPN. By the end of the book, you will be able to build secure private networks across the internet and hostile networks with confidence.
Table of Contents (17 chapters)
Mastering OpenVPN
Credits
About the Authors
About the Reviewers
www.PacktPub.com
Preface
Index

Initial setup of the client/server mode


In order to set up a basic OpenVPN server, we first create a server configuration file using the following steps:

  1. Create the following file

    proto udp
    port 1194
    dev tun
    server 10.200.0.0 255.255.255.0
    topology subnet
    persist-key
    persist-tun
    keepalive 10 60
    
    dh       /etc/openvpn/movpn/dh2048.pem
    ca       /etc/openvpn/movpn/movpn-ca.crt
    cert     /etc/openvpn/movpn/server.crt
    key      /etc/openvpn/movpn/server.key
    
    user  nobody
    group nobody  # use ‘group nogroup’ on Debian/Ubuntu
    
    verb 3
    daemon
    log-append /var/log/openvpn.log
  2. Then, save it as movpn-04-01-server.conf. A detailed explanation of each of the configuration lines will be given later.

  3. Start the OpenVPN server:

    [root@server] # openvpn --config movpn-04-01-server.conf
    
  4. The command will not produce any output on the command line, as all output is redirected to the log file /var/log/openvpn.log. Check this file for OpenVPN’s startup message details:

    OpenVPN 2.3.2 x86_64-redhat-linux-gnu [SSL (OpenSSL...