debian安装Open5GS

  1. 环境说明

  2. 安装MongoDB

    • 安装必要的包

      复制代码
      sudo apt install gnupg curl
    • 导入MongoDB公钥

      复制代码
      curl -fsSL https://www.mongodb.org/static/pgp/server-6.0.asc | sudo gpg --dearmor -o /usr/share/keyrings/mongodb-archive-keyring.gpg
    • 创建MongoDB源列表文件

      复制代码
      echo "deb [signed-by=/usr/share/keyrings/mongodb-archive-keyring.gpg] http://repo.mongodb.org/apt/debian bullseye/mongodb-org/6.0 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list
    • 更新包列表并安装MongoDB

      复制代码
      sudo apt update
      sudo apt install mongodb-org
    • 启动并设置开机启动

      复制代码
      sudo systemctl start mongod
      sudo systemctl enable mongod
    • 检查服务状态

      复制代码
      sudo systemctl status mongod
    • 创建管理员用户

      复制代码
      执行mongosh进入MongoDB shell
      切换到admin数据库并创建管理员用户:
      	use admin
      	db.createUser({
      	  user: "admin",
      	  pwd: "admin",
      	  roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
      	})
    • 配置MongoDB安全设置

      复制代码
      编辑MongoDB配置文件:sudo vi /etc/mongod.conf
      security:
      	authorization: enabled
      重启生效:sudo systemctl restart mongod
    • 验证是否生效

      复制代码
      mongosh -u admin -p --authenticationDatabase admin
  3. 安装Open5GS

    复制代码
    wget -qO - https://download.opensuse.org/repositories/home:/acetcom:/open5gs:/latest/Debian_10/Release.key | sudo apt-key add -
    sudo sh -c "echo 'deb https://download.opensuse.org/repositories/home:/acetcom:/open5gs:/latest/Debian_11/ ./' > /etc/apt/sources.list.d/open5gs.list"
    sudo apt update
    sudo apt install open5gs
  4. 安装Open5GS的WebUI

    • 安装Node.js

      复制代码
      # Download and import the Nodesource GPG key
      sudo apt install -y ca-certificates curl gnupg
      sudo mkdir -p /etc/apt/keyrings
      curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
      
      # Create deb repository
      echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_20.x nodistro main" | sudo tee /etc/apt/sources.list.d/nodesource.list
      
      # Run Update and Install
      sudo apt update
      sudo apt install nodejs -y
    • 安装WebUI:(方法1)

      复制代码
      curl -fsSL https://open5gs.org/open5gs/assets/webui/install | sudo -E bash -
      
      输出:
      	==============================================================================================================================
      	## Download the Open5GS Source Code (v2.7.0)...
      
      	+ curl -sLf 'https://github.com/open5gs/open5gs/archive/v2.7.0.tar.gz' | tar zxf -
      
      	## Build the Open5GS WebUI...
      
      	+ cd ./open5gs-2.7.0/webui && npm clean-install && npm run build
      	npm warn EBADENGINE Unsupported engine {
      	npm warn EBADENGINE   package: 'react-jsonschema-form@0.50.1',
      	npm warn EBADENGINE   required: { node: '>=6', npm: '^2.14.7' },
      	npm warn EBADENGINE   current: { node: 'v20.19.0', npm: '10.8.2' }
      	npm warn EBADENGINE }
      
      	added 813 packages, and audited 814 packages in 1m
      
      	19 packages are looking for funding
      	  run `npm fund` for details
      
      	94 vulnerabilities (5 low, 8 moderate, 42 high, 39 critical)
      
      	To address issues that do not require attention, run:
      	  npm audit fix
      
      	To address all issues (including breaking changes), run:
      	  npm audit fix --force
      
      	Run `npm audit` for details.
      	npm notice
      	npm notice New major version of npm available! 10.8.2 -> 11.2.0
      	npm notice Changelog: https://github.com/npm/cli/releases/tag/v11.2.0
      	npm notice To update run: npm install -g npm@11.2.0
      	npm notice
      
      	> open5gs@2.7.0 build
      	> next build
      
      	> Using external babel configuration
      	> Location: "/home/hslong/open5gs-2.7.0/webui/.babelrc"
      
      	## Install the Open5GS WebUI...
      
      	+ mkdir -p /usr/lib/node_modules
      	+ mv ./open5gs-2.7.0/webui /usr/lib/node_modules/open5gs
      	+ chown -R open5gs:open5gs /usr/lib/node_modules/open5gs
      	+ cat << EOF > /lib/systemd/system/open5gs-webui.service
      	[Unit]
      	Description=Open5GS WebUI
      	Wants=mongodb.service mongod.service
      
      	[Service]
      	Type=simple
      
      	WorkingDirectory=/usr/lib/node_modules/open5gs
      	Environment=NODE_ENV=production
      	ExecStart=/usr/bin/node server/index.js
      	Restart=always
      	RestartSec=2
      
      	[Install]
      	WantedBy=multi-user.target
      	EOF
      	+ systemctl daemon-reload
      	+ systemctl enable open5gs-webui
      	Created symlink /etc/systemd/system/multi-user.target.wants/open5gs-webui.service → /lib/systemd/system/open5gs-webui.service.
      	+ deb-systemd-invoke start open5gs-webui
      
      	## Default Administrator Account [Username:admin, Password:1423]...
      
      	+ mongosh open5gs ./open5gs-2.7.0/docs/assets/webui/mongo-init.js
      	+ rm -rf ./open5gs-2.7.0
      	==============================================================================================================================
    • 安装WebUI:(方法2)

      • wget https://github.com/open5gs/open5gs/archive/v2.7.0.tar.gz

      • tar xvf v2.7.0.tar.gz

      • mv open5gs-2.7.0 /opt

      • cd /opt/open5gs-2.7.0/webui

      • npm clean-install && npm run build

      • 前台运行:node server/index.js

      • 系统自启动:

        复制代码
        sudo vi /etc/systemd/system/open5gs-webui.service
        [Unit]
        Description=Open5GS WebUI
        After=network.target
        
        [Service]
        User=root 
        WorkingDirectory=/opt/open5gs-2.7.0/webui
        ExecStart=/usr/bin/node server/index.js           
        Restart=always
        
        [Install]
        WantedBy=multi-user.target
      • systemctl daemon-reload

      • systemctl enable open5gs-webui

      • 查看webui服务状态:systemctl status open5gs-webui

      • 查看启动日志:sudo tail -f /var/log/syslog

    • 登录WebUI

  5. 配置Open5GS

    • 各个组件默认配置

      复制代码
      MongoDB   = 127.0.0.1 (subscriber data) - http://localhost:9999
      
      MME-s1ap  = 127.0.0.2 :36412 for S1-MME
      MME-gtpc  = 127.0.0.2 :2123 for S11
      MME-frDi  = 127.0.0.2 :3868 for S6a
      
      SGWC-gtpc = 127.0.0.3 :2123 for S11
      SGWC-pfcp = 127.0.0.3 :8805 for Sxa
      
      SMF-gtpc  = 127.0.0.4 :2123 for S5c
      SMF-gtpu  = 127.0.0.4 :2152 for N4u (Sxu)
      SMF-pfcp  = 127.0.0.4 :8805 for N4 (Sxb)
      SMF-frDi  = 127.0.0.4 :3868 for Gx auth
      SMF-sbi   = 127.0.0.4 :7777 for 5G SBI (N7,N10,N11)
      
      AMF-ngap  = 127.0.0.5 :38412 for N2
      AMF-sbi   = 127.0.0.5 :7777 for 5G SBI (N8,N12,N11)
      
      SGWU-pfcp = 127.0.0.6 :8805 for Sxa
      SGWU-gtpu = 127.0.0.6 :2152 for S1-U, S5u
      
      UPF-pfcp  = 127.0.0.7 :8805 for N4 (Sxb)
      UPF-gtpu  = 127.0.0.7 :2152 for S5u, N3, N4u (Sxu)
      
      HSS-frDi  = 127.0.0.8 :3868 for S6a, Cx
      
      PCRF-frDi = 127.0.0.9 :3868 for Gx
      
      NRF-sbi   = 127.0.0.10:7777 for 5G SBI
      SCP-sbi   = 127.0.0.200:7777 for 5G SBI
      SEPP-sbi  = 127.0.0.250:7777 for 5G SBI
      SEPP-n32  = 127.0.0.251:7777 for 5G N32
      SEPP-n32f = 127.0.0.252:7777 for 5G N32-f
      AUSF-sbi  = 127.0.0.11:7777 for 5G SBI
      UDM-sbi   = 127.0.0.12:7777 for 5G SBI
      PCF-sbi   = 127.0.0.13:7777 for 5G SBI
      NSSF-sbi  = 127.0.0.14:7777 for 5G SBI
      BSF-sbi   = 127.0.0.15:7777 for 5G SBI
      UDR-sbi   = 127.0.0.20:7777 for 5G SBI
  6. 启动和停止open5GS

    • 重启

      复制代码
      sudo systemctl restart open5gs-mmed
      sudo systemctl restart open5gs-sgwcd
      sudo systemctl restart open5gs-smfd
      sudo systemctl restart open5gs-amfd
      sudo systemctl restart open5gs-sgwud
      sudo systemctl restart open5gs-upfd
      sudo systemctl restart open5gs-hssd
      sudo systemctl restart open5gs-pcrfd
      sudo systemctl restart open5gs-nrfd
      sudo systemctl restart open5gs-scpd
      sudo systemctl restart open5gs-seppd
      sudo systemctl restart open5gs-ausfd
      sudo systemctl restart open5gs-udmd
      sudo systemctl restart open5gs-pcfd
      sudo systemctl restart open5gs-nssfd
      sudo systemctl restart open5gs-bsfd
      sudo systemctl restart open5gs-udrd
      sudo systemctl restart open5gs-webui
    • 停止

      复制代码
      sudo systemctl stop open5gs-mmed
      sudo systemctl stop open5gs-sgwcd
      sudo systemctl stop open5gs-smfd
      sudo systemctl stop open5gs-amfd
      sudo systemctl stop open5gs-sgwud
      sudo systemctl stop open5gs-upfd
      sudo systemctl stop open5gs-hssd
      sudo systemctl stop open5gs-pcrfd
      sudo systemctl stop open5gs-nrfd
      sudo systemctl stop open5gs-scpd
      sudo systemctl stop open5gs-seppd
      sudo systemctl stop open5gs-ausfd
      sudo systemctl stop open5gs-udmd
      sudo systemctl stop open5gs-pcfd
      sudo systemctl stop open5gs-nssfd
      sudo systemctl stop open5gs-bsfd
      sudo systemctl stop open5gs-udrd
      sudo systemctl stop open5gs-webui
相关推荐
Fcy6483 小时前
Linux下 进程(一)(冯诺依曼体系、操作系统、进程基本概念与基本操作)
linux·运维·服务器·进程
袁袁袁袁满3 小时前
Linux怎么查看最新下载的文件
linux·运维·服务器
代码游侠3 小时前
学习笔记——设备树基础
linux·运维·开发语言·单片机·算法
Harvey9034 小时前
通过 Helm 部署 Nginx 应用的完整标准化步骤
linux·运维·nginx·k8s
珠海西格电力科技5 小时前
微电网能量平衡理论的实现条件在不同场景下有哪些差异?
运维·服务器·网络·人工智能·云计算·智慧城市
释怀不想释怀5 小时前
Linux环境变量
linux·运维·服务器
zzzsde5 小时前
【Linux】进程(4):进程优先级&&调度队列
linux·运维·服务器
聆风吟º7 小时前
CANN开源项目实战指南:使用oam-tools构建自动化故障诊断与运维可观测性体系
运维·开源·自动化·cann
NPE~7 小时前
自动化工具Drissonpage 保姆级教程(含xpath语法)
运维·后端·爬虫·自动化·网络爬虫·xpath·浏览器自动化
神梦流7 小时前
GE 引擎的内存优化终局:静态生命周期分析指导下的内存分配与复用策略
linux·运维·服务器