Open5GS&&UeRANSim1:在同一个VirtualBox 虚拟机上安装UERANSIM和Open5GS

概述

本文档记录用Oracle Virtual BOX 安装Open5GS+UeRANSim模拟UE+RAN+5GS。
UE,RAN,5GS工作在同一台virtual machine上。
Open5GS的参考文档:https://open5gs.org/open5gs/docs/
Open5GS的github: https://github.com/open5gs
UeRANSim 的github:https://github.com/aligungr/UERANSIM
UeRANSim的 Wiki:https://github.com/aligungr/UERANSIM/wiki

其中安装文档链接分别如下,这两份比较简洁:
https://github.com/aligungr/UERANSIM/wiki/Installation
https://open5gs.org/open5gs/docs/guide/01-quickstart/

本文档安装模拟的参考链接:
【youtube】[YouTube] Install Open5Gs and UERANSIM via Virtual Machine
https://www.youtube.com/playlist?list=PLZqpS76PykwIoqMdUt6noAor7eJw83bbp

1.Building a Virtual Machine with VB Guest Additions

首先在windows上安装一个ubuntu 虚拟机。如果已经有ubuntu,可以忽略这一节。

VirtualBox Guest Additions 可以进一步改进 VirtualBox。 提供了无缝的虚拟化体验。这些新增功能提供了增强的功能和性能,包括更好的显示分辨率、无缝的鼠标集成以及改进的主机和客户操作系统之间的文件共享。所以添加虚拟机后,也安装了VB Guest Additions。

Step1 新建virtualmachine

点击新建
Open5GS&&UeRANSim1:在同一个VirtualBox 虚拟机上安装UERANSIM和Open5GS_第1张图片
弹出页面选择专家模式,因为第一个virtual machine要模拟5GS,起名称5GinaBox。如下勾选:
选择之前下载的iso文件。类型linux,版本 Ubuntu(64-bit)。
Open5GS&&UeRANSim1:在同一个VirtualBox 虚拟机上安装UERANSIM和Open5GS_第2张图片
然后把处理器设置为2或者4.其他维持默认配置,没有改动。
Open5GS&&UeRANSim1:在同一个VirtualBox 虚拟机上安装UERANSIM和Open5GS_第3张图片

点击完成。
这中间有一个小问题,在我的电脑上面的窗口一直超过屏幕,无法看到最下方的完成按钮。
通过修改品目缩放大小,从默认的150%修改为125%,解决。
Open5GS&&UeRANSim1:在同一个VirtualBox 虚拟机上安装UERANSIM和Open5GS_第4张图片
下载出现了5GinaBox虚拟机,点击启动。
Open5GS&&UeRANSim1:在同一个VirtualBox 虚拟机上安装UERANSIM和Open5GS_第5张图片
成功引导后,显示了安装 Ubuntu 的各种选项。选择 “尝试 Ubuntu(Try Ubuntu)” 或 “安装 Ubuntu(Install Ubuntu)”。
进入桌面后,等待出现如下界面,选择English,Install Ubuntu

Open5GS&&UeRANSim1:在同一个VirtualBox 虚拟机上安装UERANSIM和Open5GS_第6张图片
如下界面,点击continue
Open5GS&&UeRANSim1:在同一个VirtualBox 虚拟机上安装UERANSIM和Open5GS_第7张图片
如下界面,和默认选项不同。此虚拟机只用来模拟核心网,不需要各种第三方软件,选择“minimal installation”
Open5GS&&UeRANSim1:在同一个VirtualBox 虚拟机上安装UERANSIM和Open5GS_第8张图片
下面窗口,因为时虚拟机,选择“Erase disk and Install Ubuntu”即可。
Open5GS&&UeRANSim1:在同一个VirtualBox 虚拟机上安装UERANSIM和Open5GS_第9张图片
看到“Wrtie the changes to disks”直接点击continue
Open5GS&&UeRANSim1:在同一个VirtualBox 虚拟机上安装UERANSIM和Open5GS_第10张图片
然后选择所在时区
Open5GS&&UeRANSim1:在同一个VirtualBox 虚拟机上安装UERANSIM和Open5GS_第11张图片
接着输入用户名,密码电脑名字:
Open5GS&&UeRANSim1:在同一个VirtualBox 虚拟机上安装UERANSIM和Open5GS_第12张图片

