Apr 13 2013

Linux: connect to VPN (complete)

Category: TechnicalIuliana @ 22:53

Some time ago at work, I was assigned to a new project. To be able to access client specific resources I needed to be able to connect to a VPN. I was given a domain, username, password and a gateway. All was simple in Windows and all resources were accessible. Among these resources there were some servers (testing, acceptance, stuff like that)  which had the application installed and were accessed through the browser via http. (Example: http://server1:8080/application). But when my request to work on Linux was approved, and I received a fresh Linux workstation to configure as I please, I stumbled across a few problems, because any tutorial on the internet  that explains to you how to set up a VPN connection in Linux is incomplete. So, what did I do?

The first step was to  get all the information from Windows that I could. So I clicked right on the VPN connection and made print-screens of all the properties  shown. Then I logged on to my Linux (Fedora 18 at work, Ubuntu 12.10 at home – I am mentioning this because the steps are identical) and proceeded to create my VPN connection according to the steps here, but always taking a look at the print-screens I took in Windows.  Just to make sure, I also asked my colleague who gave me the VPN details in the first place what type of VPN was it and he said:  “ it’s standard Windows VPN, PPTP. Port 1723″

So the steps I took were:

    1. Click right on Network Connections icon , select  VPN Connections, then click on Configure VPN
    2. In the dialogue window that appeared I clicked on the Add button
    3. A new dialogue window appeared asking me to select the type of the VPN connection. I selected PPTP and clicked on the Create… button.
    4. A new dialogue window appeared with two tabs: VPN and IPv4 Settings
    5. In the VPN tab there was an Advanced button. When clicked a new dialogue window appeared with advanced options to select. I checked everything that I found checked in the Windows print-screens and left unchecked everything that was unchecked in them. In my case I had to deselect all authentication methods but MSCHAPv2 and check everything else in the dialogue box except “Send PPP echo packets”.
    6. And now if you save everything, the connection will succeed. But if you need access to some application installed on some servers accessed via their host names, you will need something called DNS suffix which can be added in the “Additional search domains” textbox in the IPv4 tab.
    7. If you don’t know what value to put there, and your colleagues didn’t tell you,(mine did not) you can do the following. Log into Windows and  connect to the VPN.
    8. Open a Command Prompt terminal and execute the following command: nslookup hostname You should get an output similar to this:
            Server:  hostname.somedomain
            Address:  xxx.xxx.xxx.xxx
  1. Now, copy somedomain in the IPv4 tab, in the “Additional search domains” textbox and save everything.
  2. If you need the same kind of access I needed, also take a look in Firefox and the proxy it uses. Even if I had a successful VPN connection and a correct DNS suffix, I could not connect to http://server1:8080/application because my Firefox was set by default to “Use system proxy settings“. When I set it to “Auto-detect proxy settings for this network” it worked like a charm.

So, these are the steps that I took. I asked a Linux guru friend (Rpx) for help in debugging the VPN settings, because I am not that good at networking and I thought the additional information I discovered with his help, might be useful to somebody else too and that’s why I wrote this post. I will appreciate any kind of feedback.

Tags: , , ,

2 Responses to “Linux: connect to VPN (complete)”

  1. a says:

    you work on a linux box? and you drive a car? and you are a woman?

    sometimes…i am really scared of you

  2. Iuliana says:

    Well .. I am the only one to work on Linux in a company of 50 (local office). I just considered it to be more efficient, because the project has a lot of branches, I have to switch databases and servers all the time. On windows this means a lot of clicks. Unless you want to write *.bat files. And I am not good at that.

    On Linux it means writing a few scripts and executing them when you need to, and writing bash scripts … well.. I’m good at that. And official servers have Linux on them, so it is a similar environment and it is way easier to reproduce bugs.

    When it comes to driving, my boyfriend hates it. And a lot of people in traffic hate it, probably. I am am over careful, I respect the rules ever if there is nobody to see that and I always have patience. So yeah, I guess I am a bad driver.

Leave a Reply