演示:PPPOE服务端、拨号路由器、拨号计算机的配置


对应演示录像:http://edu.51cto.com/lecturer/user_id-7648423.html


演示目标:完成如下演示目标。

nPPPOE服务端的配置(DSL网络汇聚路由器的配置)。

nPPPOE拨号计算机的配置。

nPPPOE拨号路由器的配置。

演示环境:如下图8.104所示。

233541673.png


演示背景:在如图8.104所示的演示环境,DLS_ISP是ADSL网络的汇聚路由器,也是PPPOE拨号服务端,环境中的计算机是一台集了PPPOE拨号功能的windows XP计算机,路由器R1是一台PPPOE拨号客户端,现在配置DSL_ISP具备PPPOE的拨号接收与身份验证的功能,让计算机和路由器R1都能成功的通过PPPOE拨号访问Internet主干,并成功获得DSL_ISP为它们颁发的IP地址。

演示步骤:


第一步:配置DSL汇聚路由器,使其它接受CPE设备(计算机和路由器R1)的PPPOE拨号请求,并为它们分配IP地址。


DSL汇聚路由器的配置:

DSL_ISP(config)#username adsl01 password ccna123 *建立第一个PPPOE拨号用户与密码

DSL_ISP(config)#username adsl02 password ccna456 *建立第二个PPPOE拨号用户与密码


DSL_ISP(config)#bba-group pppoe ccna * 建立一个叫做ccna的BBA组。

DSL_ISP(config-bba-group)#virtual-template 1 *将虚拟模板接口1关联到BBA组中。


注意:bba-group是一个虚拟拨号组,先前的IOS(12.2(13)T之前)中,PPPOE的拨号是被嵌入到VPDN中,但是后来思科将PPPOE从VPDN中移植出来,嵌入到bba组中;virtual-template是设备所使用的虚拟访问接口,一个PPPOE的拨号连接就是属于虚拟访问的一种,该接口上存放着与虚拟访问有关的三层和二层信息,通常,需要把这个virtual-template与bba-group关联起来,或者在思科的英文文档中叫“cloning(克隆)”该接口到bba组中。


DSL_ISP(config)#interface virtual-template 1 * 进入虚拟模板接口1

DSL_ISP(config-if)#ip unnumbered e1/1 * 配置该接口向E1/1借IP地址。

DSL_ISP(config-if)#encapsulation ppp * 为该接口封装PPP协议

DSL_ISP(config-if)#ppp authentication pap * 在该接口启动PAP认证。

DSL_ISP(config-if)#peer default ip address pool adsl *为PPPOE拨号客户端分配一个叫做“adsl”地址池中的IP地址。


DSL_ISP(config)#interface e1/0 * 进入E1/0接口(PPPOE的桥接端接口)。

DSL_ISP(config-if)#pppoe enable * 启动PPPOE协议。

DSL_ISP(config-if)#pppoe enable group ccna * 将“ccna”的BBA组与该接口关联。


DSL_ISP(config)#ip local pool adsl 202.202.2.3 202.202.2.254 *建立一个叫“adsl”要分配给PPPOE拨号客户端的IP地址池。


DSL_ISP(config)#interface e1/1 * 接入E1/1接口。

DSL_ISP(config-if)#ip address202.202.1.1 255.255.255.0 * 为该接口配置IP地址。

DSL_ISP(config-if)#no shutdown * 激活该接口。

DSL_ISP(config-if)#exit

第二步配置windows XP的计算机启动PPPOE的远程拨号连接具体操作如所示:建一个如下图8.105所示的新建连接向导;在下图8.106所示的界面中选择连接到Internet;选择如下图8.107所示的手工连接;在下图8.108所示的界面中选择要求用户名与密码来连接;在下图8.109所示的界面中输入PPPOE拨号所需要用户号与密码,这里的用户名与密码实际上就是在DSL网络汇聚路由器DSL_ISP上所建立的用户名与密码;当所有配置完成时,最终会出现如下图8.110所示的连接界面,可以开始PPPOE的连接。如果配置无误,应该可以通过PPPOE的拨号成功的连接到DSL网络的汇聚路由器DSL_ISP,并且可以看到如下图8.111所示的状态信息,指示正在使用PPPOE协议,并且在成功的得到了PPPOE服务端为它分配的IP地址202.202.2.3;然后,可以ping 202.202.1.1(PPPOE的服务端),如下图8.112所示,成功通信。

