<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://halfface.se/wiki/index.php?action=history&amp;feed=atom&amp;title=OpenVPN</id>
	<title>OpenVPN - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://halfface.se/wiki/index.php?action=history&amp;feed=atom&amp;title=OpenVPN"/>
	<link rel="alternate" type="text/html" href="https://halfface.se/wiki/index.php?title=OpenVPN&amp;action=history"/>
	<updated>2026-04-19T07:26:47Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>https://halfface.se/wiki/index.php?title=OpenVPN&amp;diff=11067&amp;oldid=prev</id>
		<title>Ekaanbj: /* Generate certificates &amp; keys for client */</title>
		<link rel="alternate" type="text/html" href="https://halfface.se/wiki/index.php?title=OpenVPN&amp;diff=11067&amp;oldid=prev"/>
		<updated>2010-09-05T04:24:13Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Generate certificates &amp;amp; keys for client&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Generate the master Certificate Authority (CA) certificate &amp;amp; key==&lt;br /&gt;
&lt;br /&gt;
 sudo rsync -a /usr/share/openvpn/easy-rsa/2.0/ /etc/openvpn/easy-rsa/&lt;br /&gt;
&lt;br /&gt;
/etc/openvpn/easy-rsa/vars&lt;br /&gt;
set the KEY_COUNTRY, KEY_PROVINCE, KEY_CITY, KEY_ORG, and KEY_EMAIL parameters. &lt;br /&gt;
 . ./vars&lt;br /&gt;
 ./clean-all&lt;br /&gt;
 ./build-ca&lt;br /&gt;
&lt;br /&gt;
Answer yes on everything exept:&lt;br /&gt;
&lt;br /&gt;
==Generate certificate &amp;amp; key for server==&lt;br /&gt;
&lt;br /&gt;
When the Common Name is queried, enter &amp;quot;server&amp;quot;&lt;br /&gt;
 ./build-key-server server&lt;br /&gt;
&lt;br /&gt;
Generate Diffie Hellman parameters&lt;br /&gt;
 ./build-dh&lt;br /&gt;
&lt;br /&gt;
HMAC firewall&lt;br /&gt;
 cd /etc/openvpn/easy-rsa/keys &amp;amp;&amp;amp; openvpn --genkey --secret ta.key&lt;br /&gt;
&lt;br /&gt;
==Generate certificates &amp;amp; keys for client==&lt;br /&gt;
Howto create a new client config.&lt;br /&gt;
 cd /etc/openvpn/easy-rsa/&lt;br /&gt;
 . vars&lt;br /&gt;
 ./build-key rollewrt&lt;br /&gt;
 cp keys/rollewrt.* /etc/openvpn/blt/&lt;br /&gt;
 cd /etc/openvpn/blt&lt;br /&gt;
 cp blt_olle.ovpn blt_rollewrt.ovpn&lt;br /&gt;
 vim blt_rollewrt.ovpn&lt;br /&gt;
 for i in rollewrt ;do echo $i ;tar czf /tmp/openvpn-client-$i-blt.homeip.net.tar.gz $i.* ca.crt ta.key blt_$i.ovpn;done&lt;br /&gt;
&lt;br /&gt;
 for i in bob ;do echo $i ;tar czf /tmp/openvpn-client-$i-www.halfface.se.tar.gz $i.* ca.crt ta.key halfface_$i.ovpn;done&lt;br /&gt;
&lt;br /&gt;
==Key Files==&lt;br /&gt;
&lt;br /&gt;
Now we will find our newly-generated keys and certificates in the keys subdirectory. Here is an explanation of the relevant files:&lt;br /&gt;
 Filename 	Needed By 			Purpose 			Secret&lt;br /&gt;
 ca.crt 		server + all clients 		Root CA certificate 		NO&lt;br /&gt;
 ca.key 		key signing machine only 	Root CA key 			YES&lt;br /&gt;
 dh{n}.pem 	server only 			Diffie Hellman parameters 	NO&lt;br /&gt;
 server.crt 	server only 			Server Certificate 		NO&lt;br /&gt;
 server.key 	server only 			Server Key 			YES&lt;br /&gt;
 client1.crt 	client1 only 			Client1 Certificate 		NO&lt;br /&gt;
 client1.key 	client1 only 			Client1 Key 			YES&lt;br /&gt;
&lt;br /&gt;
==setup server and client==&lt;br /&gt;
===server===&lt;br /&gt;
Copy example configuration files.&lt;br /&gt;
 mkdir /etc/openvpn/config; cp /usr/share/doc/openvpn-2.1/sample-config-files/{client,server}.conf /etc/openvpn/config&lt;br /&gt;
Copy keys to location.&lt;br /&gt;
 cp -p ca.crt server.crt server.key dh1024.pem ta.key ../..&lt;br /&gt;
Edit server.conf&lt;br /&gt;
 # change this value to the network behind the openvpn server&lt;br /&gt;
 push &amp;quot;route 192.168.0.0 255.255.255.0&amp;quot;&lt;br /&gt;
 # Enable clients to comunicate with each other.&lt;br /&gt;
 client-to-client&lt;br /&gt;
 # Enable hmac firewall.&lt;br /&gt;
 tls-auth ta.key 0 # This file is secret&lt;br /&gt;
&lt;br /&gt;
Copy server.conf to location:&lt;br /&gt;
 cp /etc/openvpn/config/server.conf /etc/openvpn&lt;br /&gt;
&lt;br /&gt;
Edit client.conf and save as /etc/openvpn/blt&lt;br /&gt;
 # Change to name of openvpn server.&lt;br /&gt;
 remote blt.homeip.net 1194&lt;br /&gt;
 # Change path to certificates.&lt;br /&gt;
 ca blt/ca.crt&lt;br /&gt;
 cert blt/bjorklun.crt&lt;br /&gt;
 key blt/bjorklun.key&lt;br /&gt;
 # Enable hmac firewall.&lt;br /&gt;
 tls-auth ta.key 1&lt;br /&gt;
&lt;br /&gt;
Copy certificates.&lt;br /&gt;
 cp -p /etc/openvpn/easy-rsa/keys/{ca.crt,bjorklun.*,ta.key} /etc/openvpn/blt/&lt;br /&gt;
&lt;br /&gt;
Create openvpn config to transfer to client.&lt;br /&gt;
 for i in rolle olle strate;do echo $i ;tar czf /install/program/windows/openvpn/openvpn-client-$i-blt.homeip.net.tar.gz $i.* ca.crt ta.key blt_$i.ovpn;done&lt;br /&gt;
&lt;br /&gt;
==Route a client network.==&lt;br /&gt;
 /etc/openvpn/server.conf:route 192.168.10.0 255.255.255.0&lt;br /&gt;
 /etc/openvpn/server.conf:push &amp;quot;route 192.168.10.0 255.255.255.0&amp;quot;&lt;br /&gt;
 /etc/openvpn/ccd/rollewrt:iroute 192.168.10.0 255.255.255.0&lt;br /&gt;
&lt;br /&gt;
[[Category:Applications]]&lt;br /&gt;
[[Category:Unix]]&lt;br /&gt;
[[Category:Vpn]]&lt;/div&gt;</summary>
		<author><name>Ekaanbj</name></author>
	</entry>
</feed>