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 命令查看版本信息。

安装docker-compose

注意:这里需要用到梯子,不然GitHub基本download不下来。(NLGB)

sudo curl -L "https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

给docker compose的二进制文件应用可执行权限,并且创建软连接

sudo chmod +x /usr/local/bin/docker-compose
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

使用docker-compose version命令查看版本信息。

检查相关的软件版本是否符合安装要求

https://gitlab.eurecom.fr/oai/cn5g/oai-cn5g-fed/-/blob/master/docs/DEPLOY_SA5G_MINI_DEPLOYMENT.md

注意:可以比官方推荐的软件版本高,但是不能低。

pull相关镜像

pull镜像前先登录下docker

docker login
docker pull ubuntu:bionic
docker pull mysql:5.7
docker pull rdefosseoai/oai-amf:latest
docker pull rdefosseoai/oai-smf:latest
docker pull rdefosseoai/oai-nrf:latest
docker pull rdefosseoai/oai-upf-vpp:latest
docker pull rdefosseoai/oai-udr:latest
docker pull rdefosseoai/oai-udm:latest
docker pull rdefosseoai/oai-spgwu-tiny:latest
docker pull rdefosseoai/oai-ausf:latest
docker pull rdefosseoai/oai-nssf:latest #蛮pull一些镜像下来,本次不涉及切片,因为我也不会

给镜像改个名字,方便后续操作。

docker image tag rdefosseoai/oai-amf:latest oai-amf:latest
docker image tag rdefosseoai/oai-smf:latest oai-smf:latest
docker image tag rdefosseoai/oai-nrf:latest oai-nrf:latest
docker image tag rdefosseoai/oai-upf-vpp:latest oai-upf-vpp:latest
docker image tag rdefosseoai/oai-spgwu-tiny:latest oai-spgwu-tiny:latest
docker image tag rdefosseoai/oai-udr:latest oai-udr:latest
docker image tag rdefosseoai/oai-udm:latest oai-udm:latest
docker image tag rdefosseoai/oai-ausf:latest oai-ausf:latest
docker image tag rdefosseoai/oai-nssf:latest oai-nssf:latest

完成后退出docker登录

docker logout

查看下拉取的镜像是否完整

下载OAI 5G核心网源码

git clone --branch v1.3.0 https://gitlab.eurecom.fr/oai/cn5g/oai-cn5g-fed.git
cd oai-cn5g-fed
git checkout -f v1.3.0
./scripts/syncComponents.sh 

注意:没有梯子话,git submodule update可能会相当缓慢,只能多等等了。

运行OAI 5GC

进入docker-compose 目录,可以执行帮助命令。

python3 core-network.py --help

运行一个基本的5G核心网

python3 core-network.py --type start-basic --fqdn no --scenario 1

至此,OAI的5G核心网已经跑起来了。

停止命令

python3 core-network.py --type stop-basic

一些工具

虽然用docker logs命令可以查看信息,但不如webUI界面来的直接。这里portainer

  • 安装portainer,创建一个存储数据库的卷
    docker volume create portainer_data
  • 安装portainer
    docker run -d -p 8000:8000 -p 9443:9443 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest
  • 浏览器访问
    https://你的IP:9443

查看AMF的logs信息。

下一步计划

手头上并没有SDR设备,但用ZTE的商用5G BBU和RRU,打算近期内用来测试OAI连接商用5G RAN看看。

Related Posts

2 thoughts on “安装OAI 5G核心网

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注