oai epc+smallcell搭建测试网络

OAI 专栏收录该内容
1 篇文章 0 订阅

很多童鞋在微信或者QQ群中经常询问我的测试环境搭建过程,由于本人工作繁忙无法一一解答,在此将搭建过程发布到博客,希望对大家搭建测试环境有借鉴意义,如有错误,请私信指正,谢谢各位!

oai epc网络搭建

1、准备工具

  1. 双网卡工控机一台(运行ubuntu系统和EPC)
  2. 笔记本电脑一台(用于配置实验小基站参数)
  3. smallcell实验小基站一台
  4. SIM白卡一张
  5. 烧卡器一个
  6. 测试手机一台(本次测试使用荣耀8X手机测试)

有图有真相:
在这里插入图片描述

2、基站配置
基站采用朋友公司的成品实验小基站,最大发射功率23dbm,不涉及程序编译,直接拿来配参数,具体配置过程不做介绍,关键参数配置如下:
基站S1口IP:192.168.170.100
核心网IP:192.168.170.200(MME绑定的网卡IP)
基站TAC:1 (此处必须与核心网一致)
基站PLMN:20893(此处必须与核心网一致)
基站频点:38950

3、安装OAI EPC
3.1 运行环境
使用的操作系统和内核版本见下截图:
在这里插入图片描述
网卡IP配置见下截图,其中enp2s0是EPC绑定的网卡,enp3s0是连接互联网的网卡,lo是本地环回测试网卡,在后面配EPC网元参数要使用对应的网卡名和IP地址:
在这里插入图片描述

3.1安装git
sudo apt-get update
sudo apt-get install subversion git

3.2 获取oai epc源码
git clone https://gitlab.eurecom.fr/oai/openair-cn.git

查询主机名字,我的主机名是epc,然后执行sudo gedit /etc/hosts 打开并编辑hosts文件,把第二行对应位置替换为epc:
在这里插入图片描述
3.3 安装辅助软件
3.3.1 安装apache
sudo apt-get install apache2
浏览器输入 localhost,出现apache主页说明安装OK:
在这里插入图片描述
3.3.2 安装php
apt-get install php7.0
apt-get install libapache2-mod-php7.0
3.3.3 安装mysql
sudo apt-get install mysql-server mysql-client
注意,安装mysql时要设置账号用户名和密码,记录下账户名和密码,后面配hss参数需要使用

3.3.4 安装phpmyadmin
sudo apt-get install phpmyadmin
然后在浏览器输入 localhost/phpmyadmin,出现数据库登陆界面:
在这里插入图片描述

3.4 编译MME、HSS、SPGW网元
cd openair-cn
git checkout develop //本次搭建EPC使用develop分支,网友们也可以尝试使用master分支搭建
git pull
cd scripts
./build_mme -i
./build_hss -i
./build_spgw -i

注意:编译过程会下载相关的软件,因此可能比较慢,需要耐心等待

3.4 配置网元参数
在配置网元参数之前先执行如下命令将配置文件copy到对应位置:
sudo mkdir -p /usr/local/etc/oai/freeDiameter
sudo cp ~/openair-cn/etc/mme.conf /usr/local/etc/oai
sudo cp ~/openair-cn/etc/hss.conf /usr/local/etc/oai
sudo cp ~/openair-cn/etc/spgw.conf /usr/local/etc/oai
sudo cp ~/openair-cn/etc/acl.conf /usr/local/etc/oai/freeDiameter
sudo cp ~/openair-cn/etc/mme_fd.conf /usr/local/etc/oai/freeDiameter
sudo cp ~/openair-cn/etc/hss_fd.conf /usr/local/etc/oai/freeDiameter

3.4.1 配置MME
执行sudo gedit /usr/local/etc/oai/mme.conf打开mme.conf文件修改配置参数,MME网元负责S1口控制面协议处理,涉及关键协议参数有PLMN(MCC+MNC)、TAI见下截图,配置和基站侧配置保持一致,否则基站给MME发送s1_setup_req消息请求建立S1口连接会失败,无法建立射频小区
在这里插入图片描述

IP配置如下,注意用MME绑定的网卡名enp2s0和IP地址(192.168.170.200)替换配置文件中的参数
在这里插入图片描述

