15.4. Using PPP over Ethernet (PPPoE)

Contributed by Jim Mock (from node.to) 10 Jan 2000.

The following describes how to set up PPP over Ethernet, a.k.a, PPPoE.

15.4.1. Prerequisites

There are a few requirements that your system will need to meet in order for PPPoE to function properly. They are:

15.4.2. Kernel Configuration

You will need to set the following options in your kernel configuration file and then compile a new kernel.

Optionally, you can add

although if this functionality is not available at runtime, ppp will load the relevant modules on demand

15.4.3. Setting up ppp.conf

Here is an example of a working ppp.conf:

    default: # or name_of_service_provider
      set device PPPoE:xl1 # replace xl1 with your ethernet device
      set mru 1492
      set mtu 1492
      set authname YOURLOGINNAME
      set authkey YOURPASSWORD
      set log Phase tun command # you can add more detailed logging if you wish
      set dial
      set login
      set ifaddr 10.0.0.1/0 10.0.0.2/0
      add default HISADDR
      nat enable yes # if you want to enable nat for your local net
    
    papchap:
      set authname YOURLOGINNAME
      set authkey YOURPASSWORD

Care should be taken when running PPPoE with the -nat option.

15.4.4. Running PPP

As root, you can run:

    # ppp -ddial name_of_service_provider

15.4.5. Starting PPP at Boot

Add the following to your /etc/rc.conf file:

    ppp_enable="YES"
    ppp_mode="ddial"
    ppp_nat="YES"
    ppp_profile="default" # or your provider

For questions about FreeBSD, e-mail <questions@FreeBSD.org>.
For questions about this documentation, e-mail <doc@FreeBSD.org>.