How to connect to VPN from the command line in Linux?

I have different tunnels that I configured using the network manager GUI.

When I login to my desktop, I'm connected to the internet without any tunnels. To connect to a tunnel, I usually click on the network manager tray icon > VPN connections > Some VPN

I need that done automatically on startup, so I need to know how to do that in the cli.

It would also be nice if I could make sure that no application connects to the internet before the connection is tunneled.

Any ideas?

I'm using Ubuntu 12 and openvpn.


You should have nmcli in that version

nmcli con list

That will list connections you have setup. Find the VPN one

nmcli con up uuid <uuid>

This is what the OpenVPN HOWTO says: "If you install OpenVPN via an RPM package on Linux, the installer will set up an initscript. When executed, the initscript will scan for .conf configuration files in /etc/openvpn, and if found, will start up a separate OpenVPN daemon for each file.". Ubuntu is derived from Debian, and may have a different structure.

Check in /etc/openvpn if you have that dir and .conf files, then if you have in /etc/rc5.d/ a link to the initscript. To check if the tunnel is up, you may ping the other side of the vpn.