Giter Club home page Giter Club logo

open5gs's Introduction

Mestrado

This repository houses the tools and applications developed during the 5G-focused master's program. Within this repository, you'll discover the configurations employed by Open5gs within a Kubernetes cluster, along with Dockerfiles for generating the application images. Additionally, there are other details provided for the deployment of a 5G core.

Open5gs

Open5GS is a C-language Open Source implementation of 5GC and EPC, i.e. the core network of NR/LTE network.

Imagens

These are the images employed in the project, all based on Ubuntu and each with its own unique characteristics. Further information about the images can be found in the Docker folder.

Docker

cd docker
docker build -t maikovisky/openg5s .

Multiplataform

Install QEMU

sudo apt install -y qemu-user-static binfmt-support

Create image

docker buildx build --platform linux/amd64,linux/arm64,linux/arm/v6,linux/arm/v7  -o type=docker -t maikovisky/open5gs .

OR

docker buildx build --platform linux/amd64 --push -t maikovisky/open5gs:2.5.5 -t maikovisky/open5gs:latest .

Wireshark (sniffer)

Install

Need insall krew and after plugin sniff

krew install krew
kubectl krew install sniff

Capture packets in wireshark

kubectl sniff <pod>

Troubleshooting

Problema de Roteamento entre UE e o UPF.

Um problema que esta sendo enfrentado é permitir com que UE consiga acessar algum conteúdo na Internet. Para isso é necessário que o UE faça a conexção com o UPF, onde irá receber um IP e criar um tunel entre os dois. A baixo a topologia:

!(/imagens/open5gs-UE-UPF.png)

Status

[ OK] eth0 (upf) => Internet
[ OK] uesimtun0  => ogstun
[NOK] uesimtun0  => eth0 (upf)
[NOK] ogstun     => eth0 (upf)
[NOK] ogstun     => Internet

Solução sugerida

Na máquina UPF configurar o TUN.

ip tuntap add name ogstun mode tun
ip addr add 192.168.0.1/16 dev ogstun
ip addr add 2001:db8:cafe::1/48 dev ogstun
ip link set ogstun up

Permitir o encaminhamento entre as interfaces

### Enable IPv4/IPv6 Forwarding
sysctl -w net.ipv4.ip_forward=1
sysctl -w net.ipv6.conf.all.forwarding=1

### Add NAT Rule
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Testando

Rodar os comandos abaixo no POD UERAMSIM enquanto captura o trafego de rede usando o comando kubectl sniff <UPF_POD_ID>

ping -I uesimtun0 8.8.8.8
iperf -B 192.168.0.2 -c open5gs-iperf -w 300k
iperf -B 192.168.0.2 -c open5gs-iperf -w 300k -u
iperf -B 192.168.0.2 -c open5gs-iperf -w 300k -r
iperf -B 192.168.0.2 -c open5gs-iperf -w 300k -r -u

iperf -B 10.41.0.13 -c open5gs-iperf -t 60 -i 5 --trip-times --txstart-time $(expr $(date +%s) + 1).$(date+%N)
kubectl cp <POD_ID>:/var/tcpdump .

Algumas discuções sobre o assunto

[error] Initial Registration failed [UE_IDENTITY_CANNOT_BE_DERIVED_FROM_NETWORK]

UERANSIM não esta conseguindo conectar.

Links

open5gs's People

Contributors

mandrade1stf avatar maikovisky avatar

Stargazers

Juliano Wickboldt avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.