Install Access Gateway on Ubuntu (Bare Metal)
To set up a Magma Access Gateway, you will need a machine that satisfies the following requirements:
- AGW_HOST: 64bit-X86 machine, baremetal strongly recommended
(not virtualized). You will need two ethernet ports. In this guide,
enp1s0: Will carry any traffic that is not S1. That is, data plane traffic (SGi), control plane traffic (Orc8r HTTP2) and management (ssh).
enp2s0: S1 interface.
Interface names might have different names on your hardware, so just replace
enp2s0with your current interface names when following this guide.
agw_install_ubuntu.shscript will rename the
If you do not want all internet traffic to go through
enp1s0to separate control plane (Orc8r Http2 traffic) from user plane, you may want to add another interface and configure proper routing.
1. Create boot USB stick and install Ubuntu on your AGW host
- Download the Ubuntu Server 20.04 LTS
.isoimage from the Ubuntu website. Verify its integrity by checking the hash.
- Create a bootable USB using this Etcher tutorial
- Boot your AGW host from USB
- Press F11 to select boot sequence. WARNING: This might be different for your machine.
- If you see two options to boot from USB, select the non-UEFI option.
- Install and configure your Access Gateway according to your network defaults.
- Make sure to enable ssh server and utilities (untick every other).
- Connect your SGi interface to the internet and select this port during the installation process to get an IP using DHCP. (Consider enabling DHCP snooping to mitigate Rogue DHCP)
2. Deploy magma on the AGW_HOST
Run AGW installation
To install on a server with a DHCP-configured SGi interface
su wget https://raw.githubusercontent.com/magma/magma/v1.8/lte/gateway/deploy/agw_install_ubuntu.sh bash agw_install_ubuntu.sh
To install on a server with statically-allocated SGi interface. For example, if SGi has an IP of 18.104.22.168/24 and the upstream router IP is 22.214.171.124
su wget https://raw.githubusercontent.com/magma/magma/v1.8/lte/gateway/deploy/agw_install_ubuntu.sh bash agw_install_ubuntu.sh 126.96.36.199/24 188.8.131.52
The script will run a pre-check script that will tell you what will change on your machine
and prompt you for your approval. If you are okay with these changes, reply
yes and magma will
be installed. If you respond with
no, the installation will be stopped.
- Check if Ubuntu is installed Ubuntu is installed - Check for magma user magma user is not Installed - Check if both interfaces are named eth0 and eth1 Interfaces will be renamed to eth0 and eth1 eth0 will be set to dhcp and eth1 10.0.2.1 Do you accept those modifications and want to proceed with magma installation?(y/n) Please answer yes or no.
The machine will reboot but the installation is not finished yet; the script is still running in the background. You can follow the output using
journalctl -fu agw_installation
When you see "AGW installation is done.", it means that your installation is complete. You can make sure magma is running by executing
service 'magma@*' status
Make sure you have the
control_proxy.yml file in directory
before running the post-install script