OAI搭建EPC核心网,并连接商用eNodeB设备

让我们搭建一个EPC核心网玩玩

其实,本来的计划时搭建一个5GC+gNodeB,但是因为施工队没空帮忙过来安装5G BBU,刚好手头上有之前单位采购用来做测试佰才邦4G皮基站设备,因此打算先部署一个EPC核心网来尝试一下接入eNodeB设备看看。

概述

OAI的源码分为两部分,分别为EPC和eNodeB,这里由于我使用了成品eNodeB设备,因此不需要搭建额外的eNodeB网元设备。EPC跑起来后直接在eNodeB设置好MME的S1接口地址即可。OAI的EPC核心网包含:MME,SPWG(PGW和SGW合设),HSS等网元,HSS的采用Mysql数据库作为UE的数据存储单元。

我的设备及网络拓扑

我在Mac上用VirtualBox虚拟化了一台Ubuntu16.04的虚拟机作为EPC,eNodeB设备采用Baicells Neutrino 小型室内基站

我的网络拓扑结构很简单,但是不是官网推荐的EPC采用双网卡连接的方式,1台千兆路由器挂1台千兆交换机,交换机再下挂1台EPC虚拟机和1台eNodeB。

EPC IP:192.168.123.153
eNodeB IP:192.168.123.110
宿主MAC IP:192.168.123.230

开搞

按照官方推荐的系统,这里采用了ubuntu16.04 版本,OAI官方推荐使用4.7.7-oaiepc内核,但是我第一次使用默认的generic也可以成功编译,但是为了一次顺利编译,建议还是使用官方推荐的内核版本。这里我给出更换内核的版本,但是为了图方便,我这里使用默认的generic内核。

更换Ubuntu内核版本

git clone https://gitlab.eurecom.fr/oai/linux-4.7.x.git
cd linux-4.7.x
sudo dpkg -i linux-headers-4.7.7-oaiepc_4.7.7-oaiepc-10.00.Custom_amd64.deb linux-image-4.7.7-oaiepc_4.7.7-oaiepc-10.00.Custom_amd64.deb
sudo reboot

注意:gitlab.eurecom.fr 非常的慢,若没有梯子,可能需要耐心等等!(MLGB)

继续阅读

安装OAI 5G核心网

OAI是啥?

能上网搜索OAI是啥的一般也不需要我再介绍它是用来做什么的,我记录一下安装过程,避免以后忘记。
具体可以参考其官网

  • 目前OAI已实现3GPP的R17版本
  • 整体网络拓扑架构

先决条件

操作系统要求为:ubuntu 18.04版本。

安装docker和docker-compose

这里有个很大的坑,因为第一次安装的时候办公室没有梯子可用,所以直接用了ubuntu打包的docker.io和docker-compose版本,后面在运行docker的时候docker-compose开始报错,这里还是安装docker官方的安装方式。

安装docker

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

为了避免每次自行docker命令都要直行sudo命令,这里给docker管理员权限。

sudo groupadd docker
sudo gpasswd -a ${USER} docker
sudo systemctl restart docker #重启docker服务,生产环境谨慎。
sudo chmod a+rw /var/run/docker.sock

安装完成后执行docker version 命令查看版本信息。

继续阅读