等待安装完后,在如下界面弹出时,点击restart。重启虚拟机。
Open5GS&&UeRANSim1:在同一个VirtualBox 虚拟机上安装UERANSIM和Open5GS_第13张图片
重启后welcome界面的设置都skip。
Open5GS&&UeRANSim1:在同一个VirtualBox 虚拟机上安装UERANSIM和Open5GS_第14张图片

Step2: 安装guest addtions

为了操作方便需要安装 guest addtions。我的virtualbox版本时7.08 r156879,就在 http://download.virtualbox.org/virtualbox/7.0.8
目录下找到对应版本下载,

Open5GS&&UeRANSim1:在同一个VirtualBox 虚拟机上安装UERANSIM和Open5GS_第15张图片
下载完后,双击文件,弹出界面,点击安装。
Open5GS&&UeRANSim1:在同一个VirtualBox 虚拟机上安装UERANSIM和Open5GS_第16张图片
然后可以发现,
Open5GS&&UeRANSim1:在同一个VirtualBox 虚拟机上安装UERANSIM和Open5GS_第17张图片

进入系统,打开命令行,进入VBOX guest addtion 目录:
Open5GS&&UeRANSim1:在同一个VirtualBox 虚拟机上安装UERANSIM和Open5GS_第18张图片
命令行中输入:
sudo ./VBoxLinuxAddtions.run
安装过程中会卡住,或者报错。根据提示安装所需的包。比如下图,根据提示,输入如下命令安装所需package
Sudo apt-get install gcc make perl

Open5GS&&UeRANSim1:在同一个VirtualBox 虚拟机上安装UERANSIM和Open5GS_第19张图片
重新输入sudo ./VBoxLinuxAddtions.run安装软件。
Open5GS&&UeRANSim1:在同一个VirtualBox 虚拟机上安装UERANSIM和Open5GS_第20张图片
然后输入如下两个命令,查看其版本和服务状态。
modinfo vboxguest
systemctl status vbox*

Open5GS&&UeRANSim1:在同一个VirtualBox 虚拟机上安装UERANSIM和Open5GS_第21张图片
最后重启电脑,让guest addtions生效。

Step3: 设置共享方式和显示参数

配置中设备选择,设置,将“共享黏贴板”“拖放”均设置为双向。
Open5GS&&UeRANSim1:在同一个VirtualBox 虚拟机上安装UERANSIM和Open5GS_第22张图片
Open5GS&&UeRANSim1:在同一个VirtualBox 虚拟机上安装UERANSIM和Open5GS_第23张图片
点击左下角show application按钮,搜索display。进入displays设置。
Open5GS&&UeRANSim1:在同一个VirtualBox 虚拟机上安装UERANSIM和Open5GS_第24张图片
然后根据自己电脑修改分辨率。
Open5GS&&UeRANSim1:在同一个VirtualBox 虚拟机上安装UERANSIM和Open5GS_第25张图片

2.Installation steps for Open5GS

参考
Installation steps for Open5GS & UERANSIM for single VM
https://github.com/mohitkr05/5G_stuff/blob/main/clickops/01_Open5GS_UeRANSIM/single_vm.md

准备操作

virtual box 虚拟机上的Mongodb 依赖 gnupg wget curl,和libssl1.1. 需要手动安装。
操作如下:
sudo apt-get update
sudo apt-get install -y gnupg wget curl

安装libssl1.1

echo "deb http://security.ubuntu.com/ubuntu focal-security main" | sudo tee /etc/apt/sources.list.d/focal-security.list
sudo apt-get update && sudo apt-get install libssl1.1
sudo rm /etc/apt/sources.list.d/focal-security.list

【此问题可以参考如下链接
https://askubuntu.com/questions/1403619/mongodb-install-fails-on-ubuntu-22-04-depends-on-libssl1-1-but-it-is-not-insta】

安装mongoDB

安装前需要确认CPU能否支持AVX等。如果不支持必须安装5.0之下的版本。
grep avx /proc/cpuinfo如果返回空,则不支持。

wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add -
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list 
Sudo  apt  update
sudo  apt install mongodb-org=4.4.8  mongodb-org-server=4.4.8 mongodb-org-shell=4.4.8 mongodb-org-mongos=4.4.8 mongodb-org-tools=4.4.8 

如下,有warning提示,忽略就好。
在这里插入图片描述

启动mongoDB

输入如下命令配置mongod。 并查询版本,确认安装成功。

