I love my Pi, but i bought a refurbished HP ProLiant DL360 G7 for less than $200 off Amazon and this thing is a beast. I’m loading down every home service I need, from Plex-Media to DNS Blackhole. I’m looking forward to testing this OpenVPN install video when I get home tonight. Thanks Hak5. As always, your tutorials are second to none. Fun, detailed, and insightful in ways only seasoned veterans of the field can provide.
You guys rock. I just followed this video and set up an OpenVPN server on a Raspberry Pi on my home network. and it works. I must confess that I followed another of your vids about OpenVPS SA on a VPS, and that didn't work for me (I kept getting four different 10.x.x.x subnets, and the gateway at home (the Pi) and the client (a laptop) ended up on different subnets) , and the simplified script based setups out there in Internet Land didn't work for me either (I think it may have been routing issue). Anyway - it's working now. Great! Keeps up the good work.
This was a great run through. Thanks so much for making this pretty straight forward. This gave me what I did not have before. Going through docs and tutorials and the like it always had a LOT of extra. This was just a handbook on "Lets just make this work." You rock!
Awesome episode, welcome back guys! Darren did a really good job of keeping a 50+ minute setup and operation video interesting. I bet this is going to help a lot of people! Setting things up on my Pi 3 right now!
I'm a total hacking noob, but this was so much fun to watch. I'll get this running, and I'll also enjoy seeing your videos about raspberry pi and RF. Keep up the good work!
In fact it works well locally but not over the Internet. My client gives a TLS Error: TLS key negotiation failed to occur within 60 seconds. It looks like a firewall issue on port 1194. Anyone got this error ?
You mean on the router? I have a basic router where I can only do simple port mapping : I can set a local IP address, a protocol, local port and public port. I set my vpn server local IP to UDP and both ports to 1194, but it is not working. Is there something I missed ? Or my router is not suitable ? Thanks!
: ) The trick is to use the ridges in your fingers, along with the top of each. We have 8 fingers with 4 bits on each half byte, or hex from 0-F on one hand and 00-F0 on the other. This makes thinking binary and hex a little easier. Look up the Hexadecimal finger-counting scheme.
Thanks Darren, I was pulling what little hair I have left trying to configure an OpenVPN server. Off to deploy this tech for my travels. Snubs, the mnemonic helps me where the wrong character can make you elated or deflated.
The Best Explanation !!! I referred to many videos , but out of all tNice tutorials was the best I could find among all .... Also got to know many tNice tutorialngs
I know, I know, 2 years later... First, thanks for this - its very informative, and you'd be surprised how few VPN server setup walkthroughs there are out there. If you all are still paying attention to comments, it might be cool to give a refresher on why "allow ssh" on its own isn't very safe (just explain you're keeping your putty session active). Not sure if you guys have done a ssh keypair video but i'd love to see an updated/current one.
I "hacked" my way through this alone. I wish this video was available when I was working this out. Needless to say my solution is functioning the same but I ended up making things a bit more complicated. Great job on this video! I would like to see an ipv6 video.
Great job! You guys should do a video where you tunnel openvpn through Stunnel or any other methods that can bypass deep packet inspections. Getting Stunnel to work took me 10+ hours so I would love to see what other methods you guys can pull off!
WOW, what a fantastic demo. I could follow every step. It was all crystal clear and matched my requirements precisely. Nice hats too. All working perfectly after realising I'd messed up by uncommenting the line "tls-auth ta.key 0 #" as directed by some shoddier how-to page. My bad should have come here first!!!. But Seriously, this was great. Thank You Thank You Thank you.
@Hak5 - I can't like this episode enough times! I will be playing around with OpenVPN server running on OpenWRT to manage a few remote networks. I also loved episodes #2017 and #2018; I'm drafting some ideas for my backpack "Network pocket" (housing hotspot gear, and extra storage, etc)... I'll publish a photo and tag yo guys. I need an extra nano =). #jokeNotjoke. Anyway - Love your show. I've been a fan for over nine years!
HEEELP! at around 36:18, he says he gets the new tun0 network interface, because he had started the openVPN service, but I don't get that device when I type ifconfig...! :-\ Why is that...? I am running Debian 8.6 on Pi
IIIIIIIIIIII LOOOOOOOOOOOOOOOOOOOOOOOOOOVEEEEEE YOUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU I spent straight 3 hour on the Arch wiki and now it work omg I was so so close 17:41 I put tun0 instead of the real one lmaoooo i'm so glad it work
Edit : My appologies. When using a config file, omit the leading double dash "--" for the command. Simply put tun-ipv6 in it, then follow the rest. Original Post "For IPv6, you need to add the --tun-ipv6 to the profile/config file. You then replace IPv4 addresses with IPv6 addresses. Be warned. Most people are NOT on IPv6 yet, as most admins don't want to take the time to comprehend what the new formula is. Also, subnets become a thing of the past, due to the number of possible addresses being such that you could assign one to every grain of sand on Earth.... Option explained : --tun-ipv6 Build a tun link capable of forwarding IPv6 traffic. Should be used in conjunction with --dev tun or --dev tunX. A warning will be displayed if no specific IPv6 TUN support for your OS has been compiled into OpenVPN."
If you’re getting a KEY_CONFIG error stating the openssl.cnf is not correct or similar, use this while in the specified directory of the issue (where build-ca is located): ln -s openssl-1.0.0.cnf openssl.cnf
Can you guys do an episode on how o set up openVPN with a connection tethered from your phone ? You mentioned that's how you operate at home, and so do I. Would hugely appreciate it... And yeah we don't mind long episodes :-)
HEEELP! at around 36:18, he says he gets the new tun0 network interface, because he had started the openVPN service, but I don't get that device when I type ifconfig...! :-\ Why is that...? I am running Debian 8.6 on Pi
I found the error I made. In this video, he names his crt and key files the standard 'server' name. I made my files with a custom name for myself, and I had to define my own filenames in the server.conf config file. After that and restart the service, my network interface popped up, and it was working :) If you are going with custom names, don't forgtet to define the custom client keynames in the OVPN file too
I've got a bullet proof configuration using diffie-hellman 4096 RSA keys with fail2ban to protect the OpenVPN as well... And password authentication on top of it.
will you ever post an updated version of this? half of the commands just wont work at all since easy-rsa has updated so much. and you are using sysV while 2020 pretty much uses systemd
Hey guys, been a real fan for a long time, quisck question... when you mentioned to be able to through this build into an arduino... any arduino specific in mind?
don't you have to port forward in you router ? i'm confused this is different from other OpenVPN setups I did all of this and it's not what i'm looking for, BUT HEY I LEARNED SO MUCH ABOUT LINUX FROM THIS VIDEO !!! thanks guys.
I'd add one thing... you probably should put your CA on another server than your openvpn server, just in case it gets compremised. else if the openvpn server gets cracked all they have is the CA's public key and not the private key to create their own valid vpn client confs
Dear Hak5 Team, it was a great tutorial! It helped me learning the complete process of setting up VPN very clearly. But I was wondering how to scale it up? For example, the openvpn server is running in one instance now. But how to use another instance behind a DNS (or Load balancer) so that the IP remain same but my service can handle more clients? Need this concept for academic purpose. Will you please make a tutorial on this topic, it will be really helpful. Thanks
When I did this I ended up sending the cert to my android and it was wanting to connect to my internal network address rather than my external network?
Well, a great video but a couple of problems. After running the instructions implicitly, it killed my connection to my apache server running on the box hosting a website and my ssh which I had going to another port besides port 22. :/ Might be a good point to bring up some finer details on what the firewall config may cause if you have some preconfigured things done on the box you're setting this up on.
It appears that there have been a number of changes since 2016. Wondering if you might do an update for 2019? (I initially thought this was a 2019 tutorial because of the title.)
@@josh_fisherits because its pointing to a file that isnt there. in the /etc/openvpn/easy-rsa directory run: ln -s openssl-1.0.0.cnf openssl.cnf, which symlinks the openssl.cnf file to the one with a version... hope this helps, you arent the only one that has had the problem :)
Yes vote for IPv6 episode in depth!
why you want to know about ipv6?
I love my Pi, but i bought a refurbished HP ProLiant DL360 G7 for less than $200 off Amazon and this thing is a beast. I’m loading down every home service I need, from Plex-Media to DNS Blackhole. I’m looking forward to testing this OpenVPN install video when I get home tonight.
Thanks Hak5. As always, your tutorials are second to none. Fun, detailed, and insightful in ways only seasoned veterans of the field can provide.
You guys rock. I just followed this video and set up an OpenVPN server on a Raspberry Pi on my home network. and it works. I must confess that I followed another of your vids about OpenVPS SA on a VPS, and that didn't work for me (I kept getting four different 10.x.x.x subnets, and the gateway at home (the Pi) and the client (a laptop) ended up on different subnets) , and the simplified script based setups out there in Internet Land didn't work for me either (I think it may have been routing issue). Anyway - it's working now. Great!
Keeps up the good work.
You are by far the best teacher for soft soft . It's very complicated at first - overwhelming, actually - but, you make it doable for
This was a great run through. Thanks so much for making this pretty straight forward. This gave me what I did not have before. Going through docs and tutorials and the like it always had a LOT of extra. This was just a handbook on "Lets just make this work." You rock!
i love the way you put everything you used in the description makes it easier to refer to
Awesome episode, welcome back guys!
Darren did a really good job of keeping a 50+ minute setup and operation video interesting. I bet this is going to help a lot of people! Setting things up on my Pi 3 right now!
I'm a total hacking noob, but this was so much fun to watch. I'll get this running, and I'll also enjoy seeing your videos about raspberry pi and RF. Keep up the good work!
This is very good and well done. Just very thorough IMAO. Been researching this for some days now and this is the best I have come across so far.
an episode on ipv6 would be great. Thanks for the amazing video, guys.
Thanks for the kind words, I'm always happy to help! Let know if you'd like any videos on specific topics in the future. I wish you all the
I just fixed my own Pi3-based OpenVPN box thanks to your tips about the firewall.
Thank you very much!!
Tried it out on a virtual machine first. Worked first time! Soon to be on my cloud server.
Nice one guys!
Finally a complete step by step tutorial, and it works, got it working on a Ubuntu 16.04 desktop and a nVidia Jetson TK1. Awesome ! Thanks !
In fact it works well locally but not over the Internet. My client gives a TLS Error: TLS key negotiation failed to occur within 60 seconds.
It looks like a firewall issue on port 1194. Anyone got this error ?
Is it port forwarded?
You mean on the router? I have a basic router where I can only do simple port mapping : I can set a local IP address, a protocol, local port and public port. I set my vpn server local IP to UDP and both ports to 1194, but it is not working. Is there something I missed ? Or my router is not suitable ? Thanks!
Any router should have some form of port forwarding. What router do you have?
I have the Vodafone EasyBox 804. Do you recommend any router ?
This is the first of your vids I've watched - you guys are super fun, subscribed.
just 3 years away from 2026. You did great job regarding explanation.
please make the ipv6 video
Yes please.
Yes please ipv6 video i remember it is a bunch of hex bytes to write one ipv6 address and i hate hex i have ten fingers :(
I would like to see that as well. Its one of those things im not too keen on =/
: ) The trick is to use the ridges in your fingers, along with the top of each. We have 8 fingers with 4 bits on each half byte, or hex from 0-F on one hand and 00-F0 on the other. This makes thinking binary and hex a little easier. Look up the Hexadecimal finger-counting scheme.
anders ballegaard and I was feeling lost before you told me it gets more complicated.
this is the best tutorial i have ever seen on the net.
Thanks Darren, I was pulling what little hair I have left trying to configure an OpenVPN server.
Off to deploy this tech for my travels.
Snubs, the mnemonic helps me where the wrong character can make you elated or deflated.
The Best Explanation !!! I referred to many videos , but out of all tNice tutorials was the best I could find among all .... Also got to know many tNice tutorialngs
Of all the effen tutorials, you guys got me up and running. Thank you!
great show guys loved the detailed content and the long duration with comprehensive walk through. much appreciated.
for all the raspberry pi users check out pivpn it is the easiest way to install openvpn
I know, I know, 2 years later...
First, thanks for this - its very informative, and you'd be surprised how few VPN server setup walkthroughs there are out there. If you all are still paying attention to comments, it might be cool to give a refresher on why "allow ssh" on its own isn't very safe (just explain you're keeping your putty session active). Not sure if you guys have done a ssh keypair video but i'd love to see an updated/current one.
I "hacked" my way through this alone. I wish this video was available when I was working this out. Needless to say my solution is functioning the same but I ended up making things a bit more complicated. Great job on this video!
I would like to see an ipv6 video.
lol
Would love to see an in-depth IPv6 episode showing up! Keep up the good stuff! :)
Great job! You guys should do a video where you tunnel openvpn through Stunnel or any other methods that can bypass deep packet inspections. Getting Stunnel to work took me 10+ hours so I would love to see what other methods you guys can pull off!
WOW, what a fantastic demo. I could follow every step. It was all crystal clear and matched my requirements precisely. Nice hats too.
All working perfectly after realising I'd messed up by uncommenting the line "tls-auth ta.key 0 #" as directed by some shoddier how-to page. My bad should have come here first!!!. But Seriously, this was great. Thank You Thank You Thank you.
i truly support ur programs guys because I am a unix guy.
Please do a Ipv6 episode!
@Hak5 - I can't like this episode enough times!
I will be playing around with OpenVPN server running on OpenWRT to manage a few remote networks. I also loved episodes #2017 and #2018; I'm drafting some ideas for my backpack "Network pocket" (housing hotspot gear, and extra storage, etc)...
I'll publish a photo and tag yo guys. I need an extra nano =). #jokeNotjoke.
Anyway - Love your show. I've been a fan for over nine years!
Literally the greatest
Welcome back Hak5, welcome back!
Congratulations on the podcast Award.
You guys are lovely. Thank you for a great video, I learned a lot here.
This tutorial helped me out so much, both of you are great. Thanks!
+1 for an 'ipv6 for dummies'!!!
I would like an IPv6 episode
Also why the Return on empty lines between commands?
the empty lines is to keep things clean he always do that.
Yes, do an IPv6 episode! We need more people to be aware of, and fluent with, IPv6!
Fantastic tutorial guys. Thank you for making this video.
Thanks for the tutorial , now I get the server running on my Rpi ! Feel for u guys and keep it up~
HEEELP!
at around 36:18, he says he gets the new tun0 network interface, because he had started the openVPN service, but I don't get that device when I type ifconfig...! :-\ Why is that...?
I am running Debian 8.6 on Pi
Great tutorial
A while ago I was looking for him
IIIIIIIIIIII LOOOOOOOOOOOOOOOOOOOOOOOOOOVEEEEEE YOUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU I spent straight 3 hour on the Arch wiki and now it work omg I was so so close 17:41 I put tun0 instead of the real one lmaoooo i'm so glad it work
You guys are great! Keep up the good work!
ip6 yes please
Man I love when things are badly documented
been waiting for this
In 5 years I will come back to say that even though we have fireguard, this is still relevant
good work and thank you so much, Greetings from Egypt
i love you guys. thanks for the awesome videos
Edit :
My appologies. When using a config file, omit the leading double dash "--" for the command. Simply put tun-ipv6 in it, then follow the rest.
Original Post
"For IPv6, you need to add the --tun-ipv6 to the profile/config file. You then replace IPv4 addresses with IPv6 addresses.
Be warned. Most people are NOT on IPv6 yet, as most admins don't want to take the time to comprehend what the new formula is. Also, subnets become a thing of the past, due to the number of possible addresses being such that you could assign one to every grain of sand on Earth....
Option explained :
--tun-ipv6 Build a tun link capable of forwarding IPv6 traffic. Should be used in conjunction with --dev tun or --dev tunX. A warning will be displayed if no specific IPv6 TUN support for your OS has been compiled into OpenVPN."
Bro it’s very intimidating! I’ve been slacking on it for a month now. The symbols are very confusing. You have to train your mind to
you're doing great, thanks!
Right here with ya, bro
Please update this tutorial again. Make it based on new versions. Thanks. Awesome channel.
If you’re getting a KEY_CONFIG error stating the openssl.cnf is not correct or similar, use this while in the specified directory of the issue (where build-ca is located): ln -s openssl-1.0.0.cnf openssl.cnf
Well said at the end.
love the hats!
thanks a lot! you are a cool team!
Can you guys do an episode on how o set up openVPN with a connection tethered from your phone ? You mentioned that's how you operate at home, and so do I. Would hugely appreciate it... And yeah we don't mind long episodes :-)
Thank you!! . gonna try this on my PI. I now know the steps I missed :D
Awesome tutorial 💯 thanks
Shannon's mike seemed a lot louder than Darren's in this ep, just me? great ep though (y)
HEEELP!
at around 36:18, he says he gets the new tun0 network interface, because he had started the openVPN service, but I don't get that device when I type ifconfig...! :-\ Why is that...?
I am running Debian 8.6 on Pi
I found the error I made. In this video, he names his crt and key files the standard 'server' name. I made my files with a custom name for myself, and I had to define my own filenames in the server.conf config file. After that and restart the service, my network interface popped up, and it was working :) If you are going with custom names, don't forgtet to define the custom client keynames in the OVPN file too
Ilannguaq Kivioq for a grand total of 4 files right? server.crt server.key client.crt client.key
Ilannguaq Kivioq nevermind. rebooted and now I'm getting tun0
this is fantastic!
Thank you very much for this nice guide!
Yes, IPv6 and networking protocols please!
ty i love ur videos
and build tracks from there and leave the rest for a later session. I did both but did the first way initially and it took a day to get through
Thanks a lot for your hak.
Okay Ive tried this twice. I cant get it to work. The tunnel is connected and I receive an ip address from the vpn server. No internet connectivity.
I've got a bullet proof configuration using diffie-hellman 4096 RSA keys with fail2ban to protect the OpenVPN as well...
And password authentication on top of it.
will you ever post an updated version of this? half of the commands just wont work at all since easy-rsa has updated so much.
and you are using sysV while 2020 pretty much uses systemd
I miss these videos threatwire is pretty boring i can get that news any day of the week!
I recomnd you two to buy the Producer Edition (And if you have got money, buy the Full Bundle)
I feel you!
I would love a IPv6 video!
IPv6 episode FTW!
would like to see a ipv6 episode as well.
Hey!!! Just awesome
thanks a lot + Please do a Ipv6 episode!
Hey guys, been a real fan for a long time, quisck question... when you mentioned to be able to through this build into an arduino... any arduino specific in mind?
cool cool stuffs thanks guyss
don't you have to port forward in you router ? i'm confused this is different from other OpenVPN setups
I did all of this and it's not what i'm looking for, BUT HEY I LEARNED SO MUCH ABOUT LINUX FROM THIS VIDEO !!! thanks guys.
Lifesavers thanks
I'd add one thing... you probably should put your CA on another server than your openvpn server, just in case it gets compremised.
else if the openvpn server gets cracked all they have is the CA's public key and not the private key to create their own valid vpn client confs
So openvpn is creating a symmetric keys the background and putting it into the .ovpn file?
you can make alarms & notifications with iptables when can you do a tut on this? :) it takes some googling but last time i checked it got advanced lol
Dear Hak5 Team, it was a great tutorial! It helped me learning the complete process of setting up VPN very clearly. But I was wondering how to scale it up? For example, the openvpn server is running in one instance now. But how to use another instance behind a DNS (or Load balancer) so that the IP remain same but my service can handle more clients? Need this concept for academic purpose. Will you please make a tutorial on this topic, it will be really helpful. Thanks
When I did this I ended up sending the cert to my android and it was wanting to connect to my internal network address rather than my external network?
@Darren! when going back and forth between directories, type cd -
Have you guys done a segment on proxy-chaining ?
this is great thanks
Great video! But, this means for every user I have to create a user account on that Linux server?
Well, a great video but a couple of problems. After running the instructions implicitly, it killed my connection to my apache server running on the box hosting a website and my ssh which I had going to another port besides port 22. :/ Might be a good point to bring up some finer details on what the firewall config may cause if you have some preconfigured things done on the box you're setting this up on.
one more point, I don't think ( I could be wrong) root scp would work for me since I don't allow root login from outside remotely.
But after specific changes, WORKED PERFECTLY! Thanks guys!
Hey, I just wanted to check briesofty if there is a way for to import a new soft into the program, for example softs or sotNice tutorialng that
It appears that there have been a number of changes since 2016. Wondering if you might do an update for 2019?
(I initially thought this was a 2019 tutorial because of the title.)
Please install and use ranger for your shell footage. Please...
ILOVE THIS GRIL !! SHE IS SUPER CUTE !!
Darren, whats the deal with the bandana on your wrist? Is that for a purpose or fashion?
No /etc/openvpn/easy-rsa/openssl.cnf file could be found
Further invocations will fail
I have the same issue. Found a fix?
@@josh_fisherits because its pointing to a file that isnt there. in the /etc/openvpn/easy-rsa directory run: ln -s openssl-1.0.0.cnf openssl.cnf, which symlinks the openssl.cnf file to the one with a version... hope this helps, you arent the only one that has had the problem :)
@@mrslwiseman
Thank you very much You show me the way