free5gc compose - ianchen0119/Introduce-to-5GC GitHub Wiki
free5gc 的安裝與測試教學都可以在 free5gc 官網上取得,如果讀者希望能夠在不使用 VM 的情況下建立核網與 RAN 模擬器的測試環境,可以考慮使用 free5gc-compose 這個專案來進行實驗。
進入正題
free5gc-compose 是使用 docker-compose 建立的容器化應用程式,它將每一個 Network Functions 進行容器化,當我們啟動 free5gc-compose 後就可以立刻測試我們的核心網路囉!
安裝要求
在使用 free5gc-compose 之前,請先確保你已經在電腦上安裝以下軟體:
- GTP5G kernel module UPF 的 Data Plane,由於 GTP5G 是 Linux kernel module,根據官網描述,建議你在 kernel 為 5.0.0-23-generic 或 5.4.0 以後的版本下安裝。
BTW,從這個 commit 之後的版本應該都能使 gtp5g 在 5.11 以後的 kernel 上運作。
- Docker Engine
- Docker Compose
安裝 free5gc-compose
若你已經正確的安裝上述所需的軟體,我們就能安裝 free5gc-compose 了:
$ git clone https://github.com/free5gc/free5gc-compose.git
$ cd free5gc-compose
將專案 clone 下來以後,必須先編譯 base image 用來產生每一個 NF 的執行檔:
$ make base
將 base image 編譯後,使用以下命令產生每一個 NF 使用到的 container:
$ docker-compose build
安裝且編譯完成後,我們就能使用以下命令開啟剛剛產生出來的 Container:
$ sudo docker-compose up
使用 webconsole 新增訂閱用戶的資料
打開瀏覽器連上 localhost:5000
就可以看到 webconsole 的登入畫面,預設的登入帳號與密碼為:
- Account: admin
- Password: free5gc
接著請依造上圖所示的樣子新增一個新的 Subscriber Data。
補充: Subscriber Data 的內容需要與下一個步驟 UE simulator 使用到的 configuration file 一致,如果無法看到 PDU Session 順利建立的訊息請反覆檢查兩邊的內容。
使用 UERANSIM 與 free5gc 互動
當所有 NF 被啟動以後,可以使用以下命令查詢 Running Container 的資訊:
$ docker container ls
結果如下:
如果有順利啟動,請把 ueransim container 的 id 記下來,以上圖為例就是 d442c241d63c
。
接著,我們進入 d442c241d63c
container:
$ docker exec -it d442c241d63c bash
啟動 ue simulator:
$ /ueransim# ./nr-ue -c ./config/uecfg.yaml
啟動後,如果設定檔無誤應該可以看到 PDU Session 建立成功的訊息: