Using PPPoE with PF on FreeBSD Mini-HOWTO
The user-space PPP client includes its own firewall software that is incompatible with PF. Instead, one must use MPD (a multi-link PPP daemon for FreeBSD), configuring it to start PF with the PPPoE connection.
These instructions are based in part on the Daemon News article "DSL Router for FreeBSD with MPD and PF", written by Jan Stocker.
This document assumes FreeBSD 5.3 is installed, with certain tools from the ports tree already installed and configured.
To install and configure MPD with support for PF:
- Install net/mpd from the ports tree with the
following commands:
portinstall -m BATCH=yes net/mpd rehash
- MPD uses
netgraph(4)
but does not include commands to load netgraph in MPD's startup
scripts. Configure netgraph to load at boot time with the following
commands:
ed /boot/loader.conf a # net/mpd (multi-link PPP daemon) ng_ether_load="YES" . wq kldload ng_ether