Hi everyone,
I’m setting up Free5GC Core and N3IWUE using the official guide, with everything running on VirtualBox using the default configuration from the manual.
Setup:
free5gc core and n3iwue in separate VMs
cloned from official repo, branch v4.0.1
followed instructions from https://free5gc.org/guide/n3iwue-installation
Interface: UPF connected to data network via enp0s8
When I run:
cd ~/n3iwue
./run.sh
I see the following logs indicating GRE tunnels were created and PDU session established:
2025-06-18T14:39:22Z [INFO][N3UE][APP] New GRE Tunnel, Key Field: [0x1000000], IfaceName: [gretun-id-2-1]
2025-06-18T14:39:22Z [INFO][N3UE][APP] New GRE Tunnel, Key Field: [0x2000000], IfaceName: [gretun-id-2-2]
2025-06-18T14:39:22Z [INFO][N3UE][NAS] Add route: QFI[1] remote address[{Address:0.0.0.0 Mask:00000000}]
2025-06-18T14:39:22Z [INFO][N3UE][NAS] Add route: QFI[2] remote address[{Address:1.1.1.1 Mask:ffffffff}]
2025-06-18T14:39:22Z [INFO][N3UE][APP] PduSession Created
2025-06-18T14:39:36Z [INFO][N3UE][APP] — 9.9.9.9 ping statistics —
2025-06-18T14:39:36Z [INFO][N3UE][APP] 5 packets transmitted, 0 packets received, 100% packet loss
2025-06-18T14:39:37Z [ERRO][N3UE][APP] ping fail : Ping Failed
What I’ve already tried:
Enabled IP forwarding:
sudo sysctl -w net.ipv4.ip_forward=1
Applied NAT on the data network interface:
sudo iptables -t nat -A POSTROUTING -o enp0s8 -j MASQUERADE
Disabled the firewall:
sudo systemctl stop ufw
sudo systemctl disable ufw
Issue:
Everything sets up without crashing
GRE tunnels get created
Routes are configured
But ICMP ping to 9.9.9.9 fails (100% loss)
Questions:
Where might packets be getting lost? Is it UPF → DN, or DN → UPF?
Do I need additional configuration for UPF’s gtp5g or GRE handling?
Are there known MTU/GRE/GTP pitfalls with the default N3IWUE setup?
Let me know what logs or traces I can share to help further (e.g. tcpdump on UPF/N3IWUE, PDU session config, etc.). Thanks in advance!