Open5gs: Konfigurasi ogstun dan ogstun2

From OnnoWiki
Jump to navigation Jump to search

Asumsi Konfigurasi

  • OS Ubuntu 22.04
  • Open5GS & IMS satu mesin
  • Satu Interface enp0s3
  • IP Statik enp0s3 192.168.0.5/24 gateway 192.168.0.222
  • IP Statik ogstun 10.45.0.1/16 & 2001:db8:cafe::1/48
  • IP Statik ogstun2 10.123.0.1/16 & 2001:db8:babe::1/48
  • Domain mnc070.mcc999.3gppnetwork.org
  • APN internet
  • MCC 999 MNC 70


Setup TUN device (not persistent)

Jika dibutuhkan kita dapat menset interface ogstun, tampaknya ini tidak dibutuhkan jika kita menginstall open5gs dari binary.

Untuk membuat TUN device dengan nama interface ogstun, caranya adalah sebagai berikut,

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


Tip: script ini tersedia di $GIT_REPO/misc/netconf.sh yang akan memudahkan kita dapat mengkonfigurasi TUN device:

sudo ./misc/netconf.sh

Tambahkan Route Untuk UE ke WAN / Internet

Agar ada bridge antara PGWU/UPF dan WAN (Internet), kita perlu meng-enable IP forwarding dan NAT rule di IP Tables.

Untuk mengaktifkan forwarding dan NAT rule, ketik,

### Enable IPv4/IPv6 Forwarding
sudo sysctl -w net.ipv4.ip_forward=1
sudo sysctl -w net.ipv6.conf.all.forwarding=1
### Add NAT Rule
sudo iptables -t nat -A POSTROUTING -s 10.45.0.0/16 ! -o ogstun -j MASQUERADE
sudo ip6tables -t nat -A POSTROUTING -s 2001:db8:cafe::/48 ! -o ogstun -j MASQUERADE

Cek menggunakan perintah,

iptables -L -t nat

Hasilnya harusnya NAT beroperasi seperti dibawah ini,

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination         
MASQUERADE  all  --  10.45.0.0/16         anywhere 

Konfigurasi firewall dengan benar dan pastikan status ufw inactive.

sudo ufw status
Status: active

Jika dibutuhkan, firewall dapat dimatikan menggunakan perintah berikut, dan disable waktu start up,

sudo ufw disable

Matikan firewall dan disable pada system startup

$ sudo ufw status
Status: inactive


Optional, jika dibutuhkan, kita dapat melakukan konfigurasi berikut,

### Ensure that the packets in the `INPUT` chain to the `ogstun` interface are accepted
sudo iptables -I INPUT -i ogstun -j ACCEPT
### Prevent UE's from connecting to the host on which UPF is running
sudo iptables -I INPUT -s 10.45.0.0/16 -j DROP 
sudo ip6tables -I INPUT -s 2001:db8:cafe::/48 -j DROP
### If your core network runs over multiple hosts, you probably want to block
### UE originating traffic from accessing other network functions.
### Replace x.x.x.x/y with the VNFs IP/subnet
sudo iptables -I FORWARD -s 10.45.0.0/16 -d x.x.x.x/y -j DROP


Konfigurasi dua interface TUN ogstun dan ogstun2

Jika dibutuhkan dua Interface, dapat menggunakan script di bawah ini:

#!/bin/bash

sudo sysctl -w net.ipv4.ip_forward=1
sudo sysctl -w net.ipv6.conf.all.forwarding=1

ip tuntap add name ogstun mode tun
ip addr add 10.45.0.1/16 dev ogstun
ip addr add 2001:db8:cafe::1/48 dev ogstun
ip link set ogstun mtu 1400
ip link set ogstun up
iptables -t nat -A POSTROUTING -s 10.45.0.0/16 ! -o ogstun -j MASQUERADE
ip6tables -t nat -A POSTROUTING -s 2001:db8:cafe::/48 ! -o ogstun -j MASQUERADE
iptables -I INPUT -i ogstun -j ACCEPT
ip6tables -I INPUT -i ogstun -j ACCEPT

ip tuntap add name ogstun2 mode tun
ip addr add 10.123.0.1/16 dev ogstun2
ip addr add 2001:db8:babe::1/48 dev ogstun2
ip link set ogstun2 mtu 1400
ip link set ogstun2 up
iptables -t nat -A POSTROUTING -s 10.123.0.0/16 ! -o ogstun2 -j MASQUERADE
ip6tables -t nat -A POSTROUTING -s 2001:db8:babe::/48 ! -o ogstun2 -j MASQUERADE
iptables -I INPUT -i ogstun2 -j ACCEPT
ip6tables -I INPUT -i ogstun2 -j ACCEPT


Pranala Menarik