Difference between revisions of "IPsec VPN"

From Amahi Wiki
Jump to: navigation, search
 
(45 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 you set up
+
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) =
 +
 
 +
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.
  
= iOS Setup =
+
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.
  
Go to Settings > Network > VPN > IPSec, enter the settings below and click on Save.
+
1. Open a terminal on your HDA or use SSH.<br />
  
* Description: Amahi IPSec VPN
+
2. Go to /etc/racoon.
* Server: YOURNICK.yourhda.com            (put your Amahi dyndns address, nickname and host)
+
  cd /etc/racoon
* 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.
+
3. Back up the original racoon.conf in case things break.<br />
 +
cp racoon.conf racoon.conf.orig
  
== iPad ==
+
4. As root user, open racoon.conf with your favorite editor.
 +
sudo nano racoon.conf
  
It should look something like this on the [http://www.apple.com/ipad/ iPad 2], iOS 4.x
+
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>
  
[[Image:IPSec VPN iPad 2.png]]
 
  
== iPhone 3, iPod Touch ==
 
  
It should look something like this on the [http://www.apple.com/iphone/iphone-3gs/ iPhone 3], iOS 4.x
+
<b>NOTE:</b> Let's concentrate on the two lines that were changed: "split_network" and "split_dns".
  
[[Image:IPSec VPN iPhone 3.png]]
+
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>     
  
== Windows 7 ==
 
  
Currently we only support one IPSec VPN client, a free client from Shrew Soft
+
7. Also change "split_dns" to the name that I changed home domain to...
 +
<pre>mode_cfg {
 +
~~
 +
        split_dns "amahi3.com";</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]]
+
8. Save your work<br />
  
* Go into the Authentication tab
+
9. Restart the racoon server
* 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]]
+
sudo service racoon restart     
  
* 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.
 
* The rest of things should work as default
 
* Save
 
  
[[Image:IPSec VPN Win7 Client Credentials.png]]
+
Or open up your HDA dashboard, click on settings->servers and restart the IPSEC server.
  
* Finally click on connect or double click on the profile for your VPN
+
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.
* Input your username and password for a user in your Amahi HDA
 
  
[[Image:IPSec VPN Win7 Client Connect.png]]
+
= Route all traffic through VPN (Fedora) =
  
* If all goes well, you should be connected and you should see this welcome message:
 
  
[[Image:IPSec VPN Win7 Client Connected.png]]
+
Solution for IPSec VPN Server in Fedora 19 with Amahi 7 in order to Forward all traffic through the VPN
  
* Press OK. To disconnect, close this window or press on Disconnect.
+
<br>
 +
1. At /etc/racoon/racoon.conf
 +
delete the 2 lines with split in mode_cfg  :
  
* For easy use, these are the recommended settings
+
split_network include 192.168.1.0/24, 10.8.1.0/24;
* Enable it to be visible in the Tray only, so that it's less obtrusive when it connects
+
split_dns "home.com";
* 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]]
 
  
= Max OS X Setup =
+
2. At your Hda run ifconfig to see what is your network interface.
 +
<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
 +
<br>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
  
Similar to iOS.
+
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.