3.4.2 配置SPGW
执行sudo gedit /usr/local/etc/oai/spgw.conf打配置文件
先配置SGW参数,将网卡名字和IP改为和配置一致:
在这里插入图片描述
PGW配置
网卡名仍然是enp2s0,由此可见MME、SGW、PGW使用同一个网卡:
在这里插入图片描述
3.4.3 配置HSS
执行sudo gedit /usr/local/etc/oai/hss.conf 打开hss.conf配置文件
填写安装mysql时设置的数据库账号,username = root,password= linux
数据库名字我设置为epc_db
在这里插入图片描述
3.4.4 修改freeDiameter使用的参数
执行sudo gedit /usr/local/etc/oai/freeDiameter/hss_fd.conf 确保 Identity = “hss.openair4G.eur” Realm = “openair4G.eur”

sudo gedit /usr/local/etc/oai/freeDiameter/mme_fd.conf,确保如下信息正确:
Identity = “epc.openair4G.eur”
Realm = “openair4G.eur”;
ConnectPeer= “hss.openair4G.eur” { ConnectTo =“127.0.0.1”; No_SCTP ; No_IPv6; Prefer_TCP; No_TLS; port = 3868; realm = “openair4G.eur”;}

3.5 编译&运行

编译前需要安装证书:
cd /openair-cn/scripts //进入scripts目录

./check_hss_s6a_certificate /usr/local/etc/oai/freeDiameter/ hss.openair4G.eur

./check_mme_s6a_certificate /usr/local/etc/oai/freeDiameter/ epc.openair4G.eur

在/openair-cn/scripts目录下:

./build_mme
./run_mme

./build_spgw
./run_sgpw

./build_hss
./run_hss -i ~/openair-cn/SRC/OAI_HSS/db/epc_db.sql
注意,此语句只在第一次调用hss时执行,目前是创建HSS使用的epc_db数据库,后续执行hss只需要输入./run_hss即可

MME、HSS、SPGW运行之后,把基站的WAN口和EPC绑定的网口用网线连接,对基站上电,等待基站发起S1_SETUP_REQ消息与MME建立连接,连接建立成功,见下截图:
在这里插入图片描述
3.6 配HSS数据库
登陆数据库,账号和用户名与hss配置文件中的一致:
在这里插入图片描述
3.6.1 设置APN
测试环境apn配置为cmnet
在这里插入图片描述
3.6.2 配置MME ID
在这里插入图片描述
3.6.3 配置PDN
本次测试user_imsi使用了20893000000001:
在这里插入图片描述
3.6.4 配user
本次测试user_imsi使用了20893000000001,记录下表中IMSI对应的K、opc参数,后续烧卡使用:
在这里插入图片描述
HSS数据库配置完毕!!!

3.7 烧卡
烧卡步骤请参考jackpaul的博客:
https://blog.csdn.net/u013429928/article/details/75319585
**注意:**测试使用enb、mme配置的PLMN是20893,因此写卡时需要将涉及到PLMN的位置改为20893

3.8 上网测试
3.8.1 设置手机APN名称:
位置:移动网络->移动数据->接入点名称(APN)->添加APN
**注意:**手机中的apn设置必须和hss中的一致,否则会引起EPC程序跑飞,hss中设置为cmnet,因此手机也设置为cmnet

3.8.2 设置网卡数据转发
ubuntu运行在双网卡环境上,EPC绑定的网卡和连接互联网的网卡使用了不同的网卡,因此需要把PGW进出的数据和连接互联网的网卡设置转发,否则无法上网,数据转发命令格式如下:
sudo iptables -A FORWARD -i gtp0 -o 连接互联网的网卡名 -j ACCEPT
sudo iptables -t nat -A POSTROUTING -o 连接互联网的网卡名 -j MASQUERADE

本次测试环境连接互联网的网卡名为enp3s0,iptables命令的使用,有意愿的童鞋可以深入了解下。

然后把手机飞行、去飞行,或者重新启动,即可连接到测试网络上网。

网络测速:

  • 0
    点赞
  • 6
    评论
  • 6
    收藏
  • 打赏
    打赏
  • 扫一扫,分享海报

©️2022 CSDN 皮肤主题:数字20 设计师:CSDN官方博客 返回首页

打赏作者

ddroid

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值