free5GC测试

在free5gc的VM中操作:
官方安装操作文档: https://www.free5gc.org/installations/stage-3/
ifconfig查看Host-Only模式的网卡信息(Host-Only将虚拟机与外网隔开,使得虚拟机成为一个独立的系统,只与主机相互通讯, 如果要使得虚拟机能联网,我们可以将主机网卡共享给VMware Network Adapter VMnet1网卡,从而达到虚拟机联网的目的。)
进入项目文件
cd free5gc/

首先看一下网卡信息和路由表

Host-only上不了网

需要加入一张NAT的网卡, 访问互联网(设置 -> 网卡2(NAT模式)启用网卡)

注意: 官方文档教程中的192.168.56.101为本文档中的192.168.56.103;
192.168.56.102为本文档中的192.168.56.104
测试注册流程
./test.sh TestRegistration

出现PASS为成功
测试GUTI(全球唯一临时UE标识)注册
./test.sh TestGUTIRegistration

测试服务请求
./test.sh TestServiceRequest
测试Xn切换(基站切换,不涉及核心网内部网元交互)
./test.sh TestXnHandover
测试去注册
./test.sh TestDeregistration
测试PDU会话释放请求
./test.sh TestPDUSessionReleaseRequest
测试Paging(?)
./test.sh TestPaging
测试N2切换
./test.sh TestN2Handover
测试Non3GPP(?)
./test.sh TestNon3GPP
测试重新同步(?)
./test.sh TestReSynchronisation
分流主要的一个应用是——园区或者企业“数据不外流”的场景。即属于园区内的数据就停留在园区内处理完成,不经过外部。通过UL CL UPF(UPF Uplink Classifier)对不同业务进行识别,从而达到数据的区分。通过分流,UL CL UPF 将本地业务(如企业内部的使用的业务,或服务商部署的下沉业务)与正常的业务区分开来,并分别通过主/辅锚点UPF,送达给中心网络或本地网络。

./test_ulcl.sh -om 3 TestRegistration

很好,服务就不一一测试了,估计老师都侧过一遍了 :)
下面测试一下另一台UERAN虚拟机
https://www.free5gc.org/installations/stage-3-sim-install-tw/
还是现将网络连接方式改成仅主机模式

看一下网卡IP, 老师果然也配好了,泪目T_T
保持free5gc虚拟机运行,测试UERAN和free5gc两台机器连通性,互相ping一下

good

测试 free5GC + UERANSIM
在free5gc中
go run server.go
建立启动webconsole

这时不要关掉这个终端! (之前一直5gc启动失败, 可能是这个原因 -_-虽然不明白为什么)
在本机输入http://192.168.56.103:5000

修改为OP

登入 free5gc 後,更改 ~/free5gc/config/amfcfg.yaml
將 ngapIpList 裡的 IP 從 127.0.0.1
改成 192.168.56.103
,亦即(原来是192.168.1.8)

更改 ~/free5gc/config/smfcfg.yaml將 userplane_information / up_nodes / UPF / interfaces / endpoints 裡的 IP 從
127.0.0.8
改成 192.168.56.103
,亦即(原来是192.168.1.8)

最後更改 ~/free5gc/config/upfcfg.yaml
,將 gtpu 裡的 IP 從 127.0.0.8
改為 192.168.56.103
然后更改UERAN中的文件设置

登录UERAN机器
更改 ~/UERANSIM/config/free5gc-gnb.yaml
, 將 ngapIp 及 gtpIp 的 IP 從 127.0.0.1
改成 192.168.56.104
,並將 amfConfigs 裡的 位址改成 192.168.56.103
,亦即

接著可以檢視 ~/UERANSIM/config/free5gc-ue.yaml
,看設定資料是否和 WebConsole 裡的資料一致(PLMN和UEID)

重要:改成OP!



进入free5gc文件夹
sudo sysctl -w net.ipv4.ip_forward=1
sudo iptables -t nat -A POSTROUTING -o enp0s3 -j MASQUERADE
sudo systemctl stop ufw
sudo iptables -I FORWARD 1 -j ACCEPT
./run.sh


重要: 这时再关掉webconsole终端

此时5gc启动, 这里可能要多等一下, 等5gc终端运行一会儿 再启动ue
进入UERAN机器,

开启三个终端
终端1:

此时可以看到5GC与RAN连接建立成功(在5GC终端)

终端2:要用sudo执行


gNB终端窗口显示:

终端3:


曾遇到的问题:free5gc的将AUSF注册到NRF卡主/ N3iwf服务未开始注册



重新做了一遍后:

还是会卡在5gc建立的界面
已解决: 启动5GC后多等一会儿, 再关掉webconsole窗口, 在依次启动UERAN的三个终端
Linux解决端口被占用的问题 bind: address already in use:重启
后续专栏将记录如何抓取5gc中业务的流量