node.to


% http://3354747138/ (https)
*
*
FLORA *
*
node.to *
p2c2e.org *
knot.node.to *
packet.node.to *
vince.node.to *
damao.net *
*
*
*
PPPoE on FreeBSD mini How-To
v 1.3 ( 2000 09 25 ) by mark


Physical Environment:
This implementation works for Mindspring DSL in Atlanta.
The line is provided by BellSouth.
Mindspring uses PAP authentication for PPPoE.
Hardware:
- pentium 200mhz MMX
- system on 4 gig SCSI, adaptec 2940
- 48 meg RAM
- 2 x 3com 905b
- alcatel 1000 DSL external modem
- one ethernet interface connected to DSL modem (10Mbit, half duplex) - one ethernet interface on LAN (100Mbit, half duplex)

NOTE: the ethernet interface connected to DSL must be marked up prior to invoking ppp. However, you do not need to specify an ip address, "ifconfig [device] up" will do. If you do specify an address it will be ignored, although subnet routes appropriate to the initial ip address will remain in the routing table after invocation of ppp. Because of this, you should probably specify no address or an address well out of range of what you are likely to use in your private LAN (both should be in the 10.0.0.0/8, 172.16.0.0/16 or 192.168.0.0/16 range). In order for ppp to be started at boot, you will need rc to bring up the ethernet interface. From what I can tell, you need to assign it an ip address to bring it up via rc.conf.

PERFORMANCE: on my p200 with 48 meg RAM, downloading a file to a machine on my inside LAN through the NAT/PPPoE FreeBSD gateway, I see CPU loads of about 4% peek, all in handling interrupts (net traffic) and ppp user space load. On my dual celeron 400 with 128 meg RAM, it peeked at about 0.5%.

Software Prerequisites:
- verified on FreeBSD-4.1 (what i use now)
- kernel source for FreeBSD-3.4-stable or newer (now using 4.1)
- ppp and pppd from FreeBSD-3.4-stable or newer (now using 4.1)
- all dependencies for the above


Kernel Compile Options (FreeBSD-4.1+):
- Set these flags in your kernel config file (not all needed):
options NETGRAPH #netgraph(4) system
options NETGRAPH_ASYNC
options NETGRAPH_BPF
options NETGRAPH_CISCO
options NETGRAPH_ECHO
options NETGRAPH_FRAME_RELAY
options NETGRAPH_HOLE
options NETGRAPH_IFACE
options NETGRAPH_KSOCKET
options NETGRAPH_LMI
options NETGRAPH_MPPC_ENCRYPTION
options NETGRAPH_PPP
options NETGRAPH_PPPOE
options NETGRAPH_PPTPGRE
options NETGRAPH_RFC1490
options NETGRAPH_SOCKET
options NETGRAPH_TEE
options NETGRAPH_TTY
options NETGRAPH_UI
options NETGRAPH_VJC

Kernel Compile Options (FreeBSD-3.x):
- Set these flags in your kernel config file:
- NOTE: not all of these are really necessary, but what the hell?
options NETGRAPH
options NETGRAPH_ASYNC
options NETGRAPH_BPF
options NETGRAPH_CISCO
options NETGRAPH_ECHO
options NETGRAPH_FRAME_RELAY
options NETGRAPH_HOLE
options NETGRAPH_IFACE
options NETGRAPH_KSOCKET
options NETGRAPH_LMI
options NETGRAPH_PPP
options NETGRAPH_PPPOE
options NETGRAPH_PPTPGRE
options "NETGRAPH_RFC1490"
options NETGRAPH_SOCKET
options NETGRAPH_TEE
options NETGRAPH_TTY
options NETGRAPH_UI
options NETGRAPH_VJC
Configuring /etc/ppp/ppp.conf:
-quick and dirty, here is a working ppp.conf: (as plain text)
default: # or name_of_service_provider
  set device PPPoE:xl1 # replace xl1 with your interface
  set MRU 1490
  set MTU 1490
  set authname YOURLOGINNAME
  set authkey YOURPASSWORD
  set log Phase tun command # you can add more detailed logging
  set dial
  set login
  set ifaddr 10.0.0.1/0 10.0.0.2/0 # ignored by your ISP when /0
  add default HISADDR
  nat enable yes # if you want to forward your lan to the net
  set cd off
  set crtscts off
  set redial 0 0

papchap:
  set authname YOURLOGINNAME
  set authkey YOURPASSWORD
Execution in User Space:
- as root, run "ppp -dedicated" or "ppp -dedicated name_of_service_provider"

Starting ppp at Boot:
- add these lines to rc.conf:
ppp_enable="YES"
ppp_mode="dedicated"
ppp_nat="YES" # if you want to forward your LAN to the net
ppp_profile="default" # or name_of_service_provider

Miscellaneous Notes
- My provider auto-negotiates PAP authentication. Your provider may use some other authentication protocol. By default FreeBSD ppp will auto negotiate PAP or CHAP. You may need to enable other protocols for your provider.


tongan flag the daemon




operated on freebsd-4.2 by the nodemaster

mad props to the king of tonga