233858292.png

233938737.png


第三步:上面配置的是一台支持PPPOE拨号计算机的拨入,在该步骤中,将演示PPPOE拨号客户端路由器的配置,完成的配置与说明如下所示:


PPPOE的拨号客户端路由器R1的配置:

R1(config)#interface e1/0 * 进入E1/0接口。

R1(config-if)#pppoe enable * 在该接口启动PPPOE协议。

R1(config-if)#pppoe-client dial-pool-number 1 * 将物理接口与虚拟拨号池1关联,这里的编号1是拨号池编号,该编号必须与拨号接口下的dialer pool 1中的池编号1相同。

R1(config-if)#no shutdown * 激活该接口。


R1(config)#interface dialer 1 * 建立一个拨号接口1

R1(config-if)#mtu 1492 * 配置拨号接口1的MTU为1492,为什么要配置为1492?

R1(config-if)#ip address negotiated * 配置该拨号接口通过DHCP获得IP地址。

R1(config-if)#dialer pool 1 * 将dialer1这个拨号接口与拨号地址池1相关联,这里的拨号地址池dialer pool 1中的编号必须与物理接口下dial-pool-number 1的编号相同。

R1(config-if)#encapsulation ppp * 为拨号接口封装PPP协议。

R1(config-if)#ppp authentication pap callin * 在拨号接口上使用PAP认证,并且只要求DSL的服务器端验证客户端拨入行为,不要求拨号客户端验证服务端。后有更详细的说明。

R1(config-if)#ppp pap sent-username adsl02 password ccna456 *发送认证名与密码。


为什么要将dialer 1拨号接口的MTU配置成为1492字节?

这与PPPOE标准中的MRU(最大接收单元)有关,因为PPPOE的MRU所协商的大小,一定不能超过1492个字节,PPPOE是被以太网所承载,以太网的MTU(最大传输单元)是1500个字节,其中PPPOE的头部要占6个字节,PPP协议ID要占2个字节,所以PPPOE的最大接收单元就是1500-6-2=1492个字节。


关于PPPOE拨号客户端上的ppp authentication pap “callin”说明:

对callin参数的理解一定要注意,很容易单让初学者通过“中国式英语”直接将关键字callin理解为“进入呼叫”,然后就会认为,电信运营商会请求DSL客户端认证自已,甚至于从callin这个关键字,误认为电信运营商(DSL的服务器)还要回拨客户端,然后在DSL客户端上必须配置callin关键字,来允许DSL服务器的呼叫进入,才能进行DSL网络的成功拨号,很多文档都这样描述,如下图X所示

234215656.png

首先申明pppauthentication pap callin的正确理解:

在PPPOE拨号客户端路由器上配置callin关键字, 绝不是指回拨,或者对电信端(DSL服务器)进行PAP认证,意思正好相反,它不要求认证服务端,只对“拨入行为callin”(这里的拨入行为指的是DSL客户端拨服务器的行为)进行单向的认证,单项的认证指示:只让DSL网络的服务器端认证客户端,而客户端不需要认证服务端,并且会忽略服务端发来的认证请求,或者叫客户端不要求服务端提供认证请求,如果在DSL的拨号客户端上配置ppp authentication pap不带callin参数,这才是要求对端(DSL服务端)必须提供认证主请求,也就是客户端必须去验证服务端。关于这callin参数的详解原英说明如下图Y所示,或者参看思科官方的关于

Configuring andTroubleshooting PPP Password Authentication Protocol (PAP)

文档ID为:Document ID: 10313

234306787.png

注意:在阅读时,不要将整句中的单词拆开来理解,这是在翻译英文文档时最容易出现的问题,如果一但分折单词来理解,就很可能从一个独立单词的表面意思去先入为主的理解整个句子的中心思想,而且要注意关键词和专业术语的语态(是正在进行时或者被动时),以及相关介词所引出的进一步说明,通过这个提示,再认真读读图Y的文档。


