一 系统解析

OAI开源代码分为两部分:核心网EPC(openair-cn)+基站eNB(openairinterface5g)。EPC中包括MME/HSS/SPGW等核心网的功能模块;

二 系统环境

基站eNB(openairinterface5g)都搭建在Ubuntu 14.04.2TLS上, 核心网EPC(openair-cn)搭建在Ubuntu 16.04.2上,搭建EPC的系统需要将内核换成4.7。

三 安装步骤

3.1准备工作

1)通过sudo gedit /etc/apt/sources.list进入源文件,替换源。推荐使用阿里源(国内速度较快,也可根据实际情更换其他源)。

切换到源文件所在路径:cd /etc/apt 
将sources.list备份到sources.list.bak:sudo cp sources.list sources.list.bak

打开文件,把原来内容替换成以下内容:sudo gedit sources.list(参考网址:阿里镜像源)

deb http://mirrors.aliyun.com/ubuntu/ xenial main
deb-src http://mirrors.aliyun.com/ubuntu/ xenial maindeb http://mirrors.aliyun.com/ubuntu/ xenial-updates main
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates maindeb http://mirrors.aliyun.com/ubuntu/ xenial universe
deb-src http://mirrors.aliyun.com/ubuntu/ xenial universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates universe
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates universedeb http://mirrors.aliyun.com/ubuntu/ xenial-security main
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main
deb http://mirrors.aliyun.com/ubuntu/ xenial-security universe
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security universe

更新软件源:sudo apt-get update

2)安装git (便于以后从git上下载资源):

下载安装git:sudoapt-get install git

3)从git下载并安装linux4.7版本的内核:(uname -r :查看你的内核版本,大于4.7就不用重新下载)

cd /usr/src

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

内核安装完成重启电脑,uname -r查看当前的内核版本。(出现4.7.7-oaiepc即可)

四.准备工作结束,开始正式安装配置

1)下载源码

普通用户(非root用户),cd ~ 的意思是进入用户主目录,工作目录就在 /home/abc,直接克隆,这样源码包就位于/home/abc中

进入用户主目录:cd ~

克隆下载源码:git clone https://gitlab.eurecom.fr/oai/openair-cn.git

如果出现http缓存不够的情况,执行以下命令设置缓存空间:

git config --global http.postBuffer 524288000

2)配置FQDN(全域名)

执行:su root,输入密码,切换到root用户

执行hostname 查询主机名

执行sudo gedit /etc/hosts,在文件开头加上下面三句

127.0.0.1    localhost
127.0.1.1    主机名.openair4G.eur   主机名   (#假设你的hostname叫buntu,这里就是127.0.1.1  ubuntu.openair4G.eur  ubuntu)
127.0.1.1    hss.openair4G.eur    hss

编辑完之后,执行hostname -f,查看主机名是否为:主机名.openair4G.eur

3)安装额外软件包,已经有的可以不用安装

3.1)   安装apache2:

sudo apt-get install apache2

测试apache2:

浏览器访问 localhost或者127.0.0.1 会出现apache2主页

3.2)  安装php

apt-get install php7.0

apt-get install libapache2-mod-php7.0

重启apache2: service apache2 restart 或者 sudo/etc/init.d/apache2 restart

测试php

在/var/www/html里面新建info.php

vim /var/www/html/info.php或者 gedit /var/www/html/info.php

在该文件里添加php语句:<?php  echo ‘hello world’;?> 保存退出

然后浏览器访问localhost/info.php或者127.0.0.1/info.php 浏览器会显示hello world页面

3.3)   安装mysql

sudo apt-get install mysql-server mysql-client

测试mysql

输入 mysql –uroot –p 输入安装mysql时设置的root密码

会出现mysql操作界面

3.4)   安装 phpmyadmin

sudo apt-get install phpmyadmin

然后

sudo ln -s /usr/share/phpmyadmin  /var/www/html

测试phpmyadmin

然后浏览器访问localhost/phpmyadmin或者127.0.0.1/phpmyadmin 浏览器会显示数据库登录页面

如果报错:mbstringextension is missing.Please check your PHP configuration.

解决办法:

将/etc/php/7.0/mods-available/json.ini文件里第二行的分号去掉

然后重启apache2(service apache2 restart)

4)退出root用户,再执行cd ~ ,进去EPC源码文件夹openair-cn ,执行自动安装命令,如果没红色报错,表示安装成功

执行:cd openair-cn
          git checkout develop 
          git pull
          cd scripts
         ./build_mme -i 
          ./build_hss -i 
          ./build_spgw -i

5)配置EPC

5.1)执行如下命令,将配置文件放到该放的位置。由于源码版本不同大小写不同,具体情况看openair-cn文件夹里面是大写还是小写。我用的是develop版本,是小写。

5.2)执行以下命令

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

5.3)切换到root用户,ifconfig查看自己网卡,IP地址(如下图所示:网卡ens33 ,ip地址:192.168.216.188)

5.4)    执行 sudo gedit /usr/local/etc/oai/mme.conf     配置MME

