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看看。
哥,方便留个联系方式不?
tmdab123@gmail.com