-
Notifications
You must be signed in to change notification settings - Fork 0
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) に設定する必要があります。
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 のメーカーマニュアルを参照。
以下のパラメータがプロジェクトの .env ファイルと一致していることを確認します:
-
MCC (Mobile Country Code):
.envのMCCと一致 -
MNC (Mobile Network Code):
.envのMNCと一致 -
TAC (Tracking Area Code):
.envのTACと一致
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 の場合はメーカーマニュアルを参照してください。
eNBの管理画面で、S1接続先として s1n2 コンテナの IP を設定します:
| パラメータ | 設定値 | 説明 |
|---|---|---|
| S1-MME IP Address |
172.24.0.30(.env の S1N2_IP) |
s1n2 コンテナの IP(S1AP/SCTP) |
| S1-MME Port | 36412 |
S1AP 接続ポート |
| S1-U GW IP Address |
172.24.0.30(.env の S1N2_IP) |
s1n2 コンテナの IP(GTP-U) |
| S1-U Port | 2152 |
GTP-U ポート |
IMPORTANT:
.envのS1N2_IPを変更した場合は、eNB 側の設定もそれに合わせること。
eNBでAPNを設定します。通常は以下の設定を推奨:
APN: internet
この値は Open5GS WebUI で登録する加入者の APN 設定と一致させます。
プロジェクトの標準設定では以下のセキュリティパラメータを使用:
- Integrity Algorithm: NIA2(EIA2)
- Ciphering Algorithm: NEA0(EEA0: 暗号化なし) または NEA2(EEA2)
NOTE: テスト環境では暗号化なし(NEA0/EEA0)も動作しますが、本番環境では暗号化を有効化してください。
設定変更後、eNBを再起動して設定を反映します。
s1n2-converterを起動後、以下のログでeNBの接続を確認できます:
docker compose logs s1n2 -f正常に接続されると以下のようなログが出力されます:
[s1ap] S1 Setup Request received from eNB
[s1ap] S1 Setup Response sent
-
ネットワーク疎通確認 ホストマシンからeNBにpingが通るか確認:
ping <eNB_IP_ADDRESS>
-
ファイアウォール設定 ホストマシンのファイアウォールでポート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 -
IPアドレス設定の確認 eNB の IP アドレスが Docker ブリッジと同じサブネット (172.24.0.0/16) 上にあるか確認:
# ホスト側でブリッジの状態を確認 ip addr show br-s1n2-gw # eNB への疎通確認 ping 172.24.0.111
eNBとs1n2の設定でMCC/MNC/TACが一致していない可能性があります。
.env ファイルとeNBの設定を再度確認してください。
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