UBNT EdgeRouters can act as a PPPoE server, with authentication of CPEs, providing statistics, blocking end-users, and setting up speed limits and FUP rules.
Let’s divide it into parts:
The first step is to upgrade the system to at least the 1.5 version and higher because the support of Radius attributes was added in this version to EdgeOS. The version we describe here is EdgeOS v1.8.5. The upgrade can be achieved in CLI with commands:
add system image http://dl.ubnt.com/...
add system image new-version-1085.tar
The second step – we need to define the IP address for communication between Radius and EdgeRouter. In my case it’s 10.0.1.166, set it up as the main IP of EdgeRouter with a command (in configure mode):
set system ip override-hostname-ip 10.0.1.166
Then I set up the PPPoE server with mandatory settings:
edit service pppoe-server
set authentication mode radius
set authentication radius-server 10.10.10.65 key 12345
set client-ip-pool start 10.5.50.2
set client-ip-pool stop 10.5.50.200
set interface eth2
Radius configuration can also be done in the web browser:
This is an important part because we need to change plans, disconnect customers or apply FUP rules. In all these cases Splynx Radius sends packets to Edge Router. The default port is of UBNT is 3779. To enable incoming packet processing run these commands on EdgeOS:
sudo cp /opt/vyatta/etc/pppoe-server/start-pppoe-radius-disconnect /config/scripts/post-config.d/
and reboot the router.
To debug, if packets are received use file PPPoE-radius-disconnect.log:
tail /var/log/pppoe-radius-disconnect.log
Here’s the example of the output when packet disconnect was received by EdgeOS:
Just add a router to Splynx in Networking → Routers and choose the NAS Type Ubiquiti.
You can add additional attributes to the configuration of NAS Type under Config → Networking → Radius. By default, we support Radius-rate-limit attributes to set up speeds of PPPoE tunnels.
Now we can connect the PPPoE user to EdgeRouter and check that everything went fine. With the “Show PPPoE-server” command we can see how many users are connected to the PPPoE server.
In Splynx, we can see whether a customer is online and get his stats.
When we click the disconnect button, the customer should disappear from the online list and reconnect with a new session, which means that EdgeRouter accepted the incoming packet from the Splynx Radius server.
PPPoE client tunnels are dynamically created and are not shown in the web dashboard. We need to get statistics of customer throughput, and a simple way to do it is to install the software bwm-ng. It’s located in the Debian repository, which means we need to add new repositories first and then install bwm-ng. Add new repositories:
configure
set system package repository wheezy components 'main contrib non-free'
set system package repository wheezy distribution wheezy
set system package repository wheezy url http://http.us.debian.org/debian
set system package repository wheezy-security components main
set system package repository wheezy-security distribution wheezy/updates
set system package repository wheezy-security url http://security.debian.org
commit
save
exit
And install the tool:
apt-get install bwm-ng
Now you can run bwm-ng-u bits to get the actual Kbps throughput of PPPoE clients. An example of the output of bwm-ng is in the picture below:
Now you can configure the Splynx Radius server with UBNT EdgeRouter and benefit from a fast router that delivers 1 million packets per second routing performance in a compact and affordable unit!
Find out how Splynx helps ISPs grow
Learn more