Episode: 2447
Title: HPR2447: Server Basics 104 OpenVPN Server
Source: https://hub.hackerpublicradio.org/ccdn.php?filename=/eps/hpr2447/hpr2447.mp3
Transcribed: 2025-10-19 03:15:08

---

This is HBR episode 2447 entitled Server Basics 104 Open VPN Server.
It is hosted by Klaatu and is about 43 minutes long and Karima Clean Flag.
The summary is Klaatu walks you through installing and configuring Open VPN Server.
This episode of HPR is brought to you by archive.org.
Support universal access to all knowledge by heading over to archive.org forward slash donate.
Hi everybody this is Ken from HPR with an important from Wednesday the 20th of December 2017.
The media in the HPR feeds will be served via redirect from archive.org.
If you run into any problems can you email admin at hackerpublicradio.org.
We've done quite a lot of testing and I'd like to thank everybody who helped out on that on the mailing list.
So nothing should change and nothing should be impacted. All the URLs are going to remain
in the feeds. It's just that for new shows and they will be downloaded via 302 redirect to archive.org
and they'll be downloaded directly from there so we don't expect your problem.
But if there is contact us we great. The reason behind this is that Josh at AnanasThorst.com
who's been providing our servers has been receiving an unacceptable amount of traffic over the last
period of and that's resulted in slowdowns on the website and lots of issues.
So hopefully this move will take some of the burden off the website.
In addition to that if you can throw a few shekels in the direction of Josh we'd appreciate it.
If you go to any page on the HPR website there's a information there on how you help him.
So once again as of Wednesday the 20th of December 2017 the media for the HPR feeds will be served via
a redirect from ive.org. Thank you very much for your time.
Hi everyone this is class 2 you're listening to Hacker Public Radio.
This is episode 4 of my server basics series where sis admin series whatever I'm calling it.
In this episode I want to talk about open VPN or VPN generally speaking but before I get into that
I want to talk about or I want to address some feedback that I got on this series.
Feedback came from well x1101 on mastodon or or a liel from the dev u random podcast
and he mentioned to me that I mean he's a sis admin long time sis admin and you mentioned to me that
while the series was good I should probably at least acknowledge that if you go out into the real
world and try to get a job entry level whatever in sis adminning you're going to encounter non-free
software shock and horror yeah it's true um there's a lot of non-free stuff out there and the
chances are that wherever you work you're going to encounter some of it. Now when I started working
when I started looking for work as a sis admin with zero experience to my name I I looked very
exclusively at jobs that were Linux or Unix based so I didn't even didn't even entertain the
idea of doing Windows support I just didn't and it meant that I was unemployed for about a year
I mean I wasn't unemployed I just wasn't employed as a sis admin I was working at a bagel shop
and that was great because I got free bagels it was really really a great job actually I'm
thinking of getting back into that line of work but as a sis admin when I finally did find the job
I did I did get a lot of Linux experience it was great but even though it was Linux there's a
lot of proprietary stuff that sits on top of that sometimes so you know you might walk in and find
for open VPN or for a VPN I keep seeing open VPN for VPN they might be using Cisco
and for for virtualization they might be using VMware little things like that so just be aware that
while I'm covering the open source stuff there is stuff out there that is not open source
and you might find yourself having to deal with that now what I have found in practice
is that learning the open source stuff as is often the case teaches you so much about the
principle behind the about the technology really the technology behind the technology I guess
and in the end you come out knowing just everything you could possibly know about that
that subject and so when someone throws something proprietary at you you may or may not
have ever used it but at least you know the concepts that you're going to have to tackle
and so you know kind of how to approach that closed source system so sure you may not know a
thing about how to log into a Cisco box router you may not know anything about the the command line
that Cisco provides you but once you look up a couple of tricks here and there you're going to
see what exactly it is that they're configuring with different commands and you'll be able to
equate that with all the open source stuff that you actually do know and it's it's a lot easier
to sort of to tackle if you if you understand all right so this stupid command here is really
adding a route to get my traffic to this subnet blah blah blah you know and so it makes sense
and so I'm going to obviously stick with talking about the open source stuff and I don't think
while meant for me to to change away from that but but I will continue to talk about the open
source stuff because that's what I know anyway just with the the acknowledgement that close source
solutions for the same technology you're going to you're going to encounter them on the job
and unfortunately a lot of people are going to now I'm getting tied dragged in but unfortunately a
lot of people are going to to sort of try to sell you on the idea that the open source stuff that
you want to use is actually more to maintain that's an old one that's an oldie but goody and it
it just keeps rearing its ugly head people keep saying it and and if you do open source wrong
then it's true but then again if you if you do close source wrong you have a whole set of other
problems so if you do anything wrong you're going to be unhappy so if you're doing open source
correctly you're going to learn it and then you're going to automate the heck out of it and you're
not going to have to deal with it every day and if you do close source wrong then you're going to
use closed source and someone else is going to take care of it for you and you'll just never know
what's going on within that box and where your traffic is actually going and when something breaks
you're not going to be able to fix it because you're going to have to call in someone else
to work their magic in their magic box you don't want to do that trust me people are going to
try to sell you on this and they're going to say well we can take work off of out of your hands
you're not going to have to worry about this and you will will set up your VPN for you all it
takes is this mysterious box in your server rack and we'll manage it for you and you'll you know
at sometimes you will be tempted to go that route you will say well I'm still trying to work out
my open VPN config files and it's not working and this is horrible and I'm really busy and people
are yelling at me all right let's sign up so let's sign up with this service do not do it stick
with open source if you have any say in the matter rely on open source it will not steer you wrong
you might have to struggle to get it set up from time to time because you don't know it yet
but you're learning you set it up you automate it and it's perfect so that's just my experience
now let's talk about VPN and why it's important so VPN is kind of a big deal it's it's it's
almost I would say to the point that it's that it's expected especially within
technical industries having a VPN and being able to access your work network from away
from work is is a it's it's just expected people people expect you to have that set up so if you
get a job as a cis admin that's going to be one of the things that you're going to have to set up
almost guaranteed now you might think well hey I set up SSH at home and I even poked a hole in my
router firewall and I can SSH to my home network from the cyber cafe because we're pretending
like cyber cafes is a modern term still and and that might seem really cool to you and and maybe
you even do fancy things like 4x forwarding on over SSH so you think it's it's practically like
I'm sitting at home it's amazing that's not gonna work for on the larger scale trust me for a
couple of reasons number one because a lot of the closed source vendors out there and windows
admins and people who just generally don't know a whole lot about the Linux tool chain are going
to say well SSH is horrible it's it's a it's a it's a gaping vulnerability you gotta you can't
have that open on your on your network and that they say that because they hear things about exploits
and they they know that they know that SSH runs on port 22 so they know that people will brute force
SSH on port 22 as root and they'll get in and they'll take over your network and all that other
good stuff of course again you know if you've done it wrong which is you know if you didn't listen
to the episode previous episode about SSH and setting it up and stuff then yeah maybe you would do
something like that but of course in real life you personally would not do that you would not run it
on port 22 you would run it on some other port you would not have passwords even enabled much less
root login enabled and you would have something sitting in front or sitting between that SSH port
and the rest of the system such as fail to ban or whatever so it's not really an issue but people
will say well SSH is not good so they will frown on SSH because they believe that it's a bad thing
and they'll say no you have to use you have to use VPN because everyone knows VPN is perfect and
nothing's ever gone wrong with VPN so that's what they'll say now the other reason the actual
reasonable reason that SSH will not stand up to VPN is that VPN provides a network SSH is just a
shell that's what it stands for secure shell so in order to use SSH you're logging when you use
SSH you log into a computer and you are presented as you probably know with a prompt and a lot of
people don't know what to do with that that's not a useful thing for a lot of people so providing
them with access to one computer on a network and a prompt it's pretty limited so VPN is a
virtual private network it provides not just a computer it provides an IP address so your computer
stays the same it's the one that you're actually typing on and you inherit everything else on the
network whether it's IP addresses access to networked printers access to internal information
management systems you know maybe a internal wiki or or or something like that
important services like like maybe if you are sick for the day you and you need to go into the
system and and apply for you know a paid day off maybe that runs on the internal network
and in order to reach that you have to log in to the VPN so that you can get to the server
within the network that runs that sort of thing so it's it's an important sort of service to provide
to your your your people to your crew because it it it provides them a network away from the office
with encryption and a pretty darn good set of authentication options so what we're going to set
up today well what we're going to set up in this episode because this is quite quite a complex
process to be honest is a VPN server and then in the next episode I'll step you through setting up
the VPN clients well we'll just work to get essentially the connection going that's that's the
hardest part I have found and open VPN is such a big technology with so many different options
and frankly a lot of different use cases it gets pretty overwhelmed it would be overwhelming
if I tried to step you through all the different options so what I'm going to do is get you
running a VPN so that the server and the client can talk to each other we're just going to get
them to ping back and forth over the same subnet and from there you can try to sort out what you
actually need to know on top of that I in my experience the initials of configuration
figuring out the certificates and pinging back and forth you know getting that connection
to actually function that's the hard part after that it's just a matter of adding other stuff on
other features that maybe you want a different kind of authentication maybe you want to add in
some TLS whatever that stuff you can look up after you've got that connection going once once
the ping was start responding to each other so in order to install open VPN you'll need two
different things one is the open VPN package itself which will be in your repository certainly
it's already installed on some distros certainly it's already on slackware I don't think it was on
scintOS initially but yeah like I say it's in it's in the in the repository and then you'll also
need something called easy rsa and easy rsa used to be part of the open VPN package apparently
and then it got sort of forked off into community support quote unquote meaning it's its own
project now confusingly there are two there are two easy rsa versions that are still sort of
equally in use so if you go online and look for instructions on how to do all of this stuff
you well may come across a tutorial that just happens to have used rsa easy rsa too
where you may have you may stumble across one that uses rsa 3 and that'll be confusing I'm
gonna go with rsa 3 because that's sort of where everything's going but just be aware that there
are two very rsa 2 is still pretty I guess popular or there's a lot of use still of of easy rsa 2
presumably because a lot of those the server guys the server distros are very slow to change
an update because they test everything first and so open rsa 2 is still just what they've got in
their docs okay so with that out of the way you need both of those packages open VPN and easy rsa
on sinto s certainly you would need to enable the epl that's the extra package extra packages
for enterprise linux you can look up on the fedora sites or the sinto s site on how to do that
okay so the first thing that you have to do for open VPN really is come to grips with the fact
that you're going to be managing a bunch of keys so you remember in the previous episode when I was
talking about ssh and how you should not use passwords and you should use ssh keys and that's all
all kind of built into ssh and it's pretty simple to to manage because it's you've just got ssh key
gen and you're just generating keys and passing them out to your users and it's pretty simple well
open VPN is a little bit more like I would say for instance pgp if you've ever tried to use pgp
if you're email or or can you pg whatever or open ssl and open VPN is a lot more like open ssl in
fact it actually even uses an open ssl library so it doesn't have the infrastructure that for
instance ssh has kind of built in to to to to to juggle all these keys around easy rsa is kind of
our easy solution to to doing that so once you install easy rsa which I've just done then
it usually dumps this folder of scripts or ascript depending on whether you're using two or three
into some shared location and generally speaking I don't believe I've ever seen it anywhere else but
slash usr slash share and then slash easy rsa so they they really mean in their docs they tell
you to do this so what they're really intending for you to do is to copy dash rv slash usr slash share
slash easy rsa just to some location that you can that you that you want to use it from so I'm
just going to copy it to my home folder right now and then I'm going to change into that folder and
I see that there's an easy rsa script there's an open ssl dash 1.0.cont and there's a vars
example and then x 509 types so easy rsa itself is a shell script and it's right there so I'll just
do a dot slash easy rsa the first thing that I need to do is create my public key infrastructure
which everyone just refers to as pk i and the command for that is dot slash easy rsa space init
dash pk i and it tells you okay init pk i complete you may now create a c a or requests
your newly created pk i der is slash home slash clatu slash easy rsa slash pk i great okay
so in the folder now that we are in if you if you do an ls you'll see that there is a new folder
called pk i and if you look in pk i you see that there's a file called private and there's a
folder called private and a folder called rex and they're empty that's fine that's expected so far
okay so that's that's just set up the infrastructure for our pk i now what we're going to do is as
as it kind of told us or as it hinted for us is we're going to create a c a or certificate
authority so dot slash easy rsa space build dash c a that generates a 2048 bit rsa private key
and it prompts us to create a password for this private key now notice it might you might notice
that it's telling you it's putting this private key in the pk i directory that we had that we
just created with that in it pk i command so i'm going to enter a really embarrassingly simple
password just to keep it easy for myself and then don't do that in real life but since this is
just a test environment i'm just using it the bare minimum password which is four characters
it will enforce a four character password it will not let you just enter a single character but
anyway you shouldn't be doing that anyway this is i'm just doing that so that as i type and talk
i don't have to remember too many strings so now let's asking me for a common name which is
your user your host your server name whatever so it can be pretty much anything but i i think
what i've always done is i've just used the the host name so i'm going to use dark star which
is not actually my host name but that's what i'm going to do anyway now again the c a creation is
complete and you may now import and sign cert requests and so it says your new c a certificate file
for publishing is at slash home slash clatu slash easy rsa slash pk i slash c a dot c r t so that
is the c a the certificate authority certificate that we have created now we're going to create
something called a request dot slash easy rsa gen that's g in like generate dash req like
request and then the thing that we're creating the request for is our server which we can
identify by by the the the name that we created that c a for so i'd put in dark star so that's
what i'll do now again it is asking me for a pass phrase and again i'm doing like a ridiculously
simple simple one and it's asking me for a distinguished name or a d in and that is of course
again dark star okay so now we have just re we've a key pair in a certificate request have been
completed your files are the request till the slash easy rsa slash pk i slash wrecks slash dark
star wreck and the key is in the same place except pk i slash private slash dark star key so now
we need to create a certificate for our server and the way that we do that is dot slash easy rsa
space sign dash req so that's s i g in dash req so we're somewhere it's a sign request space
server because that's what we're generating it for that it's the literal string server and then
space dark star which of course is the name of our server that we you know that's how we're
identifying it so you say you press enter on that and then it tells you it kind of tells you
what what your request you know it summarizes the request and the subject is okay well here's your
your your request you're you're about to make a certificate with a common name of dark star type
the word yes to continue or any other input to abort so i'm going to type yes confirm request
yes and then it asks me for the passphrase of my for this certificate authority so i created
that i made it really stupid simple which hopefully you're never going to do and then i hit return
on with on the keyboard and it generates it really quickly it tells me where it is it says it's
in easy rsa pk i issued dark star dot crt so we'll need that later we'll we'll move that to a
different location but first the server needs to have a diffy hole a helmin file to look at
and the command for that is open ssl dh param that's dh as in diffy helmin param like parameter
p a r a m space dash out and then some name generally speaking the default name is dh 2048 dot
pem dot pem and then space 2048 and that tells it obviously how many bits this should be usually
the default name is dh 2048 dot pem it might be something different in your in your example open
open VPN config file so just kind of pay attention eventually make sure that that name is is
something that you actually set i find it easiest just to use the convention dh 2048 i don't see
any reason to do anything but that and that's still actually generating on my computer so i'm
going to pause this as that generates okay it's done cool that took no time for you now this next
step that will we'll go through together we're not actually going to use the key that we produce
during these two episodes but it is important because it's it's a key that you would need later on
if you're going to add in extra features specifically tl s authentication on top of all the open
VPN handshakes that occur which helps set up kind of a firewall to block denial of service
attacks so it's important but not not essential to get this thing working in a secure manner it's
just an added feature that you can you can go in and investigate later for yourself when you do
that though you will need to generate a ta dot key and if i don't tell you how to do that you
might get confused and think that you it's a key that you already generated well as of now it
will be it's a key that you'll generate we won't use but you might use personally later on
and this we actually get to use the open VPN command finally i mean it's just to generate yet
another key but you know whatever so you do an open VPN space dash dash gen key that's generate
key gen key all one string space dash dash secret space ta dot key ta dot key is the traditional name
for it like i say it stands for tls off and you do that and that creates the ta dot key in your
current directory right alongside of all the other files that we've been generating well not
not all of them but right alongside the dh 2048 dot pems certainly okay that's that's all the setup
for the the well it's not all the setup that's all the key generation that we need to do right now
for the server infrastructure now we have to move everything to where where open VPN is going
to be looking for them so the dh 2048 dot pems since it's right here in the current directory
you might as well move that first goes to slash atc slash open VPN slash certs and if the
sub directory certs does not exist you can create it you'll obviously have to do all of this
is root so you can just do a make-der dash p slash atc slash open VPN slash certs that doesn't
exist that's okay it will create it and then you can move the 2048 into there the dh 2048 dot
pems into that directory and i'm sorry i should be clearer here when i'm saying i'm saying move
and what i'm actually doing is copying and i do this for a very good reason and that is that
all of these keys we're going to want to archive we're going to want to back this stuff up so
you want to copy all the things that you've generated from this directory to the rest of your system
and then at some point you will want to tar this directory up and put it in a safe place so that
if anything happens you have all this information you don't want to have to
revoke all of your keys and make all your clients update and regenerate all your client keys i mean
you might if there's a breach or something but your server crashes you don't want to lose this
back it up so i'm copying even though i'm just i'm frivolously saying move i mean copy
and then you'll also want to create make-der slash atc slash open VPN slash keys kys and if that
doesn't exist you'll want to create that and you'll want to copy the ta dot key to slash atc slash
open VPN slash keys and there's more so let's copy the ca cert that we created which remember
easy rsa placed in the pk i directory so you'll copy pk i slash ca cert to slash open
slash slash atc slash open VPN slash certs that kind of makes sense if you really think about it
because yeah dot crt goes into a certs directory makes sense you also have to copy the server specific
cert to the certs directory so that was placed in the pk i slash issued slash darkstar dot crt
and you'll put that into slash atc slash open VPN slash certs and then you'll also want to copy
the key the server key the private key which again placed in pk i slash private this time
and it's called darkstar dot key and you can put that into slash atc slash open VPN slash keys
so if you really really think about it it's not i'm not saying it's intuitive by any means but
i am saying it does kind of make sense if you if you look at the that the kinds of files that
you have generated which are practically magical but if you look at their extension and you kind
of look at what kind of directory structure open VPNs main configuration directory has it does
kind of make some sense okay so once that is finished it's time to set up the configuration file
and i think that that key step is probably the most frustrating and it's one of the least well
explained things on the internet in terms of when you go to look up how to do open VPN configuration
because generally all the how-to is just kind of rushed through it which i mean to some degree
i have as well but they they kind of just they're throwing all these generation commands around
and you have no idea what you're generating or where they're supposed to go and it gets really
frustrating so anyway onto the configuration step the first configuration we need to do is the
server configuration so that open VPN when we start it knows that it's actually running on the
server that it's not in client mode that it's in server mode so we'll do a well okay so server.conf
is the file that we want to do and it really kind of depends again on your package or like where did
you get open VPN from how did they set it up for you where is server.conf if server.conf is nowhere
to be found you can find it from or rather within the the open VPN source code that you can
download from open VPN so if you go to openvpn.net just go into the community wiki and then on the
left hand side you'll see downloads they go to downloads and then you'll see all the different
tarballs and things that you can you can download so download one of them and inside of there you'll
find in a slash let me I'm going to actually start I'm going to just do a cat of slash home slash
slash downloads slash open VPN blah and then there's a folder in there called sample and there's
a bunch of folders in there and there's a folder called sample config files and in there sure
enough there's one called server.conf and that's what I want so I'm going to redirect that to slash
etsy slash open VPN slash server.conf simple as that and now I can open up server.conf in emax and
this is and I mean that those sample files are actually really really good to look at because it
kind of gives you a bunch of different use cases so there are there are lots of different
configuration files in there some of them will still be a little bit confusing I guess because
you won't know what you need and what what you should activate and deactivate and that sort of
thing but a lot of them do at least give you a notion of what is possible and I mean some people
I've read like to just there's there's so ssh that they just like to use open VPN as as just for
a single computer to computer type of connection which you can do you just have to set it up for that
and there's a sample configuration file I think in there if I recall correctly for that sort of
set up so lots of good config samples in there okay so anyway we're setting up a server right now
so let's talk about that config so well what I've got here is first first I mean they read through
it as I said but the first thing that you need to look at is the port port 1194 that is the default
port for VPN traffic and you can keep it there I guess if this is your first time ever setting up
a VPN I would say keep it there just so you remove variables but if you want to change it you can
then the next one is the protocol protocol that I think is the default I guess is UDP I don't know
why you would need anything other than that there may be valid reasons I'm just saying I've always
set it up with UDP all right next the device the the device to use on Linux certainly would be
the tunnel device to you in ton I I think I've used a tap interface before I don't think it was
for VPN I think I want to say it was for bridging something from Qemoo or something I'm not sure
but anyway ton is the default and that's what I'm going to go with and it's it's generally what I
would say that you should go with although that said I have no idea if you have to use tap on
windows or if there's a tunnel option for windows on that I'm not sure okay next three lines are
going to be looking for your certificate information and luckily we know where those are because
we put them there ourselves so the first one is the CA the certificate authority certificate is
in in my case I put it in slash Etsy so I'm changing this in my config file open VPN slash
certs slash CA dot CRT I happen to know that that's where I put it the next one is going to be
looking for the certificate of this server itself so that's a C ERT space slash Etsy slash open
VPN slash certs I put that in certs again or as well slash dark star dot CRT and then the final
one is the key which this is the secret key so slash Etsy slash open VPN slash keys slash dark
star dot key now if you put them somewhere else or you named them something else then obviously
you would want to adjust that for your for your use case and then after a little bit of more
comment it asks for the Diffie Hellman parameters and for that DH space slash Etsy slash open VPN
slash certs slash DH 2048 dot PEM that's just again kind of the default stuff okay so topology
subnet that's fine I don't care down here there's this thing about configuring the server mode
and supplying a VPN subnet for open VPN to draw client addresses from so this is essentially
establishing your own little private DHCP pool that you want open VPN to use when
when clients connect so I put in here server space 10 dot 8 dot 0 dot 0 that's the default
default subnet and then space for the mask 255 dot 255 dot 255 so in other words don't touch 10
don't touch 8 don't touch 0 and then dot 0 meaning yes hand out that last that last number we can skip
over the if config pool persist we can skip over server bridge we don't need to do that because
we're not using a tap device now there are a couple I mean you're gonna have to come back to
configuration file depending on some of on how you want to configure this stuff but right now
since you don't know how you want to configure it I'm kind of skipping over a bunch of this
bunch of this the options but there are a couple that you that you'll probably have to look up
and kind of see how you want this all to go one of them being the redirect gateway definition which
that's kind of kind of a thing in open VPN you would you you might have to use at some point
so TLS auth right now we are going to leave that off so if that's not commented out commented out
it's an important one and it uses the ta dot key that we generated earlier but it adds a variable
to the connection stuff so if we have time we'll go back to this and try to turn that back on for
now we're going to leave it off just for simplicity is it's sake now it says cipher
AES 256 cbc and we're going to need to put that also in our client configuration so don't let me
forget then there's compression and we could use a couple of different types of compression
to keep things simple we're just going to do the comp dash LZO compression technically speaking
that's not even all that necessary but we're going to do it anyway max clients is 100
so we're just going to uncomment that and say well we're going to do max clients as more like
10 just because this is a test user nobody group nobody yeah you want to uncomment that so that
we're we're using unprivileged users here persist key and persist tonne we're going to kind of
I guess we'll just leave that as is that that's one of those troubleshooting things that if
something's not working sometimes you have to go back and comment that out as you troubleshoot
output a short status file showing current connections truncated and rewritten every minute status
open VPN dash status dot log so I'm setting the log location and then I'm going to set the log
append location to log dash append space slash bar slash log slash open VPN dot log and once again
that may be that depending on where you got your open VPN package from that might already be the
default now for verbosity we can set that pretty high right now so while we're troubleshooting so
I'm going to set that to verb six which is a sort of debugging and that's that's a good thing to
have now you can do nine but I find that that's too much and it just flies off your screen way too
fast but you can resort to that if you if you're having a lot of problems and then I like to mute
20 which means if there are 20 of the same messages in a row it will not write all 20 to the log
and that's about it I think that's everything for this for this file that's the server configuration
so I went through that pretty fast but a lot of those were the defaults anyway so that's a good
thing and to be honest a lot of these options you're going to have to come back to and
set some other way because your use case is probably going to differ from this test case that said
I want to be very clear the options and the values that I put into that config file they will work
for you you can do exactly as I was doing you don't need to customize the IP addresses or anything
those are standard open VPN expectations like the port numbers and the IP addresses so you can use
those exact same values unless that is your home network happens to run 1080 as it's main network
then you'd want to change the subnet that you are then creating that's a pretty odd ball
default though I doubt that you're using that so you should be able to enter the exact same
values as I entered into my config and get an open VPN server up and running so what we'll do now
is we'll start open VPN just to see if it's working I mean we don't have any clients set up so
it won't really be all that exciting but at least we'll see that it works so what we'll do well
actually first before we even do that do an ip space a and or or you could do if you want to do it
the longer away ip space atter space show and that should show you all of the that's the that's the
that's the new if config essentially so ipa will show you ip space a will show you all of your network
connections or your your network interfaces rather so there's the loopback device there's the
eth device the the you know the actual ethernet port and then there's your wireless port or your
wireless card whatever wland zero whatever your your one is called so that's that's good now we know
great and now we'll do the open VPN start thing so it's open VPN is the command now there's a
dash dash config option but if if that's your only option that you're passing you don't have to use
that so you can just tell it you can just do open v if VPN space slash etsy slash open VPN slash
server.com and now it just gives me a prompt back gives me my my prompt straight back well that's
kind of crazy so if you do a p grep open VPN no nothing p grep VPN no nothing okay so I don't
think this thing started well let's do a cat of of our log open VPN log and you'll see in your
log that yeah it actually failed so it says options error dash dash explicit dash exit dash
notify cannot be used with dash dash mode server so then if you look in your slash etsy slash
open VPN slash server.com down at the bottom of that file there is a notify the client that
when the server restarts so it can automatically reconnect and and that's set to to one so we're
gonna have to set that to zero and then if we do an open VPN slash etsy slash open VPN slash server.com
it prompts us for a password private key password now we know our private key password we created
that earlier so I'll enter it and then it just kind of hangs so if I switch over to a different
terminal and do a p grep open VPN I do see that it is working so the reason that it appears to be
sort of just frozen is because we didn't demonize this process and that's okay I wanted to be
able to see that everything was working and I wanted the feedback so I'll go ahead and control C
out of that now I can I can restart it again and do demon dash dash damon d a e m o n let's
call it dark star VPN and then we'll do a dash dash config because now that's not the only
option we're using slash etsy slash open VPN slash server.com and now if I start that then again it
just gives me my prompt right back so that kind of felt like a failure again so let's do another
cat on our log file and sure enough it's it's a failure so it says okay can't ask for
inter private key password if you use dash dash damon you need to use dash dash ask pass to make
pass phrase protected keys work and you cannot use dash dash off no cash well I didn't use dash
dash off no cash but neither did I use dash dash ask pass so now I'm doing it again with dash dash
ask pass it now it tells me it now it asks me for my password and it gives me my prompt back but
that felt a little bit better so let's do a p-grap VPN and yes I get a 5092 that's the process that
it's running at right now yours will will be different and so that means that open VPN is running on
our server so that's great that's huge that's a big deal remember when we did the ip space dash a
before note space a before we started open VPN do that again ip space a now this time you might
notice you've got a new network interface my friend you have loopback you have eth zero you have
wland zero whatever your wireless call and you got ton zero that's a new tunnel interface
created by open VPN now things are getting exciting I'm going to close this one out we've got the
server the open VPN server up and running ready to accept clients we have zero clients configured
and that's a whole other it's a whole other thing you will be making lots of client keys
ostensibly because that's that that's the one to many relationship you've got your open VPN
server and lots of different clients so rather than trying to cram all the client stuff both the key
stuff and the client configuration into this episode I'm going to break it into the next episode
where we'll configure clients will launch the open VPN client on the client and start
back and forth you've been listening to hecka public radio at hecka public radio dot org
we are a community podcast network that releases shows every weekday Monday through Friday
today's show like all our shows was contributed by an hbr listener like yourself
if you ever thought of recording a podcast then click on our contributing to find out
how easy it really is hecka public radio was founded by the digital dog pound and the
infonomicum computer club and it's part of the binary revolution at binwreff.com if you have
comments on today's show please email the host directly leave a comment on the website or record
a follow-up episode yourself unless otherwise stated today's show is released on the creative
comments attribution sharelight 3.0 license
