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

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

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

28.5.1. 配置内核

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

28.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

28.5.3. 运行ppp

root 身份执行:

# ppp -ddial name_of_service_provider

28.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"

28.5.5. 使用 PPPoE 服务标签

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

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

作为最后的方法, 您可以试试 Roaring Penguin PPPoE, 它可以在 Ports Collection 中找到。 然而需要注意的是, 它可能会清楚 modem 的固件, 并使其无法正常工作, 因此一定要仔细考虑之后再做这个操作。 简单地安装由服务提供商随 modem 提供的程序。 随后, 选择 System 菜单。 您的配置文件应该会在这里列出。 一般来说它的名字应该是 ISP

配置文件名 (service tag, 服务标签) 将被用于 PPPoE 在 ppp.conf 中的配置项, 作为服务商 set device 命令的一部分 (参见 ppp(8) 联机手册以了解更多细节)。 它应该类似下面的样子:

set device PPPoE:xl1:ISP

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

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

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

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

这个 modem 不遵循 RFC 2516 (A Method for transmitting PPP over Ethernet (PPPoE), 其作者为 L. Mamakos、 K. Lidl、 J. Evarts、 D. Carrel、 D. Simone 以及 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通信。

本文档和其它文档可从这里下载: ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

如果对于FreeBSD有问题,请先阅读 文档,如不能解决再联系 <questions@FreeBSD.org>.

关于本文档的问题请发信联系 <doc@FreeBSD.org>.