开始使用srsEPC

### 开始使用srsEPC

要开始使用srsEPC,您需要一台装有基于GNU/Linux操作系统的电脑。这可以是您选择的任何发行版,例如Ubuntu、Debian、Fedora等。

如果您使用的是基于Ubuntu的操作系统,您可以通过以下命令从提供的二进制包安装srsEPC:

```bash
sudo add-apt-repository ppa:srslte/releases
sudo apt-get update
sudo apt-get install srsepc
```

如果您使用的是不同的发行版,您可以按照项目GitHub页面提供的指南从源代码安装。

安装软件后,您可以通过运行以下命令将配置文件安装到默认位置(`~/.config/srsran_4g`):

```bash
srsran_4g_install_configs.sh user
```

### 运行软件

要使用默认参数运行srsEPC,请在命令行上运行`sudo srsepc`。srsEPC需要以sudo管理员权限运行,以便创建TUN设备。这将启动EPC,它将等待eNB和UE连接到它。

srsEPC将启动一个TUN接口`srs_spgw_sgi`,这将允许用户平面数据包到达UE。

### 配置

EPC可以通过两个配置文件进行配置:`epc.conf`和`user_db.csv`。
`epc.conf`将保存MME、SPGW和HSS的常规配置参数。
这包括PLMN值、完整性/加密算法、APN、SGi IP地址、GTP-U绑定地址等。

`user_db.csv`用于保存HSS的UE特定参数。
这将包括IMSI、认证算法、K、OP或OPc等。

在以下小节中,我们将介绍一些使用srsEPC的常见配置案例:向HSS数据库添加新的UE、在不同的机器上运行eNB和EPC,以及设置网络路由以使UE能够连接到互联网。

#### 向HSS数据库添加UE

当向HSS数据库添加UE时,必须确保`user_db.csv`文件中的参数与UE的USIM卡中存储的参数匹配。

特别相关的参数是IMSI、认证算法、K和OP或OPc(如果使用MILENAGE算法)。
IMSI是SIM卡的唯一标识符,K是HSS和UE用于相互认证的密钥。

SIM卡通常使用的认证算法是MILENAGE,但也有一些测试SIM卡使用XOR认证。
如果您使用的是MILENAGE算法,还必须知道您是使用OP还是OPc以及此参数的相应值。

一旦您知道了这些参数,您可以将其替换到`user_db.csv`中,其格式如下:

```
(ue_name),(algo),(imsi),(K),(OP/OPc_type),(OP/OPc_value),(AMF),(SQN),(QCI),(IP_alloc)
```

因此,如果您有一张带有以下参数的SIM卡:

- 使用MILENAGE算法
- IMSI = 999700000000001
- K = 00112233445566778899aabbccddeeff
- 使用OPc
- OPc = 63bfa50ee6523365ff14c1f45f88737d

您可以这样配置`user_db.csv`:

```
ue1,mil,999700000000001,00112233445566778899aabbccddeeff,opc,63bfa50ee6523365ff14c1f45f88737d,9000,000000000000,9,dynamic
```

#### 在不同的机器上运行eNB和srsEPC

默认情况下,srsEPC配置为与同一机器上的srsENB一起运行。
当在不同的机器上运行srsEPC和eNB时,需要配置的只是`mme_bind_addr`和`gtpu_bind_addr`。

MME绑定地址将指定MME将监听eNB S1AP连接的位置。GTP-U绑定地址应与MME绑定地址相同,除非您希望用户平面在与S1AP连接不同的子网上运行。

因此,如果您希望在IP为_10.0.1.10_的接口上监听eNB,您可以这样做:

```bash
sudo srsepc --mme.mme_bind_addr 10.0.1.10 --spgw.gtpu_bind_addr 10.0.1.10
```

#### 使UE连接到互联网

要允许UE连接到互联网,需要执行IP伪装(masquerading)。没有伪装,Linux内核不会将数据包从一个子网转发到另一个子网。

要启用此功能,您可以运行一个方便的脚本`sudo srsepc_if_masq <out_interface>`,其中`_out_interface_`是连接PC到互联网的接口。

警告:

`_out_interface_`不是`_srs_spgw_sgi_`接口,而是连接PC到互联网的以太网或Wi-Fi以太网。

