Friday, December 27, 2013

iPhone/Android VPN to PPTP VPN Server on TomatoUSB Router

iPhone/Android Phone Home - PPTP VPN Server for iPhone or Android on TomatoUSB Router

This is a quick tutorial on how to setup a PPTP VPN Server on your TomatoUSB Router. A PPTP VPN is ideal because it's fairly secure, simple to setup and both Android and iOS has built in PPTP VPN Clients which makes it convenient.

A VPN is a secure way for an iPhone or Android device to access local network resources such as internal web sites (SSL not required for secure access), samba shares, and SqueezeBox Server without the need to open up additional network ports on the router.

If you're looking for a router for this project, check out my [Tutorial] Apple AirPlay on TomatoUSB Router.

Assumptions:

1) You're running Shibby's BIG-VPN build of TomatoUSB
2) Dynamic DNS is setup (Required for Client Setup). See my
[Tutorial - 30 Minutes or Less] Site to Site VPN with TomatoUSB and OpenVPN post for instructions on setting up Dynamic DNS Address.

Steps:

1) Configure PPTP Server
2) Configure iPhone (iOS 7) VPN Client and Connect
3) Configure Android VPN Client and Connect - In Progress

Configure PPTP Server

Log into your TomatoUSB Router and go to VPN Tunneling->PPTP Server.

On the PPTP Server Configuration Page:

- Check Enable
- For Remote IP Address Range, pick a small IP Address range that is outside the scope of your DHCP Server but on the same network segment. For instance, I'm using 192.168.200.X as my network segment. My DHCP Server IP Adddress Range is 192.168.200.101-151. So I used 192.168.200.10-11 (outside the DHCP Range), giving me two IP Addresses (for two incoming iPhone).
- Set Broadcast Relay Mode to Both
- Set Encryption to MPPE-128
- Leave DNS Servers, WINS Servers, MTU and MRU at the default values.
- Under PPTP User List, add a user and set a password. You will need this info during the next step, Configure iPhone VPN Client.
- Save


Configure iPhone VPN Client and Connect

On your iPhone, go to Settings->General->VPN->Add VPN Configuration.
Select PPTP
Fill in the Description
For Server use your Dynamic DNS Address
Account name ("pptpuser" in this tutorial) and password.
Leave everything else as default.
Save.


Settings->General->VPN->Add VPN Configuration

Turn on VPN by going to Settings and sliding on "VPN". Note the "VPN" icon next to the clock when connected to VPN.

Turn iPhone VPN on by going to Settings and sliding on VPN

Configure Android VPN Client and Connect

Go to "Wireless and network" settings -> VPN settings.
Select "Add PPTP VPN"
Set VPN server name
Enable Encryption