以太网点对点协议 (PPPoE)
使用以太网点对点协议 (PPPoE) 封装,通过单个客户端设备 (CPE) 设备将以太网 LAN 上的多个主机连接到远程站点。本主题概述了 PPPoE,并说明如何配置 PPPoE、验证配置以及跟踪 PPPoE 操作。
PPPoE 概述
以太网点对点协议 (PPPoE) 通过单个客户端设备 (CPE) 设备将以太网 LAN 上的多个主机连接到远程站点。主机共享公共数字用户线路 (DSL)、电缆调制解调器或无线互联网连接。
要使用 PPPoE,您必须将路由器配置为 PPPoE 客户端,通过以太网封装 PPP 数据包,然后启动 PPPoE 会话。
M120、M320 和 MX 系列路由器可配置为 PPPoE 接入集中器服务器。要在 M120、M320 或 MX 系列以太网 逻辑接口上配置 PPPoE 服务器,请指定 PPPoE 封装,包括 pp0
伪 PPPoE 物理接口的语句,并将该 server
语句包含在逻辑接口下的 PPPoE 选项中。
ATM2 IQ 接口上的 M120、M320 或 MX 系列路由器不支持 PPPoE 封装。
可以将多个主机连接到服务路由器,在将流量发送到服务路由器的快速以太网或 ATM-over-ADSL 接口上的 PPPoE 会话之前,可以对其数据进行身份验证、加密和压缩。PPPoE 易于配置,支持按用户而不是按站点管理服务。
本概述包含以下主题:
PPPoE 接口
两个接口的 PPPoE 配置相同。唯一的区别是接入集中器的底层接口的封装:
如果接口是快速以太网,请使用 PPPoE 封装。
如果接口是通过 ADSL 的 ATM,请使用基于 ATM 的 PPPoE 封装。
M120 或 M320 路由器上用作接入集中器的 PPPoE 接口可以是千兆以太网或 10 千兆以太网接口。
以太网接口
服务路由器将每个 PPP 帧封装在以太网帧中,并通过以太网环路传输帧。 图 1 显示了以太网环路上服务路由器和接入集中器之间的典型 PPPoE 会话。
PPPoE 阶段
PPPoE 有两个阶段:发现阶段和 PPPoE 会话阶段。在发现阶段,客户端通过识别访问集中器的以太网媒体访问控制 (MAC) 地址并建立 PPPoE 会话 ID 来发现访问集中器。在 PPPoE 会话阶段,客户端和接入集中器根据在发现阶段收集的信息,通过以太网建立点对点连接。
如果在客户端上配置了特定的访问集中器名称,并且有相同的访问集中器名称服务器可用,则会建立 PPPoE 会话。如果客户端和服务器的访问集中器名称不匹配,PPPoE 会话将关闭。
如果未配置访问集中器名称,PPPoE 会话将使用网络中的任何可用服务器启动。
PPPoE 发现阶段
服务路由器通过广播 PPPoE 主动发现初始 (PADI) 数据包来启动 PPPoE 发现阶段。要通过以太网提供点对点连接,每个 PPPoE 会话都必须学习接入集中器的以太网 MAC 地址,并建立具有唯一会话 ID 的会话。由于网络可能有多个访问集中器,因此发现阶段允许客户端与所有集中器通信并选择一个。
服务路由器无法从同一物理接口上的两个不同接入集中器接收 PPPoE 数据包。
PPPoE 发现阶段包括以下步骤:
PPPoE 主动发现启动 (PADI) — 客户端通过在 LAN 上广播 PADI 数据包来请求服务来启动会话。
PPPoE 主动发现报价 (PADO) — 任何可以在 PADI 数据包中提供客户端请求服务的访问集中器都会回复一个 PADO 数据包,其中包含它自己的名称、客户端的单播地址和请求的服务。接入集中器还可以使用 PADO 数据包向客户端提供其他服务。
PPPoE 主动发现请求 (PADR) — 客户端从接收的 PADO 中,根据其名称或提供的服务选择一个接入集中器,并向其发送 PADR 数据包以指示所需的一个或多个服务。
PPPoE 主动发现会话确认 (PADS) — 当选定的接入集中器收到 PADR 数据包时,它将接受或拒绝 PPPoE 会话。
要接受会话,访问集中器会向客户端发送一个 PADS 数据包,其中包含 PPPoE 会话的唯一会话 ID 和标识其接受会话的服务的服务名称。
要拒绝会话,访问集中器会向客户端发送带有服务名称错误的 PADS 数据包,并将会话 ID 重置为零。
PPPoE 会话阶段
PPPoE 会话阶段在 PPPoE 发现阶段结束后开始。接入集中器可以在将 PADS 数据包发送到客户端后启动 PPPoE 会话,或者客户端可以在从接入集中器收到 PADS 数据包后启动 PPPoE 会话。服务路由器在每个接口上支持多个 PPPoE 会话,但在服务路由器上的所有接口上支持不超过 256 个 PPPoE 会话。
每个 PPPoE 会话都由对等方的以太网地址和会话 ID 唯一标识。建立 PPPoE 会话后,将像在任何其他 PPP 封装中一样发送数据。PPPoE 信息封装在以太网帧内,并发送到单播地址。在此阶段,客户端和服务器都必须为 PPPoE 逻辑接口分配资源。
建立会话后,客户端或访问集中器可以随时发送 PPPoE 主动发现终止 (PADT) 数据包以终止会话。PADT 数据包包含对等方的目标地址和要终止的会话的会话 ID。发送此数据包后,会话将对 PPPoE 流量关闭。
可选 CHAP 身份验证
对于具有 PPPoE 封装的接口,您可以将接口配置为支持 PPP 质询握手身份验证协议 (CHAP)。在接口上启用 CHAP 时,接口可以对其对等方进行身份验证,并由其对等方进行身份验证。
如果将接口配置为仅处理传入的 CHAP 数据包(通过在层次结构级别包含 passive
语句 [edit interfaces interface-name ppp-options chap]
),则该接口不会质询其对等方。但是,如果接口受到质询,它将响应质询。如果不包含该 passive
语句,则接口始终会质询其对等方。
有关 CHAP 的详细信息,请参阅 配置 PPP 质询握手身份验证协议。
另请参阅
配置 PPPoE
- 概述
- 在 PPPoE 接口上设置适当的封装
- 在以太网接口上配置 PPPoE 封装
- 在 ATM-over-ADSL 接口上配置 PPPoE 封装
- 配置 PPPoE 底层接口
- 识别访问集中器
- 配置 PPPoE 自动重新连接等待计时器
- 配置 PPPoE 服务名称
- 配置 PPPoE 服务器模式
- 配置 PPPoE 客户端模式
- 配置 PPPoE 源地址和目标地址
- 从指定接口派生 PPPoE 源地址
- 通过协商配置 PPPoE IP 地址
- 配置协议 MTU PPPoE
- 示例:在 M120 或 M320 路由器上配置 PPPoE 服务器接口
概述
要在作为接入集中器运行的 M120 或 M320 多服务边缘路由器或 MX 系列 5G 通用路由平台上配置 PPPoE,请执行以下操作:
为以太网接口配置 PPPoE 封装。
将逻辑以太网接口指定为 PPPoE 会话的底层接口。
或者,配置接口的最大传输单元 (MTU)。
将操作模式配置为服务器。
配置 PPPoE 接口地址。
配置目标 PPPoE 接口地址。
(可选)配置协议家族的 MTU 大小。
从 Junos OS 10.0 版开始,可以选择配置一个或多个 PPPoE 服务名称表,以及为表中的每个服务执行的操作。
从 Junos OS 12.3 版开始,可以选择禁止发送包含某些错误标记的 PADS 消息。
从 Junos OS 10.4 版开始,配置静态 PPPoE 逻辑接口时,必须在层次结构级别或[edit logical-systems logical-system-name interfaces pp0 unit logical-unit-number]
层次结构级别包含pppoe-options
[edit interfaces pp0 unit logical-unit-number]
子层次结构。如果从配置中省略 pppoe-options
子层次结构,提交操作将失败。
在 PPPoE 接口上设置适当的封装
对于以太网接口上的 PPPoE,您必须在逻辑接口上配置封装并使用以太网 PPP 封装。
对于 ATM-over-ADSL 接口上的 PPPoE,您必须在物理接口和逻辑接口上配置封装。要在 ATM over ADSL 物理接口上配置封装,请使用 ATM 以太网封装。要在 ATM-over-ADSL 逻辑接口上配置封装,请使用基于 AAL5 LLC 的 PPPoE 封装。LLC 封装允许单个 ATM 虚拟连接传输多个协议。
ATM2 IQ 接口上的 M120 或 M320 路由器不支持 PPPoE 封装。
在物理接口上配置点对点封装(如 PPP)时,物理接口只能有一个与之关联的逻辑接口(只有一个 unit
语句)。
要配置物理接口属性,请在层次结构级别包含 encapsulation
语句 [edit interfaces interface-name]
:
[edit interfaces interface-name] encapsulation ethernet-over-atm;
要配置逻辑接口封装属性,请包含以下 encapsulation
语句:
encapsulation ppp-over-ether;
您可以在以下层次结构级别包含此语句:
[edit interfaces interface-name unit logical-unit-number]
[edit logical-systems logical-system-name interfaces interface-name unit logical-unit-number]
执行适用于您使用 PPPoE 的接口的任务。有关如何在以太网接口和 ATM-over-ADSL 接口上配置 PPoE 封装的详细信息,请参阅 在以太网接口上配置 PPPoE 封装 和 在 ATM-over-ADSL 接口上配置 PPPoE 封装。
在以太网接口上配置 PPPoE 封装
客户端和服务器都必须配置为支持 PPPoE。要在以太网接口上配置 PPPoE 封装,请包含以下 encapsulation
语句:
encapsulation ppp-over-ether;
您可以在以下层次结构级别包含此语句:
在 ATM-over-ADSL 接口上配置 PPPoE 封装
要在 ATM-over-ADSL 接口上配置 PPPoE 封装,请执行以下步骤:
encapsulation
在层次结构级别包含[edit interfaces interface-name]
语句,并指定ethernet-over-atm
:[edit interfaces pp0] encapsulation ethernet-over-atm;
通过在逻辑接口上配置 LLC 封装,方法是包含
encapsulation
语句并指定ppp-over-ether-over-atm-llc
:encapsulation ppp-over-ether-over-atm-llc;
您可以在以下层次结构级别包含此语句:
[edit interfaces pp0 unit logical-unit-number]
[edit logical-systems logical-system-name interfaces pp0 unit logical-unit-number]
配置 PPPoE 底层接口
要配置底层快速以太网、千兆以太网、10 千兆以太网或 ATM 接口,请包含以下 underlying-interface
语句:
underlying-interface interface-name;
您可以在以下层次结构级别包含此语句:
[edit interfaces pp0 unit logical-unit-number pppoe-options]
[edit logical-systems logical-system-name interfaces pp0 unit logical-unit-number pppoe-options]
将逻辑以太网、快速以太网、千兆以太网、10 千兆以太网或 ATM 接口指定为底层接口,例如 at-0/0/1.0
(ATM VC)、 fe-1/0/1.0
(快速以太网接口)或 ge-2/0/0
(千兆以太网接口)。
识别访问集中器
配置 PPPoE 客户端时,请通过包含以下语句来通过唯一 access-concentrator
名称标识访问集中器:
access-concentrator name;
您可以在以下层次结构级别包含此语句:
[edit interfaces pp0 unit logical-unit-number pppoe-options]
[edit logical-systems logical-system-name interfaces pp0 unit logical-unit-number pppoe-options]
配置 PPPoE 自动重新连接等待计时器
默认情况下,PPPoE 会话终止后,会话会立即尝试重新连接。配置 PPPoE 客户端时,可以通过包含 auto-reconnect
以下语句来指定在尝试重新连接之前要等待的秒数:
auto-reconnect seconds;
您可以在以下层次结构级别包含此语句:
[edit interfaces pp0 unit logical-unit-number pppoe-options]
[edit logical-systems logical-system-name interfaces pp0 unit logical-unit-number pppoe-options]
您可以将重新连接尝试配置为在会话终止后的 0 到 4,294,967,295 秒内发生。
配置 PPPoE 服务名称
配置 PPPoE 客户端时,请通过包含以下 service-name
语句来标识访问集中器提供的服务类型,例如互联网服务提供商 (ISP) 的名称、类别或服务质量:
service-name name;
您可以在以下层次结构级别包含此语句:
[edit interfaces pp0 unit logical-unit-number pppoe-options]
[edit logical-systems logical-system-name interfaces pp0 unit logical-unit-number pppoe-options]
配置 PPPoE 服务器模式
配置 PPPoE 服务器时,请通过包含 server
以下语句来标识模式:
server;
您可以在以下层次结构级别包含此语句:
[edit interfaces pp0 unit logical-unit-number pppoe-options]
[edit logical-systems logical-system-name interfaces pp0 unit logical-unit-number pppoe-options]
配置 PPPoE 客户端模式
配置 PPPoE 客户端时,请通过包含 client
以下语句来标识模式:
client;
您可以在以下层次结构级别包含此语句:
[edit interfaces pp0 unit logical-unit-number pppoe-options]
[edit logical-systems logical-system-name interfaces pp0 unit logical-unit-number pppoe-options]
配置 PPPoE 源地址和目标地址
配置 PPPoE 客户端或服务器时,请分配源地址和目标地址,例如和 192.168.1.1/32
192.168.1.2
。要分配源地址和目标地址,请包含 address
和 destination
语句:
address address { destination address; }
您可以在以下层次结构级别包含这些语句:
[edit interfaces pp0.0 family inet]
[edit logical-systems logical-system-name interfaces pp0.0 family inet]
从指定接口派生 PPPoE 源地址
对于支持 PPPoE 的路由器,您可以从指定接口(例如环路接口 lo0.0
)派生源地址,并分配目标地址(例如 192.168.1.2
. 指定的接口必须包含逻辑单元号并具有配置的 IP 地址。要派生源地址并分配目标地址,请包含 unnumbered-address
and destination
语句:
unnumbered-address interface-name destination address; }
您可以在以下层次结构级别包含这些语句:
[edit interfaces pp0.0 family inet]
[edit logical-systems logical-system-name interfaces pp0.0 family inet]
通过协商配置 PPPoE IP 地址
您可以通过与远程端协商,让 PPPoE 客户端路由器获取 IP 地址。此方法可能要求访问集中器使用 RADIUS 身份验证服务器。要通过协商从远程端获取 IP 地址,请包含以下 negotiate-address
语句:
negotiate-address;
您可以在以下层次结构级别包含此语句:
[edit interfaces pp0.0 family (inet | inet6 | mpls)]
[edit logical-systems logical-system-name interfaces pp0.0 family (inet | inet6 | mpls
)]
配置协议 MTU PPPoE
您可以为协议家族配置最大传输单元 (MTU) 大小。指定一个介于 0 到 5012 字节之间的范围。确保介质 MTU 的大小等于或大于协议 MTU 与封装开销之和。要设置 MTU,请包含以下 mtu
语句:
mtu bytes;
您可以在以下层次结构级别包含此语句:
[edit interfaces pp0.0 family (inet | inet6 | mpls)]
[edit logical-systems logical-system-name interfaces pp0.0 family (inet | inet6 | mpls
)]
您可以通过在层次结构级别包含 mtu bytes
语句 [edit interfaces pp0]
来修改接口的 MTU 大小:
[edit interfaces pp0] mtu bytes;
物理接口上使用的默认介质 MTU 大小和可用大小范围取决于该接口上使用的封装。
示例:在 M120 或 M320 路由器上配置 PPPoE 服务器接口
通过千兆以太网接口配置 PPPoE 服务器:
[edit interfaces] ge-1/0/0 { vlan-tagging; unit 1 { encapsulation ppp-over-ether; vlan-id 10; } } pp0 { unit 0 { pppoe-options { underlying-interface ge-1/0/0.1; server; } ppp-options { } family inet { address 22.2.2.1/32 { destination 22.2.2.2; } } } }
禁用发送 PPPoE 激活消息
另请参阅
验证 PPPoE 配置
目的
您可以使用 show 命令来显示和验证 PPPoE 配置。
操作
要验证 PPPoE 配置,可以发出以下操作模式命令:
show interfaces at-fpc/pic/port extensive
show interfaces pp0
show pppoe interfaces
show pppoe version
show pppoe service-name-tables
show pppoe sessions
show pppoe statistics
show pppoe underlying-interfaces
有关这些操作模式命令的详细信息,请参阅 CLI 资源管理器。
另请参阅
跟踪 PPPoE 操作
Junos OS 跟踪功能可跟踪 PPPoE 操作并将事件记录在日志文件中。日志文件中捕获的错误说明提供了详细信息,可帮助您解决问题。
默认情况下,不跟踪任何内容。启用跟踪操作时,默认跟踪行为如下:
重要事件记录在名为“位于目录中”
/var/log
的pppoed
文件中。不能更改跟踪文件所在的目录 (/var/log
)。当文件
pppoed
达到 128 KB 时,将重命名pppoed.0
,然后pppoed.1
是 ,最后pppoed.2
是 ,直到有三个跟踪文件。然后覆盖最早的跟踪文件 (pppoed.2
)。您可以选择将跟踪文件的数量指定为 2 到 1000。您还可以将最大文件大小配置为 10 KB 到 1 千兆字节 (GB)。(有关如何创建日志文件的详细信息,请参阅 系统日志资源管理器。
默认情况下,只有配置跟踪操作的用户才能访问日志文件。您可以选择为所有用户配置只读访问权限。
要配置 PPPoE 跟踪操作,请执行以下操作:
指定要配置跟踪选项。
[edit protocols pppoe] user@host# edit traceoptions
(可选)配置用于跟踪输出的文件的名称。
(可选)配置日志文件的数量和大小。
(可选)配置对日志文件的访问。
(可选)配置正则表达式以筛选日志记录事件。
(可选)配置标志以筛选要记录的操作。
以下各节介绍了可选的 PPPoE 跟踪选项操作:
配置 PPPoE 跟踪日志文件名
默认情况下,记录 PPPoE 跟踪输出的文件的名称为 pppoed
。您可以使用该 file
选项指定其他名称。
另请参阅
配置 PPPoE 日志文件的数量和大小
可以选择将压缩、存档的跟踪日志文件数指定为 2 到 1000。您还可以将最大文件大小配置为 10 KB 到 1 千兆字节 (GB);默认大小为 128 KB。
存档的文件通过格式 .number.gz
的后缀来区分。最新的存档文件是 .0.gz
,最早的存档文件是 .(maximum number)-1.gz
。当当前跟踪日志文件达到最大大小时,将对其进行压缩和重命名,并重命名任何现有的存档文件。此过程将重复,直到达到存档文件的最大数量,此时将覆盖最旧的文件。
例如,可以将最大文件大小设置为 2 MB,将最大文件数设置为 20。当接收跟踪操作 filename
输出的文件 达到 2 MB 时, filename
将被压缩并重命名 filename.0.gz
,并创建一个名为的新 filename
文件。当新的 filename
达到 2 MB 时, filename.0.gz
重命名 filename.1.gz
并 filename
压缩并重命名 filename.0.gz
. 重复此过程,直到有 20 个跟踪文件。然后,当下一个最旧的文件被压缩并重命名为 filename.19.gz
时,filename.18.gz
最旧的文件 filename.19.gz
将被简单地覆盖。
另请参阅
配置对 PPPoE 日志文件的访问
默认情况下,只有配置跟踪操作的用户才能访问日志文件。您可以允许所有用户读取日志文件,并且可以显式设置日志文件的默认行为。
另请参阅
为要记录的 PPPoE 行配置正则表达式
默认情况下,跟踪操作输出包括与记录的事件相关的所有行。
您可以通过包含要匹配的正则表达式来优化输出。
另请参阅
配置 PPPoE 跟踪标志
默认情况下,不记录任何事件。可以通过指定一个或多个跟踪标志来指定记录哪些事件和操作。
要为要记录的事件配置标志,请配置标志:
[edit protocols pppoe traceoptions] user@host# set flag authentication
另请参阅
变更历史表
是否支持某项功能取决于您使用的平台和版本。 使用 Feature Explorer 查看您使用的平台是否支持某项功能。
[edit logical-systems logical-system-name interfaces pp0 unit logical-unit-number]
层次结构级别包含pppoe-options
[edit interfaces pp0 unit logical-unit-number]
子层次结构。