# MME binded interface for S1-C or S1-MME  communication (S1AP), can be ethernetinterface, virtual ethernet interface, we don't advise wireless interfaces

MME_INTERFACE_NAME_FOR_S1_MME         = “网卡名”;                         # YOUR NETWORK CONFIGHERE

MME_IPV4_ADDRESS_FOR_S1_MME           = "ip地址";                            # YOUR NETWORK CONFIG HERE

# MME binded interface for S11communication (GTPV2-C)

MME_INTERFACE_NAME_FOR_S11_MME        = "lo";                           # YOUR NETWORKCONFIG HERE

MME_IPV4_ADDRESS_FOR_S11_MME          = "127.0.11.1/8";                 # YOUR NETWORK CONFIG HERE

MME_PORT_FOR_S11_MME                  = 2123;                           # YOUR NETWORKCONFIG HERE}

5.5)执行sudo gedit  /usr/local/etc/oai/spgw.conf   配置spgw

NETWORK_INTERFACES :

{

# S-GW bindedinterface for S11 communication (GTPV2-C), if none selected the ITTI messageinterface is used

SGW_INTERFACE_NAME_FOR_S11             = "lo";                        # STRING, interface name, YOUR NETWORK CONFIG HERE

SGW_IPV4_ADDRESS_FOR_S11                ="127.0.11.2/8";               #STRING, CIDR, YOUR NETWORK CONFIG HERE

# S-GW bindedinterface for S1-U communication (GTPV1-U) can be ethernet interface, virtualethernet interface, we don't advise wireless interfaces

SGW_INTERFACE_NAME_FOR_S1U_S12_S4_UP   = "网卡名";                      # STRING, interface name, YOUR NETWORK CONFIG HERE, USE "lo"if S-GW run on eNB host

SGW_IPV4_ADDRESS_FOR_S1U_S12_S4_UP     = "IP地址";           # STRING,CIDR, YOUR NETWORK CONFIG HERE

SGW_IPV4_PORT_FOR_S1U_S12_S4_UP        = 2152;                         #INTEGER, port number, PREFER NOT CHANGE UNLESS YOU KNOW WHAT YOU ARE DOING

# S-GW bindedinterface for S5 or S8 communication, not implemented, so leave it to none

SGW_INTERFACE_NAME_FOR_S5_S8_UP         = "none";                       # STRING, interfacename, DO NOT CHANGE (NOT IMPLEMENTED YET)

SGW_IPV4_ADDRESS_FOR_S5_S8_UP          = "0.0.0.0/24";                # STRING, CIDR, DO NOT CHANGE (NOT IMPLEMENTED YET)

NETWORK_INTERFACES :

{

# P-GW bindedinterface for S5 or S8 communication, not implemented, so leave it to none

PGW_INTERFACE_NAME_FOR_S5_S8         = "none";                         # STRING, interfacename, DO NOT CHANGE (NOT IMPLEMENTED YET)

# P-GW bindedinterface for SGI (egress/ingress internet traffic)

PGW_INTERFACE_NAME_FOR_SGI           = "网卡名";                        # STRING, YOUR NETWORK CONFIG HERE

PGW_MASQUERADE_SGI                   = "yes";                           # STRING, {"yes","no"}. YOUR NETWORK CONFIG HERE, will do NAT for you if you put"yes".(将原文件中的no改为yes)

UE_TCP_MSS_CLAMPING                  = "no";                           # STRING,{"yes", "no"}.

};

5.6) 执行sudo gedit  /usr/local/etc/oai/hss.conf   配置hss

HSS :

{

## MySQL mandatory options

MYSQL_server = "127.0.0.1";     # HSS S6a bind address

MYSQL_user   = "root";  #Database server login

MYSQL_pass   = "设置的密码";  # Database server password

MYSQL_db     ="oai_db";        # Yourdatabase name

## HSS options(注释下面一句,第二句解除注释)

#OPERATOR_key ="1006020f0a478bf6b699f15c062e42b3"; # OP key matching your database

OPERATOR_key ="11111111111111111111111111111111"; # OP key matching your database(把这句的注释符号删除)

RANDOM = "true";                                   # True random or only pseudorandom (for subscriber vector generation)

## Freediameter options

FD_conf ="/usr/local/etc/oai/freeDiameter/hss_fd.conf";

};

5.7)sudo gedit /usr/local/etc/oai/freeDiameter/hss_fd.conf  ,确保信息如下:

   Identity = "hss.openair4G.eur" Realm = "openair4G.eur"

5.8) 执行sudo gedit   /usr/local/etc/oai/freeDiameter/mme_fd.conf 确保信息如下:

Identity = "主机名.openair4G.eur"; #需要注意,文件里面原来是yang.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";};

六.编译与运行

6.1)安装证书

cd /openair-cn/scripts

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

./check_mme_s6a_certificate  /usr/local/etc/oai/freeDiameter/ 主机名.openair4G.eur

6.2)编译运行hss(要先运行hss,sudo 或者root)

使用普通用户:cd ~/openair-cn/scripts

登录root用户:su root

