Difference between revisions of "IPsec VPN"

From Amahi Wiki
Jump to: navigation, search
 
(42 intermediate revisions by 6 users not shown)
Line 1: Line 1:
We now have a new [http://www.amahi.org/apps/ipsec-vpn IPsec VPN] app for your HDA.
 
  
 +
We now have a new Amahi [http://www.amahi.org/apps/ipsec-vpn IPsec VPN app] for your HDA!
 +
 +
= Introduction =
 
This VPN stack has many advantages, although it still requires two ports to be forwarded from your router to your HDA. These are
 
This VPN stack has many advantages, although it still requires two ports to be forwarded from your router to your HDA. These are
  
Line 7: Line 9:
 
UDP, not TCP.
 
UDP, not TCP.
  
Below is how to set up clients for various client operating systems.
+
Here is how to set up clients for various client operating systems:
 +
 
 +
* [[IPSec VPN iOS Client | iOS]] (iPad, iPhone, iPod) built-in client
 +
* [[IPSec VPN Windows Client | Windows 7]]
 +
* [[IPSec VPN Mac OS X Client | Mac OS X]] built-in client
 +
* [[IPSec VPN Android Client | Android]] built-in client, (ICS, i.e. 4.x or later)
 +
 
 +
 
 +
The Android (2.x/3.x) OS is known to be broken with respect to [http://www.amahi.org/apps/ipsec-vpn IPSec VPN].  See [[IPSEC/L2TP_VPN_Server|here]] for a manual implementation that should work.
 +
 
 +
'''NOTE:'''  By default, the VPN will only route traffic destined for your home network via the VPN.  General web traffic etc, will *not* be encrypted.  To change this behaviour so that all network traffic from your client is routed via your VPN, edit /etc/racoon/racoon.conf and remove the lines beginning "split_network" and "split_dns". The restart racoon.
 +
 
 +
= Changing Secret and/or Group Name =
 +
 
 +
Optionally, you can change the secret and/or group name.
 +
 
 +
For that, you have to be able to edit a system file as root.
 +
 
 +
Become root via ssh or a terminal and then edit this file:
 +
 
 +
          /etc/racoon/psk.txt
 +
 
 +
This file has two field separated by at least one space. The first one is the Group name and the second is the Secret. Change them , keeping in mind that.
 +
 
 +
The changes will be picked up automatically a few seconds later. If you want to make sure, perform a:
 +
 
 +
        service racoon restart
 +
 
 +
= Route All traffic through VPN (Amahi 6/Ubuntu) =
  
= iOS Setup =
+
After you install IPSEC VPN and configure your router and iPhone correctly, you may find that Twitter and Facebook are still blocked by some networks. Also searching for "what is my ip" via Google or your favorite search engine will report back that you are still on the local network.
  
Go to Settings > Network > VPN > IPSec, enter the settings below and click on Save.
+
The Amahi VPN is set to use a split VPN tunnel by default.  If you want to use blocked services while behind somebody's internet filters, you can use these steps to encrypt your traffic and use blocked services like Twitter and Facebook.  
  
* Description: Amahi IPSec VPN
+
Below are the steps to direct all traffic through the VPN. Please note this will divert all of your traffic through your HDA, but you will not be able to access some of your network resources.
* Server: YOURNICK.yourhda.com            (put your Amahi dyndns address, nickname and host)
 
* Account: USERNAME
 
* Password: leave it as "Ask Every Time" or put one if you feel it's safe to leave it there
 
* Use Certificate: leave it as OFF
 
* Group Name: Amahi  (with a capital A)
 
* Secret: this is the 4-character you got the when you installed the IPSec VPN app in your HDA
 
* Proxy: leave it as off
 
  
Below you can see how the setup area looks in a few Apple iOS devices.
+
1. Open a terminal on your HDA or use SSH.<br />
  
== iPad ==
+
2. Go to /etc/racoon.
 +
cd /etc/racoon
  
It should look something like this on the [http://www.apple.com/ipad/ iPad 2], iOS 4.x
+
3. Back up the original racoon.conf in case things break.<br />
 +
cp racoon.conf racoon.conf.orig
  
[[Image:IPSec VPN iPad 2.png]]
+
4. As root user, open racoon.conf with your favorite editor.
 +
sudo nano racoon.conf
  
== iPhone 3, iPod Touch ==
+
5. Go to the line with "mode_cfg".
 +
<pre>mode_cfg {
 +
auth_source system;
 +
        save_passwd on;
 +
        network4 10.8.1.1;
 +
        netmask4 255.255.255.0;
 +
        pool_size 10;
 +
        dns4 192.168.1.10;
 +
        wins4 192.168.1.10;
 +
        default_domain "amahi3.com";
 +
        auth_throttle 60;
 +
        split_network include 198.162.1.0/24 10.100.100.0/24;
 +
        split_dns "home.com";
 +
        banner "/etc/racoon/welcome.txt";
 +
}</pre>
  
It should look something like this on the [http://www.apple.com/iphone/iphone-3gs/ iPhone 3], iOS 4.x
 
  
[[Image:IPSec VPN iPhone 3.png]]
 
  
= Windows 7 =
+
<b>NOTE:</b> Let's concentrate on the two lines that were changed: "split_network" and "split_dns".
  
Currently, Amahi only supports one IPSec VPN client for windows, a free client from Shrew Soft. (Report others that also work well please)
+
6. Change split_network from "include" to "local_lan" and delete the 198.162.... range.
 +
<pre>mode_cfg {
 +
~~
 +
        split_network local_lan 10.100.100.0/24;</pre>     
  
* Download and install the [http://www.shrew.net/download/vpn/vpn-client-2.2.0-beta-2.exe Shrew Soft Client]. (Their [http://www.shrew.net/download/vpn Windows VPN Client download page] may have more recent versions.)
 
* Open the client, called '''VPN Access Manager''' and click on + (Add) to add a configuration
 
* Enter '''YOURNICK.yourhda.com'''. Replace YOURNICK with your actual HDA nickname, so that your DynDNS works.
 
  
[[Image:IPSec VPN Win7.png]]
+
7. Also change "split_dns" to the name that I changed home domain to...
 +
<pre>mode_cfg {
 +
~~
 +
        split_dns "amahi3.com";</pre>
  
* Go into the Authentication tab
 
* Select '''Mutual PSK + XAuth'''
 
* Under the Local Identity tab, select Key Identifier, enter Amahi (this is called the Group Name and acts as an extra layer of protection)
 
  
[[Image:IPSec VPN Win7 Client.png]]
+
8. Save your work<br />
  
* In the Credentials tab, the Pre Shared Key should be ready to take the VPN secret obtained in the VPN web page inside your HDA.
+
9. Restart the racoon server
* The rest of things should work as default
 
* Save
 
  
[[Image:IPSec VPN Win7 Client Credentials.png]]
+
sudo service racoon restart     
  
* Finally click on connect or double click on the profile for your VPN
 
* Input your username and password for a user in your Amahi HDA
 
  
[[Image:IPSec VPN Win7 Client Connect.png]]
+
Or open up your HDA dashboard, click on settings->servers and restart the IPSEC server.
  
* If all goes well, you should be connected and you should see this welcome message:
+
Searching for "what is my ip" via Google or your favorite search engine should now report your home VPN.  You should then be able to use Twitter and Facebook through your VPN.
  
[[Image:IPSec VPN Win7 Client Connected.png]]
+
= Route all traffic through VPN (Fedora) =
  
* Press OK. To disconnect, close this window or press on Disconnect.
 
  
* For easy use, these are the recommended settings
+
Solution for IPSec VPN Server in Fedora 19 with Amahi 7 in order to Forward all traffic through the VPN
* Enable it to be visible in the Tray only, so that it's less obtrusive when it connects
 
* If this is a computer you trust, you may want to also set the "remember the connection username", for even easier use
 
  
[[Image:IPSec VPN Win7 Client Preferences.png]]
+
<br>
 +
1. At /etc/racoon/racoon.conf
 +
delete the 2 lines with split in mode_cfg  :
  
= Max OS X Setup =
+
split_network include 192.168.1.0/24, 10.8.1.0/24;
 +
split_dns "home.com";
  
Similar to iOS.
 
  
* Open System Preferences > Network
+
2. At your Hda run ifconfig to see what is your network interface.
* Click on the '''+''' sign to create a new service
+
<br>At /etc/racoon/amahi-up-down change the lines 19 and 26 from eth0 to em1 because this is the network interface of my Hda. The changes are
* For Interface select '''VPN''. For VPN type select '''Cisco IPSec'''. Give the service a name, like '''Amahi Home''' and click on Create
+
<br>from:
* Once added, select it. In the Server Address put '''YOURNICK.yourhda.com''' (replace YOURNICK with your nickname).
+
iptables -t nat -A POSTROUTING -s ${INTERNAL_ADDR4}/32 -o eth0 -j MASQUERADE
* In Account Name, put your username. Leave password empty unless you trust this computer.
+
to
* Click on Authentication Settings
+
iptables -t nat -A POSTROUTING -s ${INTERNAL_ADDR4}/32 -o em1 -j MASQUERADE
* In Shared Secret, put the Group Setting from your internal IPSec VPN. In Group Name, enter '''Amahi'''. Click OK
 
* You can now click on Connect to connect!
 
* You can also click on "Show VPN status in menu bar" for quick access to the VPN connection
 
* Click on Apply to save these settings
 
  
 +
and from:
 +
iptables -t nat -D POSTROUTING -s ${INTERNAL_ADDR4}/32 -o eth0 -j MASQUERADE
 +
<br>to
 +
iptables -t nat -D POSTROUTING -s ${INTERNAL_ADDR4}/32 -o em1 -j MASQUERADE
  
[[Category:Apps]]
+
Finally go to <nowiki>http://hda</nowiki>->Setup->Settings->Servers and restart the IPsec VPN Server.

Latest revision as of 10:30, 13 June 2017

We now have a new Amahi IPsec VPN app for your HDA!

Introduction

This VPN stack has many advantages, although it still requires two ports to be forwarded from your router to your HDA. These are

 500 UDP and 4500 UDP

UDP, not TCP.

Here is how to set up clients for various client operating systems:


The Android (2.x/3.x) OS is known to be broken with respect to IPSec VPN. See here for a manual implementation that should work.

NOTE: By default, the VPN will only route traffic destined for your home network via the VPN. General web traffic etc, will *not* be encrypted. To change this behaviour so that all network traffic from your client is routed via your VPN, edit /etc/racoon/racoon.conf and remove the lines beginning "split_network" and "split_dns". The restart racoon.

Changing Secret and/or Group Name

Optionally, you can change the secret and/or group name.

For that, you have to be able to edit a system file as root.

Become root via ssh or a terminal and then edit this file:

         /etc/racoon/psk.txt

This file has two field separated by at least one space. The first one is the Group name and the second is the Secret. Change them , keeping in mind that.

The changes will be picked up automatically a few seconds later. If you want to make sure, perform a:

        service racoon restart

Route All traffic through VPN (Amahi 6/Ubuntu)

After you install IPSEC VPN and configure your router and iPhone correctly, you may find that Twitter and Facebook are still blocked by some networks. Also searching for "what is my ip" via Google or your favorite search engine will report back that you are still on the local network.

The Amahi VPN is set to use a split VPN tunnel by default. If you want to use blocked services while behind somebody's internet filters, you can use these steps to encrypt your traffic and use blocked services like Twitter and Facebook.

Below are the steps to direct all traffic through the VPN. Please note this will divert all of your traffic through your HDA, but you will not be able to access some of your network resources.

1. Open a terminal on your HDA or use SSH.

2. Go to /etc/racoon.

cd /etc/racoon

3. Back up the original racoon.conf in case things break.

cp racoon.conf racoon.conf.orig

4. As root user, open racoon.conf with your favorite editor.

sudo nano racoon.conf

5. Go to the line with "mode_cfg".

mode_cfg {
	auth_source system;
        save_passwd on;
        network4 10.8.1.1;
        netmask4 255.255.255.0;
        pool_size 10;
        dns4 192.168.1.10;
        wins4 192.168.1.10;
        default_domain "amahi3.com";
        auth_throttle 60;
        split_network include 198.162.1.0/24 10.100.100.0/24;
        split_dns "home.com";
        banner "/etc/racoon/welcome.txt";
}


NOTE: Let's concentrate on the two lines that were changed: "split_network" and "split_dns".

6. Change split_network from "include" to "local_lan" and delete the 198.162.... range.

mode_cfg {
~~
        split_network local_lan 10.100.100.0/24;


7. Also change "split_dns" to the name that I changed home domain to...

mode_cfg {
~~
        split_dns "amahi3.com";


8. Save your work

9. Restart the racoon server

sudo service racoon restart      


Or open up your HDA dashboard, click on settings->servers and restart the IPSEC server.

Searching for "what is my ip" via Google or your favorite search engine should now report your home VPN. You should then be able to use Twitter and Facebook through your VPN.

Route all traffic through VPN (Fedora)

Solution for IPSec VPN Server in Fedora 19 with Amahi 7 in order to Forward all traffic through the VPN


1. At /etc/racoon/racoon.conf delete the 2 lines with split in mode_cfg :

split_network include 192.168.1.0/24, 10.8.1.0/24;
split_dns "home.com";


2. At your Hda run ifconfig to see what is your network interface.
At /etc/racoon/amahi-up-down change the lines 19 and 26 from eth0 to em1 because this is the network interface of my Hda. The changes are
from:

iptables -t nat -A POSTROUTING -s ${INTERNAL_ADDR4}/32 -o eth0 -j MASQUERADE

to

iptables -t nat -A POSTROUTING -s ${INTERNAL_ADDR4}/32 -o em1 -j MASQUERADE

and from:

iptables -t nat -D POSTROUTING -s ${INTERNAL_ADDR4}/32 -o eth0 -j MASQUERADE


to

iptables -t nat -D POSTROUTING -s ${INTERNAL_ADDR4}/32 -o em1 -j MASQUERADE

Finally go to http://hda->Setup->Settings->Servers and restart the IPsec VPN Server.