# PPPoE Server on FreeBSD



## amr (Aug 22, 2022)

Hello,

I would like to run PPPoE Server on FreeBSD, in FreeBSD handbook it's configuring FreeBSD as client only and I've read ppp(8), but unfortunately for me it's very hard to understand luckily it's mentioned /usr/share/examples/ppp/ppp.conf.sample as example. so I found PPPoE server example which it didn't work.

```
# ppp supports ppp over ethernet (PPPoE).  Beware, many PPP servers cache
# the MAC address that connects to them, making it impossible to switch
# your PPPoE connection between machines.
#
# The current implementation requires Netgraph, so it doesn't work with
# OpenBSD or NetBSD.
#
# The client should be something like this:
#
pppoe:
 set device PPPoE:de0:pppoe-in
 enable lqr echo
 set cd 5
 set dial
 set login
 set redial 0 0

# And the server should be running
#
#   /usr/libexec/pppoed -p pppoe-in fxp0
#
# See rc.conf(5)
#
pppoe-in:
 allow mode direct                              # Only for use on server-side
 enable lqr echo proxy                          # Enable LQR and proxy-arp
 enable chap pap passwdauth                     # Force client authentication
 set ifaddr 10.0.0.1 10.0.0.100-10.0.0.199      # Hand out up to 100 IP numbers
 accept dns                                     # Allow DNS negotiation
```

So any idea about what I've missed? plus I didn't find any howto at google 
And I wonder if the pppd built-in FreeBSD or net/mpd5 is better option and why, thank you for your continues support


----------



## skeletor (Aug 29, 2022)

AFAIK, net/mpd5 the best PPTP/L2TP server. Don't use embedded PPPoE server.


----------



## zirias@ (Aug 29, 2022)

I never tried to operate a PPPoE _server_, so can't really write anything helpful here – *but* there seems to be kind of a "cargo cult" around mpd5 for whatever reason, you'll find a lot of ppl recommending it for PPPoE client (with your typical ISP DSL), claiming base ppp(8) wouldn't work. Well, my experience with that is very different, it works perfectly fine, I could even configure it to handle a sometimes flaky line quite gracefully (and, properly monitor it). So, given that, I'm also a bit sceptical about statements like this:


skeletor said:


> AFAIK, net/mpd5 the best PPTP/L2TP server. Don't use embedded PPPoE server.


Don't get me wrong, this _could_ be helpful advice, but then, it would really be nice to add an explanation _why_ (and, if possible, some reference...).


----------



## covacat (Aug 29, 2022)

mpd5 provides better transfer rates and uses less cpu than ppp (i assume it does that because (at least) nat is done in kernel rather than userland)
on less than 100Tx probably you wont notice but on 1000tx links the diff is obvious


----------



## skeletor (Aug 30, 2022)

Additionally, mpd has such features:
- web and console admin for monitoring incoming connections (+ auth)
- proxy-arp
- up/down scripts (uses, when you need to add/delete some routes)
- interface descriptions (when you watch ifconfig output)
- L2TP (if your ISP blocks GRE proto or you need to use DNAT, because your VPN server inside LAN)


----------



## covacat (Aug 30, 2022)

proxy-arp, up/down scripts, diagnostic socket are available to ppp(8) too


----------

