Dobrica Pavlinušić's random unstructured stuff
PPPoE server: Revision 7
{toc: }

Here are my notes how to configure pppoe-server to run as server for ADSL modem.

^ Prerequisits

This list might be incomplete

.pre
apt-get install pppoe
.pre

^ PPP configuration

^^ /etc/ppp/pppoe-server-options

.pre
# PPPoE server
#nologin
mru 1492
noreplacedefaultroute
proxyarp
ms-dns 192.168.1.1
.pre

^^ /etc/ppp/pap-secrets

.pre
# PPPoE server
#client hostname <password> IP
test * "test" *
.pre

^^ /etc/ppp/chap-secrets

.pre
# client server secret IP addresses
test * test *
.pre

^ Configuration

We will have fake network `10.0.0.0` on IP alias `eth0:1` and will give out addresses in that range. While we could go with just one network, this is more clean, since we will see difference in packets traveling over PPP link as opposed to direct connection.

.pre
ifconfig eth0 192.168.1.90 up
ifconfig eth0:1 10.0.0.1 up
.pre

^^ PADI

.pre
pppoe-relay -B eth0:1 -C eth0 -n 1 -F
.pre

^^ PPPoE

.pre
pppoe-server -I eth0:1 -T 60 -C fake -S fake -L 10.0.0.2 -R 10.0.0.10 -N 1 -F
.pre

^^ NAT

.pre
iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -j SNAT --to-source 192.168.1.90
.pre

^ Debugging

To sniff all traffic expect web (I guess that most ADSL modems have web interface) use something like:

.pre
tshark -i eth0 -f '!port 80'
.pre