Open5gs: Konfigurasi ogstun dan ogstun2
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