×
The BNG (Broadband Network Gateway) open-source solution, specifically Accel-ppp, raises the question of the necessity for ten servers to accommodate 30,000 users when it is feasible to operate on a single server with only 20% CPU utilization.


2
3
sudo apt update
sudo apt upgrade
sudo reboot

Install the necessary components:

1
sudo apt install linux-headers-`uname -r` build-essential cmake libnl-3-dev libnl-utils libssl-dev libpcre3-dev libnet-snmp-perl libtritonus-bin lua5.1 liblua5.1-0-dev snmp git libelf-dev

I noticed on some versions of Ubuntu 18 that lua5.1 is not installed, in this case we will add a repository:

1
sudo add-apt-repository universe

Or you can install, for example, lua5.3 liblua5.3-dev and specify during the build:

1
-DLUA=5.3

If on this system Accel-ppp was previously collected from sources not in the /usr directory, then we will find the files and delete:

1
2
3
which accel-pppd
which accel-cmd
rm /dir/file

Download the new Accel-ppp source code:

1
2
cd /opt/
sudo git clone git://git.code.sf.net/p/accel-ppp/code accel-ppp-code

And install it from the package in /usr:

1
2
3
4
5
6
sudo mkdir /opt/accel-ppp-code/build
cd /opt/accel-ppp-code/build
sudo cmake -DCMAKE_INSTALL_PREFIX=/usr -DKDIR=/usr/src/linux-headers-`uname -r` -DRADIUS=TRUE -DSHAPER=TRUE -DLOG_PGSQL=FALSE -DNETSNMP=FALSE -DLUA=TRUE -DBUILD_IPOE_DRIVER=TRUE -DBUILD_VLAN_MON_DRIVER=TRUE -DCPACK_TYPE=Ubuntu18 -DCMAKE_BUILD_TYPE=Release /opt/accel-ppp-code
sudo make
sudo cpack -G DEB
sudo dpkg -i accel-ppp.deb

In the /etc/modules file, specify the necessary modules:

1
2
ipoe
vlan_mon

Let’s do the optimization:

1
2
cp /lib/systemd/network/99-default.link /root/
rm /lib/systemd/network/99-default.link
1
2
3
4
5
6
cp /lib/udev/rules.d/99-systemd.rules /root/
nano /lib/udev/rules.d/99-systemd.rules
  
KERNEL!="lo"
to
KERNEL!="lo|ppp*|ipoe*"

Installation is complete, copy the sample configuration file, edit it for your own needs and run:

1
2
3
sudo cp /etc/accel-ppp.conf.dist /etc/accel-ppp.conf
sudo nano /etc/accel-ppp.conf
sudo systemctl start accel-ppp

Check if Accel-ppp is running:

1
2
3
4
5
6
sudo ps ax|grep accel
sudo systemctl status accel-ppp
sudo netstat -tulpn | grep :67
sudo netstat -tulpn | grep :2000
sudo netstat -tulpn | grep :2001
sudo netstat -tulpn | grep :3799

Check whether Accel-ppp launch is enabled when the operating system starts and will be turned on if necessary:

1
2
sudo systemctl is-enabled accel-ppp.service
sudo systemctl enable accel-ppp.service

1
2
3
sudo apt update
sudo apt upgrade
sudo reboot

Switch to the root user and install the necessary components:

1
2
sudo -i
apt-get install -y build-essential cmake gcc linux-headers-`uname -r` git libpcre3-dev libssl-dev liblua5.1-0-dev

Download Accel-ppp:

1
git clone https://github.com/accel-ppp/accel-ppp.git /opt/accel-ppp-code

Let’s install:

1
2
3
4
5
6
mkdir /opt/accel-ppp-code/build
cd /opt/accel-ppp-code/build/
cmake -DCMAKE_INSTALL_PREFIX=/usr -DKDIR=/usr/src/linux-headers-`uname -r` -DRADIUS=TRUE -DSHAPER=TRUE -DLOG_PGSQL=FALSE -DNETSNMP=FALSE -DLUA=TRUE -DBUILD_IPOE_DRIVER=TRUE -DBUILD_VLAN_MON_DRIVER=TRUE -DCPACK_TYPE=Ubuntu20 -DCMAKE_BUILD_TYPE=Release /opt/accel-ppp-code/
make
cpack -G DEB
dpkg -i accel-ppp.deb

Load the necessary kernel modules:

1
2
3
4
5
6
7
8
9
10
lsmod | grep ipoe
modprobe ipoe
cp ./drivers/ipoe/driver/ipoe.ko /lib/modules/`uname -r`/kernel/net
depmod -a
cp ./drivers/vlan_mon/driver/vlan_mon.ko /lib/modules/`uname -r`/kernel/net
depmod -a
modprobe ipoe
modprobe vlan_mon
lsmod | grep ipoe
lsmod | grep vlan_mon

Let’s make them also loaded at the start of the operating system:

1
2
3
nano /etc/modules
ipoe
vlan_mon

Let’s edit the configuration file to suit our needs and make a test run:

1
2
3
4
cp /etc/accel-ppp.conf.dist /etc/accel-ppp.conf
nano /etc/accel-ppp.conf
systemctl status accel-ppp
systemctl start accel-ppp

I will give another example of a manual start:

1
2
3
4
/usr/sbin/accel-pppd -d -c /etc/accel-ppp.conf -p /var/run/accel-ppp.pid
netstat -tulpn | grep accel
ps ax|grep accel
killall accel-pppd

Check if Accel-ppp is running:

1
2
3
4
5
6
7
8
ps ax|grep accel
systemctl status accel-ppp
 
apt install net-tools
netstat -tulpn | grep :67
netstat -tulpn | grep :2000
netstat -tulpn | grep :2001
netstat -tulpn | grep :3799

Activate Accel-ppp autorun when the operating system starts:

1
2
systemctl is-enabled accel-ppp.service
systemctl enable accel-ppp.service

Let’s do the optimization:

1
2
cp /lib/systemd/network/99-default.link /root/
rm /lib/systemd/network/99-default.link
1
2
3
4
5
6
cp /lib/udev/rules.d/99-systemd.rules /root/
nano /lib/udev/rules.d/99-systemd.rules
 
KERNEL!="lo"
to
KERNEL!="lo|ppp*|ipoe*"


×

Notice!!

All Quantic user are requested to use our hybrid cloud drive for you project and Data base . We had added new module of cronjob to schedule and optimise your backup .