./build_hss
      ./run_hss -i ~/openair-cn/SRC/OAI_HSS/db/oai_db.sql (只在初次运行HSS,执行一次,导入HSS数据库,以后运行hss直               接./run_hss)

6.3)编译&运行MME

进入 /openair-cn/scripts

./build_mme

./run_mme

d)      编译运行spgw

./build_spgw

./run_spgw

OAI搭建(EPC核心网部分)相关推荐

  1. Openairinterface从零开始搭建5G核心网——Basic版

    1.安装虚拟机 虚拟机VMware :16.2.0 build-18760230 百度网盘链接: https://pan.baidu.com/s/1TfDdb4gczyURrrqAhqKO0Q?pwd ...

  2. 【OAI】OAI5G核心网VPP-UPF网元分析

    文章目录 VPP_UPF_CONFIG_GENERATION.md VPP UPF Configuration Generation Environment variables Interfaces ...

  3. OAI搭建——EPC的搭建

    1. 获取EPC源码 cd sdr git clone https://gitlab.eurecom.fr/oai/openair-cn.git 2. 编译和配置 1) 配置FQDN 编辑hosts文 ...

  4. OAI 5G核心网安装并连接到gNB

    文章目录 前言 一.安装docker和docker compose 1.安装docker 2.安装docker compose 3.python 二.下载镜像 三.下载5G核心网源码 四.运行核心网 ...

  5. 第四十一期:深度解析5G核心网建设难点和挑战

    目前核心网处于架构转型和业务转型的关键期.在架构层面,NFV.CU分离.边缘计算等技术的成熟推动核心网络架构转型,控制面进一步集中,转发面进一步下沉. 目前核心网处于架构转型和业务转型的关键期.在架构 ...

  6. 中国移动公布5G核心网大单 全面加快5G网络部署

    [TechWeb]2019年6月6日,中国移动公布<2019年核心网支持5G NSA功能升级改造设备集中采购单一来源采购信息公告>.公告信息显示,本次集采需升级现网450套MME设备支持双 ...

  7. 02 - OAI(OpenAirInterface)核心网搭建过程 - 研0

    环境要求:Ubuntu 16.04 LTS / CentOS 7 / Ubuntu 14.04 LTS 本文以Ubuntu 16.04.3 LTS 为例,硬件环境为core i7 6500U,16GB ...

  8. OAI核心网搭建全过程【1】

    我用的是在windows上的ubantu虚拟机,版本号为18.04,下面开始核心网的搭建 步骤一 了解整个核心网部署流程docs/DEPLOY_HOME.md · master · oai / cn5 ...

  9. OAI搭建步骤(EPC+eNB)

    声明:本文CSDN作者原创投稿文章,未经许可禁止任何形式的转载,原文链接 文章目录 一.系统概述 二.搭建核心网EPC(openair-cn) 2.1 准备主机 2.2 更换内核 2.3 获取open ...

最新文章

  1. Xcode 创建.a和framework静态库(转)
  2. 【Linux 内核】进程管理 ( 系统调用简介 | 进程相关系统调用源码 )
  3. 线上服务器登记的要点
  4. Oracle中to_char()函数的用法
  5. atitit.架构设计---方法调用结果使用异常还是返回值
  6. 利用FreeType和OpenGL进行矢量字体渲染
  7. 2.10.PHP7.1 狐教程-【PHP 函数】
  8. 批量生成 Hibernate Dao
  9. windows2012 下载启动ssh
  10. C++ STL容器底层详解
  11. python如何抓取网页里面的文字_如何利用python抓取网页文字、图片内容?
  12. STM32H7学习继续(STM32H7系列9) ADC
  13. 操作系统Topic推荐-AMiner
  14. 软件测试 | 测试开发 | 黑盒测试方法论—场景法
  15. 抖音名字怎么改不了_抖音名字怎么改,抖音名字改不了,抖音名字已重置什么意思...
  16. 互联网快讯:米巴资本完成首期美元基金募集;极米投影产品双十一持续热销;SpaceX星链成立印度子公司
  17. 数据挖掘之时间序列模型(最全流程分析)
  18. SpringMVC---(2)
  19. 轻松矿工没有内核_使用内核迁移器可以轻松进行SharePoint迁移
  20. 多媒体计算机技术应用,谈谈多媒体计算机技术在教学中的应用

热门文章

  1. iText + Freemarker实现pdf的导出,支持页眉添加图片,及其他的基础功能
  2. 倒数日怎么显示在桌面_一款非常好用而且没广告的倒数日软件,记录生活中重要的日子...
  3. 如何使用anaconda创建环境
  4. 进阶篇:5.3)统计公差法
  5. 熵,信息熵,香农熵,微分熵,交叉熵,相对熵
  6. 实现线性回归的梯度下降法算法,解决糖尿病预测问题,输出mse和R2的值。
  7. dwg文件怎么打开呢?
  8. 三星猎户座处理器失败原因是什么?
  9. FusionCloud 桌面云时钟同步方案介绍
  10. HIT 软件构造 多维度视图