Skip to content

eNB Setup Guide

taihei edited this page Mar 3, 2026 · 4 revisions

eNB Setup Guide

概要

このプロジェクトでは Baicells Nova430x (sXGP対応 4G基地局) を使用して検証しています。 このガイドでは、eNBのネットワーク設定およびs1n2-Gateway接続のための設定手順を説明します。

ハードウェア要件

  • eNB: Baicells Nova430x (またはS1AP対応の4G基地局)
  • 接続方式: Ethernet経由でホストマシンと通信
  • 必要なパラメータ: S1-C/S1-U接続先IPアドレス、ポート番号

基本的なネットワーク構成

start.sh がホストの物理NIC(eno1)を Docker ブリッジ br-s1n2-gw に L2 結合するため、eNB は Docker ネットワーク (172.24.0.0/16) に直接参加します。

[eNB]          ──Ethernet──►  [Host NIC: eno1]  ──bridge──►  br-s1n2-gw (172.24.0.0/16)
172.24.0.111                                                     │
                                                                 ├── s1n2 container (172.24.0.30)
                                                                 ├── AMF  container (172.24.0.12)
                                                                 └── 他の 5GC NF …

IMPORTANT: eNB の S1 インターフェース IP は Docker ブリッジと同じサブネット (172.24.0.0/16) に設定する必要があります。

設定手順

1. eNBの管理画面にアクセス

eNB の管理画面は HTTPS で提供される。ホストマシンと別のマシンから SSH トンネル経由でアクセスする:

# 別マシンから実行(ホストマシンへ SSH トンネルを張る)
ssh -p <SSH_PORT> -L 8443:<ENB_MGMT_IP>:443 <HOSTNAME>
# 例: ssh -p 2002 -L 8443:192.168.10.111:443 my-server

ブラウザで https://localhost:8443 にアクセスする。

NOTE: <ENB_MGMT_IP> は eNB の管理用 IP アドレス(S1 インターフェースの 172.24.0.x とは別)。 start.sh 実行時の出力に実際の値が表示される。 初期アクセス方法やデフォルト IP アドレスは eNB のメーカーマニュアルを参照。

2. PLMN設定の確認

以下のパラメータがプロジェクトの .env ファイルと一致していることを確認します:

  • MCC (Mobile Country Code): .envMCC と一致
  • MNC (Mobile Network Code): .envMNC と一致
  • TAC (Tracking Area Code): .envTAC と一致

3. eNB 自身の IP アドレス設定

eNB の S1 インターフェースに、Docker ブリッジと同じサブネット上の静的 IP を設定します:

パラメータ 設定値 説明
eNB IP Address 172.24.0.111 172.24.0.0/16 内で、.env の他コンテナ IP と重複しない値を選ぶ
Subnet Mask 255.255.0.0 (/16) Docker ブリッジのサブネットに合わせる
Gateway 172.24.0.1 Docker ブリッジの gateway(start.sh が設定)

NOTE: eNB の管理画面での設定項目名は機種によって異なります。Baicells Nova430x の場合はメーカーマニュアルを参照してください。

4. S1インターフェース設定

eNBの管理画面で、S1接続先として s1n2 コンテナの IP を設定します:

パラメータ 設定値 説明
S1-MME IP Address 172.24.0.30.envS1N2_IP s1n2 コンテナの IP(S1AP/SCTP)
S1-MME Port 36412 S1AP 接続ポート
S1-U GW IP Address 172.24.0.30.envS1N2_IP s1n2 コンテナの IP(GTP-U)
S1-U Port 2152 GTP-U ポート

IMPORTANT: .envS1N2_IP を変更した場合は、eNB 側の設定もそれに合わせること。

5. APN設定

eNBでAPNを設定します。通常は以下の設定を推奨:

APN: internet

この値は Open5GS WebUI で登録する加入者の APN 設定と一致させます。

6. セキュリティ設定

プロジェクトの標準設定では以下のセキュリティパラメータを使用:

  • Integrity Algorithm: NIA2(EIA2)
  • Ciphering Algorithm: NEA0(EEA0: 暗号化なし) または NEA2(EEA2)

NOTE: テスト環境では暗号化なし(NEA0/EEA0)も動作しますが、本番環境では暗号化を有効化してください。

7. eNBの再起動

設定変更後、eNBを再起動して設定を反映します。

接続確認

s1n2-converterを起動後、以下のログでeNBの接続を確認できます:

docker compose logs s1n2 -f

正常に接続されると以下のようなログが出力されます:

[s1ap] S1 Setup Request received from eNB
[s1ap] S1 Setup Response sent

トラブルシューティング

eNBがs1n2に接続できない

  1. ネットワーク疎通確認 ホストマシンからeNBにpingが通るか確認:

    ping <eNB_IP_ADDRESS>
  2. ファイアウォール設定 ホストマシンのファイアウォールでポート36412(S1-C, SCTP)と2152(S1-U, UDP)が開放されているか確認:

    sudo ufw status
    # ufw は SCTP を直接サポートしないため、iptables で許可する
    sudo iptables -A INPUT -p sctp --dport 36412 -j ACCEPT
    sudo iptables -A INPUT -p udp --dport 2152 -j ACCEPT
  3. IPアドレス設定の確認 eNB の IP アドレスが Docker ブリッジと同じサブネット (172.24.0.0/16) 上にあるか確認:

    # ホスト側でブリッジの状態を確認
    ip addr show br-s1n2-gw
    # eNB への疎通確認
    ping 172.24.0.111

S1 Setup Failureが発生する

eNBとs1n2の設定でMCC/MNC/TACが一致していない可能性があります。 .env ファイルとeNBの設定を再度確認してください。

start.sh の環境変数

start.sh は環境変数でカスタマイズできる。デフォルト値は検証環境 (Intel NUC + Baicells Nova430x) に合わせてある。

環境変数 デフォルト値 説明
PHYS_NIC eno1 eNB と接続する物理NIC名。ip link show で確認
ENB_IP 172.24.0.111 eNB の S1 インターフェース IP。疎通確認 (ping) に使用
ENB_MGMT_IP 192.168.10.111 eNB の管理画面 IP。SSH トンネル表示用
SSH_PORT 2002 ホストマシンの SSH ポート。SSH トンネル表示用

別環境での使用例:

PHYS_NIC=eth0 ENB_IP=172.24.0.200 ENB_MGMT_IP=10.0.0.1 SSH_PORT=22 ./start.sh

関連ドキュメント