This installation of OpenVPN applies to Ubuntu 9.10
Copy the required example files to /etc/openvpn
Build the Certificate Server The final command (build-ca) will build the certificate authority (CA) certificate and key by invoking the interactive openssl command:
Now build the OpenVPN server certificate and key
As in the previous step, most parameters can be defaulted. When the Common Name is queried, enter "openvpn1". Two other queries require positive YES responses, "Sign the certificate? [y/n]" and "1 out of 1 certificate requests certified, commit? [y/n]". Build client certificates and keys
Remember to type the appropriate Common Name for each client when prompted, i.e. "username1", "client2", or "server3". Always use a unique common name for each client. For greater security, instead of generating the client certificate and keys on the server, we could have had the client generate its own private key locally, and then submit a Certificate Signing Request (CSR) to the key-signing machine. In turn, the key-signing machine could have processed the CSR and returned a signed certificate to the client. Build the required Diffie-Hellman parameters for the OpenVPN server Now we will find our newly-generated keys and certificates in the keys subdirectory (/etc/openvpn/easy-rsa/2.0/keys). Here is an explanation of the relevant files: Copy sample configuration files to /etc/openvpn for server side configuration
Edit /etc/openvpn/server.conf as follows: In my environment I'm using the following: 192.168.1.206 is the OpenVPN server interface and my internet access device is configured to NAT forward port 1194 udp to that address. These settings can typically be found under Port Forwarding on a Netgear router or under Applications and Gaming Settings on a Linksys router. 10.8.18.0 is my VPN subnet 10.1.1.0 is another private subnet on my network
OpenVPN iptables rules to allow traffic to local subnets attached to eth0 and eth1 on the OpenVPN server without the need for a bridging config
Then modify /etc/network/interfaces like so in my case (NOTE the pre-up line) This restores my iptables nat rules after a reboot: auto eth0iface eth0 inet static address 192.168.1.206 netmask 255.255.255.0 network 192.168.1.0 gateway 192.168.1.1 pre-up iptables-restore < /etc/iptables.rulesauto eth1iface eth1 inet static address 10.1.1.200 netmask 255.255.255.0 network 10.1.1.0Tunnelblick for OSX client example: client;dev tapdev tun;dev-node MyTap;proto tcpproto udp# for me i use dyndns.org dyndns updater to keep my dhcp comcast address in sync with domain name# you can get a free dyndns.org hostname and download the updater for free as wellremote openvpn1.sysxperts.com 1194nobinduser nobodygroup nogrouppersist-keypersist-tunmute-replay-warnings# Note that these files must be provided - ca.crt and client cert must come from openvpn server and key may come from server or from client depending on how you generate csrca /Users/pvalentino/ca.crtcert /Users/pvalentino/pvalentino.crtkey /Users/pvalentino/pvalentino.keyns-cert-type server;tls-auth ta.key 1;cipher xcomp-lzoverb 3mute 20OpenVPN Windows client example: For example, on Windows 7 64bit client install the OpenVPN client with default options, change the network connection name to MyTap under change adapter settings for the TAP-Win32 Adapter V9 interface. Then create and save the file below into c:\Program Files(x86)\openvpn\config as client.ovpn. client;dev tapdev tundev-node MyTap;proto tcpproto udpremote openvpn1.sysxperts.com 1194 nobind# Not valid on windows ;user nobody;group nogrouppersist-keypersist-tunmute-replay-warnings# Note the use of double backslashes on a windows client and I put them in a folder I manually created under my users folder ca C:\\Users\\pvalentino\\openvpncerts\\ca.crtcert C:\\Users\\pvalentino\\openvpncerts\\client2.crtkey C:\\Users\\pvalentino\\openvpncerts\\client2.keyns-cert-type servercomp-lzoverb 3mute 20 When you run the openvpn client on windows be sure to right-click and select run as administrator or the software will not be able to create necessary routing configurations for the tunnel. After saving config and starting the application with administrator privileges you will have a new icon in your system tray. Simply right-click and select connect to establish the tunnel. If there are problems right-click the same icon and choose View Log to start the troubleshooting process. |