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 建立成功的訊息: