在Ubuntu 24.04上高效部署OAI 5G核心网的完整指南对于国内开发者而言搭建OAI 5G核心网最令人头疼的莫过于网络连接问题。本文将提供一套完整的解决方案从系统准备到最终部署特别针对国内网络环境优化确保您能够顺利完成搭建过程。1. 系统准备与环境配置在开始之前确保您使用的是Ubuntu 24.04系统。这个版本提供了最新的软件包支持能够更好地兼容OAI 5G核心网所需的各项组件。首先我们需要安装一些基础工具sudo apt update sudo apt upgrade -y sudo apt install -y git net-tools ca-certificates curl wget unzip这些工具将帮助我们完成后续的代码克隆、网络配置和文件解压等工作。特别值得注意的是net-tools包含了传统的网络诊断工具如ifconfig虽然现代系统推荐使用ip命令但许多教程和脚本仍然依赖这些传统工具。接下来我们需要配置Docker环境。Docker是容器化部署OAI 5G核心网的基础正确的安装和配置至关重要。2. Docker安装与代理配置国内用户在安装Docker时经常会遇到网络问题。以下是经过优化的安装步骤# 创建GPG密钥目录 sudo install -m 0755 -d /etc/apt/keyrings # 下载Docker官方GPG密钥使用国内镜像加速 curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg # 添加Docker源使用阿里云镜像 echo deb [arch$(dpkg --print-architecture) signed-by/etc/apt/keyrings/docker.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(. /etc/os-release echo $VERSION_CODENAME) stable | sudo tee /etc/apt/sources.list.d/docker.list /dev/null # 安装Docker sudo apt update sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin安装完成后将当前用户加入docker组以避免每次都需要sudosudo usermod -aG docker $USER newgrp docker # 立即生效无需重新登录对于国内用户最关键的是配置Docker代理。以下是详细的代理配置方法创建代理配置文件目录sudo mkdir -p /etc/systemd/system/docker.service.d创建代理配置文件/etc/systemd/system/docker.service.d/http-proxy.conf内容如下[Service] EnvironmentHTTP_PROXYhttp://代理服务器:端口 EnvironmentHTTPS_PROXYhttp://代理服务器:端口 EnvironmentNO_PROXYlocalhost,127.0.0.1,192.168.0.0/16,10.0.0.0/8,172.16.0.0/12,.internal应用配置并重启Dockersudo systemctl daemon-reload sudo systemctl restart docker验证代理是否生效docker info | grep -i proxy3. 获取OAI 5G核心网配置OAI官方提供了完整的5G核心网配置但由于GitLab访问限制国内用户可能需要特殊处理# 使用镜像站点下载 wget -O oai-cn5g.zip https://gitlabproxy.sdufe.edu.cn/oai/openairinterface5g/-/archive/develop/openairinterface5g-develop.zip?pathdoc/tutorial_resources/oai-cn5g # 解压并整理文件 unzip oai-cn5g.zip mv openairinterface5g-develop-doc-tutorial_resources-oai-cn5g/doc/tutorial_resources/oai-cn5g ~/oai-cn5g rm -rf openairinterface5g-develop-doc-tutorial_resources-oai-cn5g oai-cn5g.zip如果直接下载困难可以考虑以下替代方案使用GitHub镜像仓库通过第三方云存储获取备份文件联系国内研究机构获取资源包4. 部署与验证OAI 5G核心网进入配置目录并拉取镜像cd ~/oai-cn5g docker compose pull这个过程可能会比较耗时取决于您的网络状况。如果遇到特定镜像拉取失败可以尝试单独拉取docker pull image_name:tag启动核心网服务docker compose up -d验证服务是否正常运行docker compose ps您应该看到类似如下的输出NAME COMMAND SERVICE STATUS PORTS oai-amf /bin/bash -c mkdir… amf running oai-ausf /bin/bash -c mkdir… ausf running oai-nrf /bin/bash -c mkdir… nrf running oai-smf /bin/bash -c mkdir… smf running oai-spgwu /bin/bash -c mkdir… spgwu running oai-udm /bin/bash -c mkdir… udm running oai-udr /bin/bash -c mkdir… udr running5. 常见问题与优化建议在部署过程中您可能会遇到以下问题镜像拉取失败检查代理配置是否正确尝试更换代理服务器使用docker pull单独拉取失败镜像端口冲突检查docker-compose.yml中的端口映射使用netstat -tulnp查看占用端口的进程资源不足OAI 5G核心网需要至少8GB内存调整Docker资源限制docker update --memory8g --memory-swap10g container_name性能优化建议为Docker分配更多CPU资源使用SSD存储提高IO性能调整内核参数优化网络性能6. 进阶配置与扩展成功部署基础核心网后您可以进一步探索集成gNB和UE配置基站模拟器连接用户设备模拟器网络切片配置实验不同QoS配置测试切片隔离效果性能监控部署PrometheusGrafana监控收集核心网KPI指标自动化测试编写自动化测试脚本集成CI/CD流程# 示例使用curl测试AMF接口 curl -X GET http://localhost:80/oai-amf/v1/registered_ue_contexts -H accept: application/json7. 维护与更新策略长期运行OAI 5G核心网需要考虑维护问题日志管理配置日志轮转集中日志收集备份策略定期备份配置文件导出关键数据版本升级跟踪OAI官方更新测试环境先行验证安全加固定期更新基础镜像限制不必要的网络访问停止核心网服务的正确方式cd ~/oai-cn5g docker compose down对于希望深入研究的开发者建议阅读OAI官方文档理解各组件功能通过Wireshark分析信令流程参与OAI社区讨论获取最新动态
在Ubuntu 24.04上,用Docker Compose一键拉起OAI 5G核心网(附国内网络拉取镜像的代理配置)
在Ubuntu 24.04上高效部署OAI 5G核心网的完整指南对于国内开发者而言搭建OAI 5G核心网最令人头疼的莫过于网络连接问题。本文将提供一套完整的解决方案从系统准备到最终部署特别针对国内网络环境优化确保您能够顺利完成搭建过程。1. 系统准备与环境配置在开始之前确保您使用的是Ubuntu 24.04系统。这个版本提供了最新的软件包支持能够更好地兼容OAI 5G核心网所需的各项组件。首先我们需要安装一些基础工具sudo apt update sudo apt upgrade -y sudo apt install -y git net-tools ca-certificates curl wget unzip这些工具将帮助我们完成后续的代码克隆、网络配置和文件解压等工作。特别值得注意的是net-tools包含了传统的网络诊断工具如ifconfig虽然现代系统推荐使用ip命令但许多教程和脚本仍然依赖这些传统工具。接下来我们需要配置Docker环境。Docker是容器化部署OAI 5G核心网的基础正确的安装和配置至关重要。2. Docker安装与代理配置国内用户在安装Docker时经常会遇到网络问题。以下是经过优化的安装步骤# 创建GPG密钥目录 sudo install -m 0755 -d /etc/apt/keyrings # 下载Docker官方GPG密钥使用国内镜像加速 curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg # 添加Docker源使用阿里云镜像 echo deb [arch$(dpkg --print-architecture) signed-by/etc/apt/keyrings/docker.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(. /etc/os-release echo $VERSION_CODENAME) stable | sudo tee /etc/apt/sources.list.d/docker.list /dev/null # 安装Docker sudo apt update sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin安装完成后将当前用户加入docker组以避免每次都需要sudosudo usermod -aG docker $USER newgrp docker # 立即生效无需重新登录对于国内用户最关键的是配置Docker代理。以下是详细的代理配置方法创建代理配置文件目录sudo mkdir -p /etc/systemd/system/docker.service.d创建代理配置文件/etc/systemd/system/docker.service.d/http-proxy.conf内容如下[Service] EnvironmentHTTP_PROXYhttp://代理服务器:端口 EnvironmentHTTPS_PROXYhttp://代理服务器:端口 EnvironmentNO_PROXYlocalhost,127.0.0.1,192.168.0.0/16,10.0.0.0/8,172.16.0.0/12,.internal应用配置并重启Dockersudo systemctl daemon-reload sudo systemctl restart docker验证代理是否生效docker info | grep -i proxy3. 获取OAI 5G核心网配置OAI官方提供了完整的5G核心网配置但由于GitLab访问限制国内用户可能需要特殊处理# 使用镜像站点下载 wget -O oai-cn5g.zip https://gitlabproxy.sdufe.edu.cn/oai/openairinterface5g/-/archive/develop/openairinterface5g-develop.zip?pathdoc/tutorial_resources/oai-cn5g # 解压并整理文件 unzip oai-cn5g.zip mv openairinterface5g-develop-doc-tutorial_resources-oai-cn5g/doc/tutorial_resources/oai-cn5g ~/oai-cn5g rm -rf openairinterface5g-develop-doc-tutorial_resources-oai-cn5g oai-cn5g.zip如果直接下载困难可以考虑以下替代方案使用GitHub镜像仓库通过第三方云存储获取备份文件联系国内研究机构获取资源包4. 部署与验证OAI 5G核心网进入配置目录并拉取镜像cd ~/oai-cn5g docker compose pull这个过程可能会比较耗时取决于您的网络状况。如果遇到特定镜像拉取失败可以尝试单独拉取docker pull image_name:tag启动核心网服务docker compose up -d验证服务是否正常运行docker compose ps您应该看到类似如下的输出NAME COMMAND SERVICE STATUS PORTS oai-amf /bin/bash -c mkdir… amf running oai-ausf /bin/bash -c mkdir… ausf running oai-nrf /bin/bash -c mkdir… nrf running oai-smf /bin/bash -c mkdir… smf running oai-spgwu /bin/bash -c mkdir… spgwu running oai-udm /bin/bash -c mkdir… udm running oai-udr /bin/bash -c mkdir… udr running5. 常见问题与优化建议在部署过程中您可能会遇到以下问题镜像拉取失败检查代理配置是否正确尝试更换代理服务器使用docker pull单独拉取失败镜像端口冲突检查docker-compose.yml中的端口映射使用netstat -tulnp查看占用端口的进程资源不足OAI 5G核心网需要至少8GB内存调整Docker资源限制docker update --memory8g --memory-swap10g container_name性能优化建议为Docker分配更多CPU资源使用SSD存储提高IO性能调整内核参数优化网络性能6. 进阶配置与扩展成功部署基础核心网后您可以进一步探索集成gNB和UE配置基站模拟器连接用户设备模拟器网络切片配置实验不同QoS配置测试切片隔离效果性能监控部署PrometheusGrafana监控收集核心网KPI指标自动化测试编写自动化测试脚本集成CI/CD流程# 示例使用curl测试AMF接口 curl -X GET http://localhost:80/oai-amf/v1/registered_ue_contexts -H accept: application/json7. 维护与更新策略长期运行OAI 5G核心网需要考虑维护问题日志管理配置日志轮转集中日志收集备份策略定期备份配置文件导出关键数据版本升级跟踪OAI官方更新测试环境先行验证安全加固定期更新基础镜像限制不必要的网络访问停止核心网服务的正确方式cd ~/oai-cn5g docker compose down对于希望深入研究的开发者建议阅读OAI官方文档理解各组件功能通过Wireshark分析信令流程参与OAI社区讨论获取最新动态