21.5. 使用基于以太网的PPP(PPPoE)

Contributed (from http://node.to/freebsd/how-tos/how-to-freebsd-pppoe.html) by Jim Mock.

本节将介绍如何建立基于以太网的PPP (PPPoE).

21.5.1. 配置内核

对于PPPOE,并没有必须的内核配置. 如果必需的netgraph支持没有编译入内核 ,它可以由 ppp动态加载.

21.5.2. 设置ppp.conf

以下是一个ppp.conf的例子:

default:
  set log Phase tun command # you can add more detailed logging if you wish
  set ifaddr 10.0.0.1/0 10.0.0.2/0

name_of_service_provider:
  set device PPPoE:xl1 # replace xl1 with your Ethernet device
  set authname YOURLOGINNAME
  set authkey YOURPASSWORD
  set dial
  set login
  add default HISADDR

21.5.3. 运行ppp

作为root,您可以执行:

# ppp -ddial name_of_service_provider

21.5.4. 启动时运行ppp

在文件/etc/rc.conf加入以下内容:

ppp_enable="YES"
ppp_mode="ddial"
ppp_nat="YES"   # if you want to enable nat for your local network, otherwise NO
ppp_profile="name_of_service_provider"

21.5.5. 使用 PPPoE 服务标签

在某些时候,有必要使用一个服务标签来建立您的连接.服务标签用于区分同一网络中的不同服务器.

您可以在ISP提供的文档中找到必要的服务标签信息.若不能找到,向您的ISP询求技术支持.

作为最后的方法, 您可以试试程序 Roaring Penguin PPPoE 所建议的方法,这个程序可以在 ports collection找到. 但要切记, 这会de-program您的modem,可能使其无效,因此在使用之前要考虑再三.装与modem一起取得的程序.然后访问 这个程序的System菜单.您的profile名应该在那里显示出来.一般是会 ISP的名称.

profile名(服务器标签)会在 ppp.conf中的PPPOE配置项作为 set device命令的provider部分被用到(参考ppp(8)). 如下所示:

set device PPPoE:xl1:ISP

记住将xl1换成实际的以太网设备.

记住将 ISP 换成您刚刚找到的profile名.

获得更多的信息,请参考:

21.5.6. 带有一个3Com® HomeConnect®ADSL Modem的PPPOE双重连接

这个modem不遵循RFC 2516 (A Method for transmitting PPP over Ethernet (PPPoE), written by L. Mamakos, K. Lidl, J. Evarts, D. Carrel, D. Simone, and R. Wheeler). 而是使用不同的数据包格式作为以太网的框架.请向 3Com抱怨,如果您认为它应该遵守PPPOE的规范.

为了让FreeBSD能够与这个设备通信,必须设置sysctl.通过更改/etc/sysctl.conf,这一步 可以在启动时自动完成:

net.graph.nonstandard_pppoe=1

或直接执行命令: sysctl net.graph.nonstandard_pppoe=1.

很不幸,由于这是系统全局设置,无法同时与正常的PPP客户端(或服务器) 和3Com®HomeConnect® ADSL Modem通信 .