Hi
I'm trying out openGGSN, currently running it on an Ubuntu 16.04 VM in Amazon. The
reason I'm doing this is part of an evaluation I'm helping out with for a customer
in the Telco-industry.
I have been able to install, and run ggsn and sgsnemu to the point of sending the ECHO and
creating the PDP-C (see attachment).
However, I can't see that a network interface is created after the PDP-C has been
accepted. According to the README on
https://github.com/osmobuntu/openggsn that should
happen:
"After this it will attempt to establish a pdp
context. If successful it will create a local interface and set up
routing."
Anyway, I have probably missed something in the setup. If you have any suggestions, that
would be highly appreciated!
What I did so far is:
Install
sudo apt-get update
sudo apt-get install openggsn
Create "virtual" interfaces (since I'm running everything on the same
machine. Not sure if this is the right way to do it though)
ifconfig eth0:0 192.168.1.2 netmask 255.255.255.0 up
ifconfig eth0:1 192.168.1.3 netmask 255.255.255.0 up
I also did the following steps, but I'm not sure exactly what they do... pardon my
ignorance!
1. Add the following line to /etc/modules.conf: alias char-major-10-200 tun
2. depmod -a
Start GGSN
ggsn -c ggsn.conf --fg -l 192.168.1.2 --net 192.168.0.0/24 --dynip 192.168.0.0/24
After this I can see the new tun0
tun0: flags=81<UP,POINTOPOINT,RUNNING> mtu 1500 inet 192.168.0.1 netmask
255.255.255.0 destination 192.168.0.1 inet6 fe80::9ea3:6876:c4ce:fc96 prefixlen 64
scopeid 0x20<link> unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
txqueuelen 500 (UNSPEC) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0
frame 0 TX packets 7 bytes 448 (448.0 B) TX errors 0 dropped 0 overruns 0 carrier 0
collisions 0
send ECHO (successfully)
sgsnemu --listen 192.168.1.3 --remote 192.168.1.2 --dns 10.20.38.51 --timelimit 10
--contexts 0
Send ECHO + Create PDP-C
sgsnemu --listen 192.168.1.3 --remote 192.168.1.2 --dns 10.20.38.51 --timelimit 10
--contexts 1 --apn internet --imsi 240011234567890 --msisdn 46702123456 --createif
--defaultroute
Which outputs the following:
Using DNS server: 10.20.38.51 (10.20.38.51)
Local IP address is: 192.168.1.3 (192.168.1.3)
Remote IP address is: 192.168.1.2 (192.168.1.2)
IMSI is: 240011234567890 (0xf098765432110042)
Using NSAPI: 0
Using GTP version: 1
Using APN: internet
Using selection mode: 1
Using MSISDN: 46702123456
Initialising GTP library
<000c> gtp.c:700 GTP: gtp_newgsn() started
After printing this line, sgsnemu stays very silent for 30-ish seconds, after which it
prints (all in one go):
Setting up interface
Done initialising GTP library
Sending off echo request
Setting up PDP context #0
Waiting for response from ggsn........
Received echo response
Received create PDP context response. IP address: 192.168.0.2
Dropping packet from invalid source address: 0.0.0.0
Dropping packet from invalid source address: 0.0.0.0
Dropping packet from invalid source address: 0.0.0.0
Dropping packet from invalid source address: 10.7.0.240
Dropping packet from invalid source address: 10.7.0.240
Dropping packet from invalid source address: 0.0.0.0
Dropping packet from invalid source address: 10.7.0.240
Dropping packet from invalid source address: 0.0.0.0
Dropping packet from invalid source address: 10.7.0.240
Dropping packet from invalid source address: 10.7.0.240
Dropping packet from invalid source address: 0.0.0.0
Dropping packet from invalid source address: 10.7.0.240
Dropping packet from invalid source address: 0.0.0.0
Dropping packet from invalid source address: 10.7.0.240
Disconnecting PDP context #0
Received delete PDP context response. Cause value: 128
Where 10.7.0.240 is the ip address of eth0
Once again, if you have any suggestions, I'm all ears! Thanks in advance!
/peter