### 观察结果

默认情况下,日志文件存储在`/tmp/epc.log`中。此文件可以检查与srsEPC相关的任何问题。
日志文件可以有多个详细级别,可以在`epc.conf`中配置,也可以通过命令行配置。它们也可以按层启用,这在排查特定层的问题时很有用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1556591.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

LeetCode 54 Spiral Matrix 解题思路和python代码

题目&#xff1a; Given an m x n matrix, return all elements of the matrix in spiral order. Example 1: Input: matrix [[1,2,3],[4,5,6],[7,8,9]] Output: [1,2,3,6,9,8,7,4,5] Example 2: Input: matrix [[1,2,3,4],[5,6,7,8],[9,10,11,12]] Output: [1,2,3,4,8,1…

反射在Go语言中的具体应用场景

在Go语言中&#xff0c;反射&#xff08;Reflection&#xff09;是一种强大的特性&#xff0c;它允许程序在运行时检查、修改和操作变量的类型信息。 尽管反射在性能上通常不如直接操作&#xff0c;但它在某些特定场景下非常有用。 反射在Go语言中的具体应用场景&#xff1a;…

基于JAVA的鲜花商城管理系统(源码+定制+讲解)鲜花商城管理系统、鲜花商城管理平台、鲜花商城信息管理、鲜花商城系统开发与应用、鲜花在线商城管理系统

博主介绍&#xff1a; ✌我是阿龙&#xff0c;一名专注于Java技术领域的程序员&#xff0c;全网拥有10W粉丝。作为CSDN特邀作者、博客专家、新星计划导师&#xff0c;我在计算机毕业设计开发方面积累了丰富的经验。同时&#xff0c;我也是掘金、华为云、阿里云、InfoQ等平台…

基于Springboot海宝海鲜餐厅系统JAVA|VUE|SSM计算机毕业设计源代码+数据库+LW文档+开题报告+答辩稿+部署教+代码讲解

源代码数据库LW文档&#xff08;1万字以上&#xff09;开题报告答辩稿 部署教程代码讲解代码时间修改教程 一、开发工具、运行环境、开发技术 开发工具 1、操作系统&#xff1a;Window操作系统 2、开发工具&#xff1a;IntelliJ IDEA或者Eclipse 3、数据库存储&#xff1a…

旅游管理智能化转型:SpringBoot系统设计与实现

第四章 系统设计 4.1系统结构设计 对于本系统的开发设计&#xff0c;先自上向下&#xff0c;将一个完整的系统分解成许多个小系统来进行实现&#xff1b;再自下向上&#xff0c;将所有的“零件”组装成一个大的、完整的系统。因此这里面的许多个小功能块都要对将要实现的功能进…

微软GraphRAG实战解析:全局理解力如何超越传统RAG

微软近日开源了新一代RAG框架GraphRAG&#xff0c;以解决当前RAG在大型语料库上全局理解问题。当前RAG主要聚焦于局部检索能力&#xff0c;即根据查询语句在向量库中匹配部分知识&#xff0c;然后通过大型语言模型合成这些检索到的信息&#xff0c;生成一个自然流畅的回答。相信…

【NLP自然语言处理】03 - 使用Anaconda创建新的环境/pycharm切换环境

NLP基础阶段&#xff1a;创建新的虚拟环境 第一步&#xff1a;查看有多少个虚拟环境 conda env list 第二步&#xff1a;创建一个新的虚拟环境&#xff0c;起个名字&#xff1a;nlpbase 打开anconda prompt终端&#xff0c;输入命令: conda create -n nlpbase python3.10 第三步…

数据仓库拉链表

数仓拉链表是数据仓库中常用的一种数据结构&#xff0c;用于记录维度表中某个属性的历史变化情况。在实际应用中&#xff0c;数仓拉链表可以帮助企业更好地进行数据分析和决策。 数仓拉链表&#xff08;Slowly Changing Dimension, SCD&#xff09;是一种用于处理维表中数据变化…

MATLAB中lsqminnorm函数用法

