【ローカル5G】 free5GCとリアルgNBでiPhone接続を試す。①

* * *
※本記事は2024年9月9日時点の内容です。
この記事は私がfree5GCとリアルgNB(ローカル5G用小型基地局= Small Cell）を使ってiPhone接続を試す機会があり、その過程をまとめたものです。
* * *
free5GCのインストールについては基本的には全てfree5GCプロジェクトのWEBサイトを参考に進めました。

https://free5gc.org/

プロジェクトWEBサイトではVM上にインストールする方法が説明されているのですが、私はPCに直接Ubuntuをインストールするやり方に置き換えて進めました。
また、リアルgNBとiPhoneを接続するつもりですのでUE / RAN Simulatorはインストールしませんでした。

# Ubuntuインストール
【用意したもの】
* 適当なPC × 2台　※free5GC用と設定作業用(Windows PC)
* 適当な容量の空USBメモリ
* L2 switch (市販のスイッチングハブで)
* インターネット回線

　free5GC用PCは余っていたFujitsu製のLaptopを使いました。機種はLIFEBOOK wu2/c3
　
 ### インストールisoダウンロード
 まずはUbuntuのインストールisoイメージをダウンロード。
私はfree5GCをインストールする為にはあまり新しいバージョンではうまく動作しないと聞いたことがあるので、free5GCのWEBサイトを参考に「20.04.6 LTS」をインストールしました。

https://releases.ubuntu.com/focal/

Desktop版とServer版がありますが、私はServer版を選択。
　
### USBインストールメディア作成
様々な作成ツールがありますが、私は「Rufus」を使用しました。

![rufus.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3883115/91255dd5-9021-e045-645e-315728fb2211.png)

1. USBメディアをPCに挿入してRufus起動
1. 「デバイス」欄のプルダウンメニューからUSBデバイスを選択
1. 「ブートの種類」右側の「選択」ボタンをクリックして、先程ダウンロードしたUbuntuのインストールisoイメージファイルを選択
1. 一番下の「スタート」クリックで作成スタート
1. 完了したら「閉じる」をクリックで終了

free5gc用PCのbootデバイス順をUSBメディアを1番に変更してUSBからbootさせます。
　
### Ubuntuインストール
インストールの手順についてはfree5GCプロジェクトがYoutubeに手順動画を公開してくださっていますのでそれをたよりにインストールを進めました。
<iframe width="560" height="315" src="https://www.youtube.com/embed/L7Ue3QkSIYY?si=HS_DJP3BOsN2GX6C" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
<br><br>
<iframe width="560" height="315" src="https://www.youtube.com/embed/DR3ruEPUQjw?si=ovAra-cS37sBTw_A" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
<br><br>

### 各PCのネットワーク構成
![network1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3883115/a0d38763-f604-3368-aca0-76a746ef6a80.png)

インストールが完了して再起動が終わったらUbuntuにログイン。
接続後はUbuntuのUpdateとUpgradeを実行します。

```ruby:update & upgrade
sudo apt update
sudo apt upgrade
```
<br>

### hostname変更
hostnameを「free5gc」に変更します。
```ruby:hostname変更
vi /etc/hostname
```
free5gcに変更して保存

<br>

次に「hosts」ファイルを編集。「127.0.1.1」部分を以下のように「free5gc」に変更して保存
```ruby:hosts変更
vi /etc/hosts
```

```ruby:変更後
127.0.0.1 localhost
127.0.1.1 free5gc

# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
```
保存して再起動。
<br>
### Static IPアドレス設定
再起動後に再度SSH接続してfree5GC用PCにStatic IPを設定します。
```ruby:00-installer-config.yamlファイル
root@free5gc:/# cd /etc/netplan
root@free5gc:/etc/netplan# ls -l
total 8
-rw------- 1 root root 189 Sep  4 01:50 00-installer-config-wifi.yaml
-rw-r--r-- 1 root root 242 Sep  9 00:47 00-installer-config.yaml
root@free5gc:/etc/netplan#
```
```ruby:Static IP設定
vi /etc/netplan/00-installer-config.yaml
```
```ruby:ファイル編集後
# This is the network config written by 'subiquity'
network:
  ethernets:
    enp0s31f6:
      dhcp4: no
      addresses: [172.16.60.2/24]
      gateway4: 172.16.60.1
      nameservers:
              addresses: [8.8.8.8,8.8.4.4]
  version: 2
```
IPを 172.16.60.2 に設定しました。
※IPはそれぞれの環境に合わせて変更が必要。

変更・保存したら以下コマンドで設定に問題がないかチェック。問題なければEnterで設定反映。
```
sudo netplan try
```
ifconfig あるいは ip aコマンドで反映結果を確認します。
<br><br>
### UbuntuにSSH再接続
設定用PCのIPアドレスをfree5GC用PCに接続可能なアドレスに変更します。
ここでは「172.16.60.4/24」に変更。変更後、free5GC用PCにSSH再接続。
ブロードバンドルーターのDHCP設定もdisableに変更しました。

![network2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3883115/ae1f36e5-212e-8961-c747-feffa2e86029.png)
<br>
これにてUbuntuインストール完了です。
次記事でfree5GCインストール過程をまとめようと思います。

https://qiita.com/Takashi_Eifuku/items/c13b8ecb499f1a3b3c38