NextEPC Installation On KVM - HackMD
NextEPC Installation On KVM - HackMD
io/@edingroot/BkvMegsH7
nextepc/commit/e2afb6b2fce6414ec086f516f7bce86e15fbccf6�
◦ Preparation
◦ Installation
▪ Part C. Configuration
◦ Rebuild Project
◦ Troubleshooting
▪ Rebuild Error
◦ References
◦ � Shell Script ]
• VM NIC Cards
IP Address: 192.188.2.1
Gateway: 192.188.2.2
PLMN:
MCC: 208
MNC: 93
MME GID: 1
MME Code: 1
TAC: 1
IMSI 208930000000003
K 8baf473f2f8fd09487cccbd7097c6862
OPc 8e27b6af0e692e750f32667a3b14605d
IMSI 460990000072000
K 0123456789ABCDEF0123456789ABCDEF
OP 0123456789ABCDEF0123456789A46099
IMSI 466680123457005
K 000102030405060708090A0B0C0D0E0F
OP 00112233445566778899AABBCCDDEEFF
You can either follow instructions from Part A � Part C or directly execute the
shell on the bottom of this document.
To run NextEPC with least privilege, TUN device permission should be a crw-rw-
rw-(666�.
ls -al /dev/net/tun
crw-rw-rw- 1 root 28 10, 200 Feb 11 05:13 /dev/net/tun
Check IPv6 Kernel Configuration. Although you can skip this process, we
recommend that you set this up to support IPv6-enabled UE.
sysctl -n net.ipv6.conf.pgwtun.disable_ipv6
You are now ready to set the IP address on TUN device. If IPv6 is disabled for
TUN device, please remove Address=cafe::1/64 from below.
auto pgwtun
iface pgwtun inet static
address 45.45.0.1
netmask 255.255.0.0
# Check if pgwtun is up
sudo apt-get -y install net-tools
ifconfig pgwtun
sudo apt-get -y install autoconf libtool gcc pkg-config git flex bison libsctp-dev libgnutls28-
[testepc.pcapng] (http://nextepc.org/static/pcapng/testepc.pcapng)
./test/testepc
The daemon nextepc-epcd includes both MME, SGW, PGW, HSS, and PCRF.
So, instead of running all 5 daemons, you can just run nextepc-epcd in your
development environment.
./nextepc-epcd
◦ All logs for MME, SGW, PGW, PCRF, and HSS are written to ./install/
var/log/nextepc/nextepc.log .
◦ You can find the log/conf path at the beginning of running screen.
cd webui
npm install
Running WebUI
cd webui
npm run dev
Modify ./install/etc/nextepc/nextepc.conf
mme:
s1ap:
addr: <IP of GW NIC to eNB: 192.188.2.2>
sgw:
gtpu:
addr: <IP of GW NIC to eNB: 192.188.2.2>
mme:
gummei:
plmn_id:
mcc: <eNB MCC: 208>
mnc: <eNB MNC: 93>
mme_gid: <eNB MME GID: 1>
mme_code: <eNB MME Code: 1>
mme:
tai:
plmn_id:
mcc: <eNB MCC: 208>
mnc: <eNB MNC: 93>
tac: <eNB TAC: 1>
- Username : admin
- Password : 1423
- Go to Subscriber Menu.
- Click `+` Button to add a new subscriber.
- Fill the IMSI, security context(K, OPc, AMF), and APN of the subscriber.
- Click `SAVE` Button
A white space must be added between the colon and value after the item
nam. e.g. addr: 192.188.2.2
Make sure all config file and environment settings are correct.
killall -9 testepc
Remove test subscriber left by previous failed test �Issue #57 (https://
github.com/acetcom/nextepc/issues/57#issuecomment-386177165�)
$ mongo
> use nextepc
> db.subscribers.find() ### (Check the test subscriber)
> db.subscribers.drop() ### Remove all subscriber
> db.subscribers.find() ### (Check that all subscribers are empty)
cd support/freeDiameter
./make_certs.sh .
cd ../..
make install
$ killall -9 testepc
or
$ killall -9 nextepc-epcd
autoheader \
&& aclocal \
&& libtoolize --ltdl --copy --force \
&& automake --add-missing --copy \
&& autoconf \
&& ./configure
• https://github.com/acetcom/nextepc (https://github.com/acetcom/nextepc)
• http://nextepc.org/guides/2-build/ (http://nextepc.org/guides/2-build/)
• http://nextepc.org/guides/3-configuration/ (http://nextepc.org/guides/3-
configuration/)
• https://github.com/acetcom/nextepc/issues/18 (https://github.com/acetcom/nextepc/
issues/18�
Please make some modifications to the environment variables on the top of this
script if needed according to the actual condition.
#!/bin/sh
set -o xtrace
set -e
if [ $# != 8 ]
then
NIC_INTERNET=ens3
NIC_eNB=ens4
NIC_eNB_IP=192.188.2.2
PLMN_MCC=208
PLMN_MNC=93
MME_GID=1
MME_CODE=1
TAC=1
else
NIC_INTERNET=$1
NIC_eNB=$2
NIC_eNB_IP=$3
PLMN_MCC=$4
PLMN_MNC=$5
MME_GID=$6
MME_CODE=$7
TAC=$8
fi
sudo apt-get -y install autoconf libtool gcc pkg-config git flex bison libsctp-dev libgnutls28-
cd nextepc
autoreconf -iv
./configure --prefix=`pwd`/install
make -j `nproc`
make install
cd webui
npm install
cd ..