目录 语法 说明 示例 求解具有无限个解的线性系统 指定容差以减少含噪数据的影响 切换显示低秩矩阵警告 lsqminnorm函数的功能是线性方程的最小范数最小二乘解。 语法 X lsqminnorm(A,B) X lsqminnorm(A,B,tol) X lsqminnorm(___,rankWarn) 说明 X lsqminnorm(A,B…

[单master节点k8s部署]34.ingress 反向代理(一)

ingress是k8s中的标准API资源&#xff0c;作用是定义外部流量如何进入集群&#xff0c;并根据核心路由规则将流量转发到集群内的服务。 ingress和Istio工作栈中的virtual service都是基于service之上&#xff0c;更细致准确的一种流量规则。每一个pod对应的service是四层代理&…

YOLO11改进|卷积篇|引入线性可变形卷积LDConv

目录 一、【LDConv】卷积1.1【LDConv】卷积介绍1.2【LDConv】核心代码 二、添加【LDConv】卷积2.1STEP12.2STEP22.3STEP32.4STEP4 三、yaml文件与运行3.1yaml文件3.2运行成功截图 一、【LDConv】卷积 1.1【LDConv】卷积介绍 下图是【LDCNV】的结构图&#xff0c;让我们简单分析…

JumperServer入门

一、安装部署 官方安装文档&#xff1a;快速入门 - JumpServer 文档 机器准备 CentOS7 ip 角色 192.168.252.145 主节点 192.168.252.146 被控节点1 192.168.252.148 被控节点2 安装JumperServer curl -sSL https://resource.fit2cloud.com/jumpserver/jumpserver…

集合框架03:List接口介绍及使用

1.视频链接&#xff1a;13.08 List接口使用&#xff08;1&#xff09;_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1zD4y1Q7Fw?p8&vd_sourceb5775c3a4ea16a5306db9c7c1c1486b5 2.代码示例 package com.yundait.Demo01;import java.util.ArrayList; import java…

Final Glory推出“荣耀勋章-神龙”,推动游戏叙事范式发展

GameFi赛道因基建设施的缺失而长期处于加密市场的边缘位置&#xff0c;该叙事在市场中的占有率正在下降。不过好的一面是&#xff0c;随着MetaArena引擎面向市场&#xff0c;正在推动区块链游戏市场的叙事向全新的范式发展。 MetaArena引擎是以零知识证明方案为基础的Web3游戏基…

实现一个计算器的功能(一般形式、函数指针数组的形式、回调函数的形式)

实现一个计算器的功能&#xff1a; 一般的形式&#xff1a; #include<stdio.h> int Add(int x, int y) {return x y; } int Sub(int x, int y) {return x - y; } int Mul(int x, int y) {return x * y; } int Div(int x, int y) {return x / y; } void menu() {printf…

Java中TreeMap,HashMap和LinkedHashMap的区别

先决条件&#xff1a;Java 中的 HashMap 和 TreeMap TreeMap、HashMap 和 LinkedHashMap&#xff1a;有什么相似之处&#xff1f; 所有类都提供键->值映射和遍历键的方法。这些类之间最重要的区别是时间保证和键的顺序。 HashMap、TreeMap 和LinkedHashMap三个类都实现了…

【数据结构】【队列】算法汇总

一、顺序队列【相当于一维数组】 1.准备工作 #define MAXQSIZE 100 typedef struct{QElemType*base;int front;int rear; }SqQueue; 2.队满&#xff0c;队空。入队&#xff0c;出队 二、链式队列 1.准备工作 typedef struct Qnode{ElemType data;struct Qnode*next; }Qnod…

Github优质项目推荐 - 第五期

文章目录 Github优质项目推荐 - 第五期一、【localsend】&#xff0c;47.5k stars - 附近设备文件互传二、【Pake】&#xff0c;29.9k stars - 网页变成桌面应用三、【laravel-crm】&#xff0c;10.7k stars - CRM 解决方案四、【localstack】&#xff0c;55.7k stars - 本地 A…

RabbitMQ(学习前言)

目录 学习MQ之前有必要先去温故下微服务知识体系&#xff0c;以加深本章节的理解 一、微服务间的通讯方式 1. 基本介绍 2. 同步通讯 2.1. 什么是同步通讯 2.2. 同步通讯存在的问题 问题一&#xff1a;耦合度高 问题二&#xff1a;性能和吞吐能力下降 问题三&#xff1a…