systemctl start mongod
systemctl enable mongod
mongod --version

Open5GS&&UeRANSim1:在同一个VirtualBox 虚拟机上安装UERANSIM和Open5GS_第26张图片
Open5GS&&UeRANSim1:在同一个VirtualBox 虚拟机上安装UERANSIM和Open5GS_第27张图片

安装nodejs

不同版本的安装命令不同,最新的安装命令参考:
https://github.com/nodesource/distributions#installation-instructions

sudo apt-get update
sudo apt-get install -y ca-certificates curl gnupg
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
NODE_MAJOR=20echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | sudo tee /etc/apt/sources.list.d/nodesource.list
sudo apt-get update
sudo apt-get install nodejs -y

Install Open5GS

sudo add-apt-repository ppa:open5gs/latest
sudo apt-get install -y software-properties-common
sudo apt-get -y update && sudo apt install -y open5gs

查询open5Gs状态

输入 sudo service open5gs-* status
如下图,sgwu、dbm等服务均正常运行。
Open5GS&&UeRANSim1:在同一个VirtualBox 虚拟机上安装UERANSIM和Open5GS_第28张图片

注意:安装完open5GS后,网络会异常

安装完open5GS后网络会无法连上。此时安装其他软件时,会有类似‘Temporary failure resolving 'hk.archive.ubuntu.com’的提示。
此时只需要重新开关网络即可。依次点击turn off,turn on。

Open5GS&&UeRANSim1:在同一个VirtualBox 虚拟机上安装UERANSIM和Open5GS_第29张图片

安装 net-tools

运行open5GS,举要建立并配置相关的tunnel iface。
需要使用ifconfig之类的命令。所以安装net-tools

sudo apt-get install net-tools

查看网络参数

可以看到open5GS建立了一个internal interface: ogstun
这是一个tunnel interface, ip为 10.45.0.1 和inet6 fe80::7058:ea6:8a5b:97a3 , inet6 2001:db8:cafe::1 。
Open5GS&&UeRANSim1:在同一个VirtualBox 虚拟机上安装UERANSIM和Open5GS_第30张图片

安装 open5GS web ui

curl -fsSL https://open5gs.org/open5gs/assets/webui/install | sudo -E bash -

安装过程可以看到默认用户名密码的打印。
Default Administrator Account [Username:admin, Password:1423]…
网址打印如下:(前期版本端口是3000,现在是9999. 注意安装时的打印消息。)
Ready on http://localhost:9999
安装后,open5gs-webui服务就起来了。
Open5GS&&UeRANSim1:在同一个VirtualBox 虚拟机上安装UERANSIM和Open5GS_第31张图片
登陆webui后界面显示如下:
Open5GS&&UeRANSim1:在同一个VirtualBox 虚拟机上安装UERANSIM和Open5GS_第32张图片

3安装UERANSIM

安装编译命令

sudo apt install make gcc g++ libsctp-dev lksctp-tools iproute2 git
sudo snap install cmake --classic
cd ~
mkdir ueransim && cd ueransim
git clone https://github.com/aligungr/UERANSIM
cd UERANSIM
make

Open5GS&&UeRANSim1:在同一个VirtualBox 虚拟机上安装UERANSIM和Open5GS_第33张图片

配置文件目录:

在这里插入图片描述

UERANSIM和OPEN5GS建立连接

运行RAN和AMF成功建立NG连接

cd ~
cd UERANSIM
../build/nr-gnb -c open5gs-gnb.yaml

UERANSIM 分为 UE 和 RAN(nr-gnb)模块。
上面的nr-gnb命令建立模拟接入网gnode,通过open5gs-gnb.yaml配置, 经NG口去连接Open5GS的AMF/UPF模块。因为UeRANSim和Open5GS两者是装在一个虚拟机上,所以默认参数不需要修改。
通过日志看通过NGAP/STCP连接建立NG口。
Open5GS的AMF也打印出来gNB的连接和断开。
至此UERANSIM和open5GS都成功安装完毕。并可以互相交互。

Open5GS&&UeRANSim1:在同一个VirtualBox 虚拟机上安装UERANSIM和Open5GS_第34张图片
5G RAN架构图
Open5GS&&UeRANSim1:在同一个VirtualBox 虚拟机上安装UERANSIM和Open5GS_第35张图片

你可能感兴趣的:(5G,Open5GS,UeRANSim)