PPP

From Hackepedia
Revision as of 00:20, 25 October 2005 by Pbug (talk | contribs)
Jump to navigationJump to search

Point to Point protocol, defined in RFC 1661, was the protocol spoken with analog modems calling into an ISP as a successor to SLIP and today is most commonly used as PPPoE (Over Ethernet).

In BSD there is 3 main PPP implementations:

Kernel Synchronous PPP
also known as sppp was written in 1994 at Cronyx Ltd. in Russia by Serge Vakulenko <vak@cronyx.ru> and rewritten to conform to RFC 1661 by Joerg Wunsch of FreeBSD. It is entirely in-kernel (is therefore speedy) and is controlled from userland with ioctls. In NetBSD and OpenBSD a kernel PPPoE implementation written by Martin Husemann <martin@NetBSD.org> uses this driver which is very speedy.
Kernel Asynchronous PPP
modified extensively by Paul Mackeras <paulus@cs.anu.edu.au> uses the pppd userland daemon.
Userland PPP
Is a PPP implementation entirely in userland written by Toshiharu OHNO <tony-o@iij.ad.jp> and was extensively modified by Brian Somers <brian@Awfulhak.org> who now maintains the program. In FreeBSD this program has extensive hooks into the kernel in order to make use of the PPPoE protocol. In OpenBSD there is a userland pppoe program that does PPPoE by means of bpf access to the OSI data link (somewhat slow and prone to packet loss).


Here is a sample /etc/ppp/ppp.conf from FreeBSD 5.4-RELEASE. As always replace the variables:

default:
set log Phase Chat IPCP CCP tun command
set device PPPoE:$sis0
set mru 1492
set mtu 1452
add! default HISADDR
test:
set authname test@test
set authkey  test
set dial
set login
myisp:
set authname $ISP_userid
set authkey  $ISP_Password
set dial
set login
enable dns

"default" above identifies variables that will be shared across your various ppp connections. It is possible to have multiple, the author of this has 2 PPPoE sDSL connections for example. I left "test" above as many Redbacks allow this username/password combo for testing.

# ppp
ppp> ddial test

if all three letters in your prompt turn capitalized, it's working. At that stage you can try

# ppp -ddial myisp

and then check ifconfig and your ppp.log which is usually found in /var/log.