PacktLib: Beginning OpenVPN 2.0.9

Beginning OpenVPN 2.0.9

Credits

About the Author

Acknowledgement

About the Co-author

About the Reviewers

Preface

VPN—Virtual Private Network

Broadband Internet access and VPNs

How does a VPN work?

What are VPNs used for?

Networking concepts—protocols and layers

Tunneling and overhead

VPN concepts—overview

Summary

VPN Security

VPN security

Privacy—encrypting traffic

Reliability and authentication

SSL/TLS security

Summary

OpenVPN

Advantages of OpenVPN

History of OpenVPN

Networking with OpenVPN

OpenVPN compared to IPsec VPN

Sources for help and documentation

The project community

Summary

Installing OpenVPN on Windows and Mac

Obtaining the software

Installing OpenVPN on Windows

Installing OpenVPN on Mac OS X (Tunnelblick)

Summary

Installing OpenVPN on Linux and Unix Systems

Prerequisites

Installing OpenVPN on SuSE Linux

Installing OpenVPN on Red Hat Fedora using yum

Installing OpenVPN on Red Hat Enterprise Linux

Installing OpenVPN on RPM-based systems

Installing OpenVPN on Debian and Ubuntu

Installing OpenVPN on FreeBSD

Summary

Advanced OpenVPN Installation

Troubleshooting—advanced installation methods

Installing OpenVPN from source code

Building and distributing .deb packages

Building your own RPM file

Enabling Linux kernel TUN/TAP support

Summary

Configuring an OpenVPN Server—The First Tunnel

OpenVPN on Microsoft Windows

Connecting Windows and Linux

Troubleshooting firewall issues

Summary

Setting Up OpenVPN with X.509 Certificates

Creating certificates

Certificate generation on Windows Server 2008 with easy-rsa

Distributing the files to the VPN partners

Configuring OpenVPN to use certificates

Using easy-rsa on Linux

Troubleshooting

Summary

The Command openvpn and Its Configuration File

Syntax of openvpn

Using OpenVPN at the command line

Configuring OpenVPN with certificates—simple TLS mode

Overview of OpenVPN parameters

Important Windows-specific options

New in Version 2.1

Test

Summary

Securing OpenVPN Tunnels and Servers

Securing and stabilizing OpenVPN

Authentication

Linux and Firewalls

Configuring the Windows Firewall for OpenVPN

Summary

Advanced Certificate Management

Certificate management and security

Installing xca

Using xca

Importing a CA certificate

Using TinyCA2 to manage certificates

Other tools worth mentioning

Summary

OpenVPN GUI Tools

OpenVPN server administration: Webmin's OpenVPN plugin

Client GUIs for Linux

NetworkManager

Summary

Advanced OpenVPN Configuration

Tunneling a proxy server and protecting the proxy

Scripting OpenVPN—an overview

Using a client configuration directory with per-client configurations

Individual firewall rules for connecting clients

Distributed compilation through VPN tunnels with distcc

Ethernet bridging with OpenVPN

Automatic installation for Windows clients

Clustering and redundancy

Summary

Mobile Security with OpenVPN

Anonymous and uncensored Internet Access

OpenVPN on Windows Mobile

Embedded Linux – Maemo

Summary

Troubleshooting and Monitoring

Testing network connectivity

Checking interfaces, routing, and connectivity on the VPN servers

Debugging with tcpdump and IPTraf

Using OpenVPN protocol and status files for debugging

Scanning servers with Nmap

Monitoring tools

OpenVPNgraph

Summary

Internet Resources and More

Index