One of the hardest parts of building a private LTE or 5G network is getting a functional network core up and running. In mobility parlance, this core is known as the EPC (Evolved Packet Core) or 5GC (5G Core)—and it’s essentially the brain of a cellular network.
This “brain” handles all the essential functions that make a modern mobility network possible. A few key responsibilities include:
- Authorizing subscriber devices to connect to the network.
- Allocating IP addresses and managing routing information for subscribers.
- Handling Quality of Service (QoS) for user traffic.
- Managing mobility, such as handovers between towers or roaming onto other LTE/5G networks.
Unlike traditional wireless you may be used to where the radios run embedded software to manage their access point name, password, QOS, etc like the wireless routing running in your home right now – in the mobility world, the radios themselves are “dumb”. Instead of on-device management of these functions, they’re all offloaded to the RAN and CORE. Rapid5GS is focused on making the CORE part of the LTE/5G deployment FAST and SIMPLE – just like setting up a router is for your home or business.
While several commercial core solutions exist, they are often expensive and complex, requiring specialized expertise to deploy and maintain. High-end options from companies like Nokia and Microsoft are powerful and flexible—but they come with a price tag that puts them out of reach for most smaller operators in the commercial and government sectors.
Open-source alternatives like Open5GS and Magma offer significant promise, but they come with steep learning curves. It took me several days—plus some outside help—to get Open5GS delivering internet access to actual customer devices. I’m still in the process of building a reliable Magma environment.
Enter Rapid5GS
Rapid5GS was born from the lessons I learned while deploying Open5GS in the real world. Every time I figured out a key setup step or tricky configuration to get Open5GS functional for subscriber traffic, I turned it into a Bash script and added it to the Rapid5GS installer.
Once the installation was automated and reliable, I shifted focus to usability. I started adding scripts to simplify common tasks and make the platform approachable for users without deep Linux experience. Some of the features now include:
- Viewing connected access points and their latency.
- Viewing attached subscriber devices and the APNs they’re using.
- Restarting all core services with a single command.
- Tailing key logs (MME, SMF) to simplify troubleshooting.
The theme here is ease of use. Even the supported Linux distributions—Debian and Ubuntu—were chosen because they’re beginner-friendly, with excellent documentation and community support.


Current Limitations
- NAT’ing of customer traffic directly on the core is the only networking configuration supported today out of the box.
- Two Ethernet interfaces (management and customer traffic) required and the installer is opinionated about which Open5GS services will be binded to said interfaces. This isn’t in direct user control yet during the setup process.
- There’s no way to access subscriber units yet attached to the core without setting up manual NAT ip port forwards on the core itself.
Planned Features
- Support for IP pool allocation from upstream routers instead of on-core NAT.
- A cloud-based controller.
- Latency monitoring of customer UEs.
- Watchdog processes to restart failed services.
- Enhanced firewalling.
- A dedicated web UI beyond the glitchly default Open5GS web UI.
Open Source and Growing
Rapid5GS is fully open-source under the GPLv3 license, and the project website—rapid5gs.com—includes documentation and the one-line install command to get started.
A list of known-supported eNBs and UEs can be found on the Rapid5GS website. Running the core is confirmed to work on this used $70 mini computer for sale on eBay if you add an additional USB ethernet interface to it. Yes, that’s right, you can run a mobility core on a used mini computer. Open5GS is amazing!

I’m thrilled to share Rapid5GS with the world and plan to keep expanding it over the coming weeks and months. Contributions are welcome—whether it’s code, documentation, or feedback.
Check out the Rapid5GS website by clicking here, or check out the source code for Rapid5GS by clicking here.
Leave a Reply