Raspberry Pi Powered OpenVPN – Client Side

You may also like...

19 Responses

  1. Tayo Adewale says:

    Nice tutorials for both Server and Client, thanks

  2. Jhon Albert says:

    Beautiful tutorial about vpn and servers.. Same kind of steps i have learned few months back on vpnranks a platform for learning about vpn industries..

  3. Interested guy says:

    very good until here, but…
    how do i use this? I follow you to here, what’s next? do i need some vpn client? or what?

  4. Nico Verduin says:

    Sofar all is installed. How do I get a windows client to connect?

    • Sorry for the late reply. I’m not a windows user but I found this video on YouTube which seems to be what your looking for, also shows you how to make use of the OPVN config file – – If its not right let me know and I’ll see if I can fire up a windows machine and write a proper how-to

      • Nico Verduin says:

        I found a couple of other related tutorials. Seems to work now. The biggest problem I had was eventually the DNS. I could ping to but no DNS translation. Then I changed it to the DNS IP in my router (I have ZIGGO in the Netherlands). Seems to work like a charm now.

  5. Daniel says:

    Great article, got my VPN set up quickly, although I had a bit of a problem with an additional USB NIC causing internet connection losses – apart from that, quick and easy.

  6. Scott Hather says:

    Great, got right to the end and does not exist. 🙁

  7. devnull says:

    great tutorials Stuart having setup openvpnas server before…couldn’t see the part2 for adding the *.ovpn file to and android device, but worked it out once I had it on my phone with the client!!

  8. Jackal Hunter says:

    Marvellous, thanx for the info.
    Is there any way to add to the generated .ovpn the PEM password, so that the OpenVPNClient does not always ask for the password? Android OpenVPN asks for saving, but Win10 64bit does not.. I have to always type the password..

    • Jackal Hunter says:

      Well. The OpenVPN Server works, but all trafic is not redirected through raspberry pi.. I added “redirect-gateway” to the .ovpn client file but it did not do the efect.

  9. Jackal Hunter says:

    Your OpenVPN server tutorial in great and system in working. This raises the question on how to use it from another Raspberry PI as client as well? tls_auth is probably the thing that prevents, because user needs to give this password and with raspberry Pi openVPN client there is no way. This needs to be automated.. Can this be done?

  10. skele says:

    after running the script to create ovpn files for my keynames I get: tls-auth Key not found: ta.key

  11. Dominic Luther says:

    The gitlab server link has vanished again!

    • I’m sorry Dominic, I’ve updated the link –

      • Dominic Luther says:

        Thank you so much. That worked for me. Now just 2 things.
        1. For some reason the iptable didn’t stick, so it would stay at ‘waiting for server’. I resolved that by using iptables-persistent and then it worked.
        2. The OpenVPN service doesn’t automatically start either. On boot, if I SSH in it says..

        root@raspberrypi:/home/pi# systemctl status openvpn@server.service -l
        ● openvpn@server.service - OpenVPN connection to server
        Loaded: loaded (/lib/systemd/system/openvpn@.service; disabled)
        Active: failed (Result: exit-code) since Tue 2016-07-26 00:00:11 BST; 54s ago
        Process: 456 ExecStart=/usr/sbin/openvpn --daemon ovpn-%i --status /run/openvpn/%i.status 10 --cd /etc/openvpn --config /etc/openvpn/%i.conf (code=exited, status=1/FAILURE)
        Jul 26 00:00:11 raspberrypi systemd[1]: openvpn@server.service: control process exited, code=exited status=1
        Jul 26 00:00:11 raspberrypi systemd[1]: Failed to start OpenVPN connection to server.
        Jul 26 00:00:11 raspberrypi systemd[1]: Unit openvpn@server.service entered failed state.

        If I manually use systemctl start, then it works. But doesn’t persist and I can’t work out how to make it do so.

Leave a Reply

%d bloggers like this: