概述
本文档记录用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
点击新建

弹出页面选择专家模式,因为第一个virtual machine要模拟5GS,起名称5GinaBox。如下勾选:
选择之前下载的iso文件。类型linux,版本 Ubuntu(64-bit)。

然后把处理器设置为2或者4.其他维持默认配置,没有改动。

点击完成。
这中间有一个小问题,在我的电脑上面的窗口一直超过屏幕,无法看到最下方的完成按钮。
通过修改品目缩放大小,从默认的150%修改为125%,解决。

下载出现了5GinaBox虚拟机,点击启动。

成功引导后,显示了安装 Ubuntu 的各种选项。选择 “尝试 Ubuntu(Try Ubuntu)” 或 “安装 Ubuntu(Install Ubuntu)”。
进入桌面后,等待出现如下界面,选择English,Install Ubuntu

如下界面,点击continue

如下界面,和默认选项不同。此虚拟机只用来模拟核心网,不需要各种第三方软件,选择“minimal installation”

下面窗口,因为时虚拟机,选择“Erase disk and Install Ubuntu”即可。

看到“Wrtie the changes to disks”直接点击continue

然后选择所在时区

接着输入用户名,密码电脑名字:

等待安装完后,在如下界面弹出时,点击restart。重启虚拟机。

重启后welcome界面的设置都skip。

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

下载完后,双击文件,弹出界面,点击安装。

然后可以发现,

进入系统,打开命令行,进入VBOX guest addtion 目录:

命令行中输入:
sudo ./VBoxLinuxAddtions.run
安装过程中会卡住,或者报错。根据提示安装所需的包。比如下图,根据提示,输入如下命令安装所需package
Sudo apt-get install gcc make perl

重新输入sudo ./VBoxLinuxAddtions.run安装软件。

然后输入如下两个命令,查看其版本和服务状态。
modinfo vboxguest
systemctl status vbox*

最后重启电脑,让guest addtions生效。
Step3: 设置共享方式和显示参数
配置中设备选择,设置,将“共享黏贴板”“拖放”均设置为双向。


点击左下角show application按钮,搜索display。进入displays设置。

然后根据自己电脑修改分辨率。

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


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

安装 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 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服务就起来了。

登陆webui后界面显示如下:

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

配置文件目录:

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都成功安装完毕。并可以互相交互。

5G RAN架构图


2393

被折叠的 条评论
为什么被折叠?



