Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm looking to use something like OpenVPN between 2 systems to create a secure private and reliable connection. However on the OpenVPN site they don't have much information regarding Linux VPN clients (only servers). Is there a way to have one Ubuntu OpenVPN server with the other Ubuntu client connecting directly to it? This would be all using the SERVER versions of the OS without any X or GUI stuff.


share|improve this question

Designate one machine as a OpenVPN server and one machine as a client. The client connects to the server and you will have a bi-directional VPN link. If both of the machines are always connected with a static IP, it does not really matter which one is the server and which one is the client.

I do not understand how X or GUI stuff or server/non-server versions of operating systems matter. OpenVPN does not care.

Another possibility is tinc. It is easy and simple like OpenVPN.

share|improve this answer
don't use tinc. Read this – goo Aug 2 '11 at 19:10
@Geoff, that is interesting. I edited my answer to redact the recommendation to use it. – snap Aug 2 '11 at 19:18
@goo, that article is from Sep 2003, could tinc have been ameliorated since? – Alexis Wilke May 25 at 22:38

Yep, works fine. You'll want to make sure that you don't have a password on your keys, though; otherwise you'll need to enter a password on each boot. And that means it should have its permissions properly restricted (not that they were open in the first place... right? ;) ).

You should write a client configuration and place the file in the OpenVPN configuration directory with a filename ending in .conf. On startup, every .conf file in the directory will spawn an OpenVPN process. A client conf will connect to an OpenVPN server, a server conf will spawn an OpenVPN server.

share|improve this answer

I'm still a huge fan of sshuttle:

The most basic use of sshuttle looks like: ./sshuttle -r username@sshserver -vv

If you would also like your DNS queries to be proxied through the DNS server of the server you are connect to: ./sshuttle --dns -vvr username@sshserver 0/0

See a previous answer of mine for more details.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.