Hardware
Software
Setup performed on an Ubuntu 18.04
PPP
The first part of software we need is the PPP daemon, which can easily be installed from the repo.
apt install ppp
PPPoE
There is a Point-to-Point Protocol over Ethernet implementation from Roaring Penguin implementation.
Install
# Don't use this link, but get the current version!
wget https://www.roaringpenguin.com/files/download/rp-pppoe-3.12.tar.gz
tar -xf rp-pppoe-3.12.tar.gz
cd cd rp-pppoe-3.12
cd src
./configure
make
make install
Configure
Server options in /etc/ppp/pppoe-server-options
require-chap
login
lcp-echo-interval 10
lcp-echo-failure 2
ms-dns 8.8.8.8
netmask 255.255.255.0
defaultroute
noipdefault
Credentials in /etc/ppp/chap-secrets
# Secrets for authentication using CHAP
# client server secret IP addresses
a pptpd "b" 192.168.254.100
You will also have to restrict access to this file, otherwise the server will protest. sudo chmod 600 /etc/ppp/chap-secrets
Address pool in /etc/ppp/ipaddress_pool
192.168.254.50-150
Start
pppoe-server -C isp -L 192.168.16.240 -p /etc/ppp/ipaddress_pool -I enx00e04c013655 -m 1412
You will also have to “fix” IP forwarding and routing / NAT to actually provide an uplink to the DSL clients
iptables -t nat -A POSTROUTING -o enp0s3 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward
TR-069
genieacs
Installation
Installing following the instructions in the docs
apt install npm
git clone https://github.com/zaidka/genieacs.git
cd genieacs
git checkout $(git tag -l v1.1.* --sort=-v:refname | head -n 1)
npm install
npm run compile
GUI
apt install ruby-bundler ruby-dev zlib1g-dev libsqlite3-dev
git clone https://github.com/zaidka/genieacs-gui.git
cd genieacs-gui
cp config/graphs-sample.json.erb config/graphs.json.erb
cp config/index_parameters-sample.yml config/index_parameters.yml
cp config/summary_parameters-sample.yml config/summary_parameters.yml
cp config/parameters_edit-sample.yml config/parameters_edit.yml
cp config/parameter_renderers-sample.yml config/parameter_renderers.yml
cp config/roles-sample.yml config/roles.yml
cp config/users-sample.yml config/users.yml
bundle update
bundle
cd bin
rake db:migrate
Start
To run it, you will have to start genieacs-cwmp
, genieacs-fs
and genieacs-nbi
in genieacs/bin
for the main program and run rails s
in genieacs-gui/bin/
.
Afterwards you can log into http://127.0.0.1:3000/
using admin:admin
.