为什么callin参数不是电信运营商的DSL服务端回拨客户端?

回拨(callback)不是callin,回拨的主要目的是为了给主叫方(英文叫calling,也就是拨号客户端)省费的一种方案,比如:说拨号客户端,首先初始化连接服务端,在通信学记费的角度讲,应该向主叫方(caling)也就是拨号客户端收费,被叫方(called)也就是服务端是不会产生费用的,这个道理就像打电话给钱,接电话不要钱的意思是一样,但是在有些企业里面,为了统一付费和节省拨号客户端的费用,服务端会被配置为回拨(callback),此时,情况会是这样:拨号客户端初始化连接服务端,服务端收到初始化后,切断连接,然后由被叫方(called)也就是服务端,反过来呼叫主叫方(calling),然后费用将产生在服务端上,这个过程叫回拨,有点类似于以前使用BB机,打传呼的过程。配置回拨的指令是callback,而不是callin。最后你再试想一个问题:你使用DSL的拨号,呼叫电信的接入服务器,如果电信服务器给你做回拨,那么就会变成,用户上网,电信给钱的“美丽事情”,谁都想,但可能吗?


当完成PPPOE的拨号路由器R1完成配置后,可以通过在路由器R1上执行show interface dialer 1 指令来查看拨号接口,如下图8.113所示,指示该路由器的拨号接口已经启动,并从PPPOE服务端得到了IP地址。然后可以通过在路由器R1上测试与PPPOE服务器的连通性,如下图8.114所示。

234522522.png

第四步:完成整个配置后,可以PPPOE的服务端(DSL网络的汇聚路由器)查看PPPOE拨号计算机与路由器同时拨入服务端的状态信息,可以通过在DSL网络汇聚路由器上执行show pppoe session指令来查看PPPOE的会话,如下图8.115所示,可以看到拨号计算机与拨号路由器成功的连接到PPPOE的服务器,其中,需要重点理解的是在给定的显示中,有两种ID,一个是PPPOE的PPPOE的主机唯一标识ID(Host-Uniq ID);一个是PPPOE的会话ID(SID),这两个ID有什么区别?为什么会存在这种标识PPPOE的ID?

234611244.png

PPPOE的主机唯一标识ID(Host-Uniq ID):

Host-Uniq ID,类似于PPP数据报文中的标识域,主要是用来识别PPPOE的发送和接收端的。因为对于广播式的网络中会同时存在很多个PPPoE的数据报文,说得更具体一点:比如:在PPPOE的发现阶段,某台主机发送一个PADI的PPPOE初始消息,PPPOE的服务端回送了一个PADO的PPPOE的提供消息,那么就使用Host-Uniq ID来识别,这一对消息是一组PPPOE的控制会话,否则,正如上述关点:因为对于广播式的网络中会同时存在很多个PPPoE的数据报文,服务端怎么知道哪个报文是具体某台主机发来的。事实上,从理解并取证PPPOE的工作过程中的四个发现阶段的控制消息数据帧可以看出,每一个控制请求与回送消息的Host-Uniq ID是相同的。


PPPOE的会话ID(SID):

PPPOE的会话ID(SID)是通过在发现阶段的最后一步,所提供的会话ID号和对方的MAC地址一起来定义了一个PPPOE的会话,更精确的讲:是PPPOE发现阶段以后的会话ID,那些,关于PPP的LCP、NCP都是基于这个PPPOE的会话ID来标识是同一组会话消息。


PPPOE的SID与Host-Uniq ID的区别在哪里?

因为PPPOE必须要首先经过发现阶段(PADI、PADO、PADR、PADS)后才能进入正式的PPP会话阶段,正式的PPP会话阶段中,使用SID来标识同一PPP会话,但是在正式会话前的发现阶段,将使用Host-Uniq ID来标识发现阶段的一对PPPOE会话,因为此时无法使用SID,它是发现阶段的第四步才被PPPOE的服务端颁发,在发现阶段的前面几个步骤中都不存在,所以此时只能使用Host-Uniq ID来标识发现阶段的一对PPPOE会话。