Category:L2TP Handover: Difference between revisions

From AAISP Support Site
No edit summary
No edit summary
Line 2: Line 2:
[[Category:L2TP]]
[[Category:L2TP]]
[[Category:Mobile]]
[[Category:Mobile]]

=A&A links:=
[http://www.aaisp.net.uk/kb-telecoms-mobilel2tp.html www.aaisp.net.uk/kb-telecoms-mobilel2tp.html]
---

This page documents my experiments setting up an LNS for my Revmobile data SIMs.
This page documents my experiments setting up an LNS for my Revmobile data SIMs.



Revision as of 13:40, 26 October 2010


A&A links:

www.aaisp.net.uk/kb-telecoms-mobilel2tp.html ---

This page documents my experiments setting up an LNS for my Revmobile data SIMs.

For the LNS, I used OpenL2TP running on Linux (Debian 'squeeze'). I did some experiments with xl2tpd as well.

SIM Configuration

At the moment you need to ask staff to set up L2TP handover on a SIM (either on IRC, or email support@. You will need to give them the ICCID, the IP address of your LNS, and a shared secret if you want to do tunnel authentication. More on that later.

Setting up OpenL2TP

The OpenL2TP download page only mentions version 1.6. This didn't compile on squeeze without building the l2tp configuration parser by hand with byacc first. If you go to the FTP site there is actually a version 1.7 available, which compiles straight out of the tarball.

This is the configuration I'm using -- with my IP addresses and tunnel secret removed, naturally! If you don't want tunnel authentication, leave out the 'secret=' and 'auth_mode=' lines.

peer profile create profile_name=doubtless
peer profile modify profile_name=doubtless \
	tunnel_profile_name=doubtless \
	session_profile_name=doubtless \
	ppp_profile_name=doubtless \ 
	peer_ipaddr=90.155.53.8 \
	peer_port=1701 \

tunnel profile create profile_name=doubtless
tunnel profile modify profile_name=doubtless \
	secret=<your secret here> \	# leave out if you don't want tunnel authentication
	auth_mode=challenge \		# leave out if you don't want tunnel authentication
	src_ipaddr=<your LNS IP> \
	our_udp_port=1701 \
	peer_profile_name=doubtless \
	session_profile_name=doubtless \
	ppp_profile_name=doubtless \

session profile create profile_name=doubtless
session profile modify profile_name=doubtless \
	ppp_profile_name=doubtless \

ppp profile create profile_name=doubtless
ppp profile modify profile_name=doubtless \
	auth_pap=yes \
	auth_chap=yes \
	auth_mschapv1=no \
	auth_mschapv2=no \
	auth_eap=no \
	auth_none=yes \
	auth_peer=no \
	dns_ipaddr_pri=<DNS IP to give to SIM> \
	local_ipaddr=<IP address of LNS endpoint on PPP link> \
	remote_ipaddr=<IP address to give to SIM> \
	mtu=1280 \
	mru=1280 \
	trace_flags=1024 \

I needed the src_ipaddr line in the tunnel profile because my LNS machine has several IP addresses on the same subnet, and the one that the LNS should be using is not the primary IP. openl2tp does not record the IP address that an l2tp packet came to and use that as the source address for the reply ... adding src_ipaddr fixes that.

Authentication

Enabling tunnel authentication lets you be confident that you really are talking to doubtless and not some other LAC. Without it you are limited to just trusting the incoming IP address. What this doesn't do is authenticate the individual PPP sessions over the tunnel. doubtless supplies a CHAP username (the SIM's ICCID), challenge and response which will be verified if you enable PPP proxy authentication, however I have not worked out the secret that is being used here!

Musings

PPP over GPRS connections is a bit, well, weird. The PPP connection that pppd on your laptop establishes is not all the way through to your LNS as you might expect. It isn't even terminated in the mobile network -- it's actually terminated on the modem. What this means is that the username and password you give to pppd are verified by the modem -- which just accepts anything you supply.

The proxy authentication username that the LAC presents is a UK 07xxx phone number. It also presents a CHAP authentication ID, challenge and response. These are ignored unless you enable allow_ppp_proxy. I haven't yet worked out what the secret is that is being used to generate the response. It isn't the l2tp tunnel authentication secret, the proxy authentication username, the ICCID, or the password that was supplied to the modem.

The 'calling number' and 'called number' in the incoming call request are the SIM's ICCID.

The two devices that I've been using -- a Vodafone (Huawei) K4505 and a Nokia E51 -- behave noticeably differently when it comes to PPP and particularly IPCP.

Things to do

  • Figure out what secret is used in the PPP proxy authentication.
  • Use that (or something else) to identify individual SIMs and supply the correct IP address to each one.

Pages in category 'L2TP Handover'

The following 5 pages are in this category, out of 5 total.