搭建SDR:srsenb+nextepc+商用UE

NextEPC简介

NextEPC是由C语言实现的开源LTE核心网,并且在最新版本的ubuntu系统上面,提供了NextEPC的包,2019年5月,NextEPCv1.0.0发布,支持以下功能:
1、符合LTE版本14
2、AES,Snow3G,ZUC加密算法
3、支持使用Milenage的USIM卡
4、多个PDN支持
5、支持S1/X2切换
6、支持IPV6
7、支持CSFB和SMSoS(SMS Over SGs)
8、支持VoLTE

搭建srsenb

这部分可以参考srslte搭建这篇博客,很详细,这里不再赘述。

搭建NextEPC

如果你是ubuntu18.04系统,那么你可以通过包管理器安装,可参考nextepc官网,这里详细介绍一下通过源码构建。
1、安装MongoDB
MongoDB用于NextEPC的数据库。
输入下面命令:

sudo apt-get update
sudo apt-get -y install mongodb
sudo systemctl start mongodb

2、定义 TUN 虚拟网口
通过编写pgwtun的配置文件创建它。

sudo sh -c "cat << EOF > /etc/systemd/network/99-nextepc.netdev
[NetDev]
Name=pgwtun
Kind=tun
EOF"

sudo sh -c "cat << EOF > /etc/systemd/network/99-nextepc.network
[Match]
Name=pgwtun
[Network]
Address=45.45.0.1/16
Address=cafe::1/64
EOF"

sudo systemctl enable systemd-networkd
sudo systemctl restart systemd-networkd

3、安装依赖项

sudo apt-get -y install autoconf libtool gcc pkg-config \
         git flex bison libsctp-dev libgnutls28-dev libgcrypt-dev \
         libssl-dev libidn11-dev libmongoc-dev libbson-dev libyaml-dev

4、下载源码并构建

git clone https://github.com/nextepc/nextepc
cd nextepc
autoreconf -iv
./configure --prefix=`pwd`/install
make -j `nproc`
make install

5、运行Nextepc
在nextepc目录下面运行:

./nextepc-epcd

6、安装WebUI
先安装Node.js

sudo apt-get -y install curl
curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
sudo apt-get -y install nodejs --fix-missing

然后安装WebUI的依赖项

cd webui
npm install

最后运行WebUI

npm run dev

在浏览器中输入http://localhost:3000即可访问。

srsenb和NextEPC连接

为了让srsenb和nextepc顺利链条,需要修改enb的配置文件(当然也可以修改nextepc的配置文件),nextepc的配置文件在/nextepc/install/etc/nextepc.conf中,这里我是通过修改srsenb的配置文件使其连接。安装srsenb和nextepc主机的ip为192.168.1.103。在enb.conf中修改下面几个地方即可。
搭建SDR:srsenb+nextepc+商用UE_第1张图片

配置UE

首先需要在nextepc webUI中加入ue的信息。打开http://localhost:3000后:

  - Username : admin
  - Password : 1423

用上面用户名和密码登录。
进去点击Edit Subscriber,然后配置下列信息:
搭建SDR:srsenb+nextepc+商用UE_第2张图片
点击SAVE即可,这些信息是之前搭建srslte白卡烧录进去的信息,故我这里没有再次烧录。需要把上述信息写进白卡才行。
配置成功后,手机即可连上基站。

解决手机连上无法上网的问题

输入下面命令:

echo 1 > /proc/sys/net/ipv4/ip_forward
sudo iptables -t nat -A POSTROUTING -o <'interface-name'> -j MASQUERADE
sudo iptables -I INPUT -i pgwtun -j ACCEPT

简单测试

这里我只做了一个简单的速率测试,在50PRB情况下手机连上的速率。
搭建SDR:srsenb+nextepc+商用UE_第3张图片
可以看到下行可以达到15.6Mbps,而且手机连上后相对srsepc更加稳定。
以上内容仅供参考,主要作为自己留存。

你可能感兴趣的:(搭建SDR:srsenb+nextepc+商用UE)