From ArchWiki
Revision as of 00:27, 12 November 2008 by K0001 (talk | contribs)
Jump to: navigation, search

Template:I18n links start Template:I18n entry Template:I18n entry Template:I18n links end

This page explains how to set up a PPPoE connection using pppd and the kernel PPPoE driver. Note that this setup does not need rp-pppoe. ( With rp-pppoe you can have only one account configuration, however, using the method described below, you can have several account configurations at the same time and use anyone of them easily. Besides the dial speed of pppd is much faster than pppoe-start. )


  • Make sure pppd is installed and your kernel is compiled with PPPoE support
$ pacman -Q ppp 
ppp 2.4.3-1
$ zgrep CONFIG_PPPOE /proc/config.gz 
  • Create the configuration file /etc/ppp/peers/your_provider
# /etc/ppp/peers/your_provider
plugin rp-pppoe.so
# rp_pppoe_ac 'your ac name'
# rp_pppoe_service 'your service name'
# network interface
# login name
name "someloginname"
# Uncomment this if you want to enable dial on demand
#idle 180

If you want usepeerdns to work, you have to edit your /etc/ppp/ip-up and add a command that copies /etc/ppp/resolv.conf to etc/resolv.conf.

  • Edit /etc/ppp/pap-secrets

Put a line like this in /etc/ppp/pap-secrets

someloginname * yourpassword

You can now start the link using the command

pppd call your_provider

Alternatively, you can use this

pon your_provider

By default the configuration in /etc/ppp/peers/provider is treated as the default, so if you want to make "your_provider" the default, you can create a link like this

ln -s /etc/ppp/peers/your_provider /etc/ppp/peers/provider

Now you can start the link by simply running


To close a pppoe connection, use this

poff your_provider

Starting pppd with Arch

  • The init script /etc/rc.d/ppp calls the default ppp provider (/etc/ppp/peers/provider), so make sure you have the right configuration file there, otherwhise you could create a symlink to the desired provider as explained before.
  • Make sure ppp module is loaded

If ppp support is compiled as a module, you have to load the ppp_generic module. In this case, add this to rc.conf:

MODULES=(... ppp-generic ...)
  • Add ppp to DAEMONS in /etc/rc.conf
DAEMONS=(... ppp ...)


If you have a preconfigured default route before the pppd is started, the default route is kept, so take a look in /var/log/errors.log and if you have something like:

pppd[nnnn]: not replacing existing default route via xx.xx.xx.xx

and xx.xx.xx.xx is not the correct route for you

  • Create a new script /etc/ppp/ip-pre-up
$ chmod +x /etc/ppp/ip-pre-up

with this content:

/sbin/route del default
  • Restart pppd:
$ /etc/rc.d/ppp restart