Dobrica Pavlinušić's random unstructured stuff
PPPoE server: Revision 8


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

Prerequisits

This list might be incomplete

apt-get install pppoe

PPP configuration

/etc/ppp/pppoe-server-options

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

/etc/ppp/pap-secrets

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

/etc/ppp/chap-secrets

# client	server	secret	IP addresses
test		*	test	*

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.

ifconfig eth0 192.168.1.90 up
ifconfig eth0:1 10.0.0.1 up

PADI

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

PPPoE

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

NAT

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

Debugging

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

tshark -i eth0 -f '!port 80'