园区网PPPOE接入
如上图,该园区用户统一使用PPPOE拨号接入,并在PPPOE服务器上进行本地认证或外部服务器认证(ACS)
基本配置如上图(略)
PPPOE SERVER RT5上配置如下:
username user1 password cisco1 //添加用户名与密码
username user2 password cisco2
ip local pool pppoe1 172.16.20.2 172.16.20.254//建立本地址池
vpdn enable //开启PPPOE
vpdn-group 1 //建立PPPOE的拨号组
accept-dialin //接受拨号
protocol pppoe //协议为PPPOE
virtual-template 1 //创建虚拟模板
interface Virtual-Template1
ip address 172.16.20.1 255.255.255.0
peer default ip address pool pppoe //指定对端IP从地址池PPPOE获取
ppp authentication pap chap //使用PAP或CHAP认证
interface FastEthernet2/0.20
encapsulation dot1Q 20
pppoe enable //开启PPPOE
interface FastEthernet2/0.21
encapsulation dot1Q 21
pppoe enable //开启PPPOE
客户端VMXP0和VMPC9如下配置:
点网络-属性-新建连接
完成,成功添加PPPOE客户端
在客户端中输入RT上添加的用户名和密码
认证成功,并自动获取到IP地址.
VMPC9使用user2同样认证成功,自动获取到IP
使用AAA的PPPOE认证及计费下发ACL(不会使用ACS搭建AAA服务器的请看前面博文http://tangfangxiao.blog.51cto.com/2116646/677021)
先在ACS上搭建好AAA服务器,添加两个用户user3、user4
在RT5上配置radius:
RT5(config)#
aaa new-model //开启AAA认证
radius-server host 172.16.25.25 key cisco //配置RADIUS服务器地址和密钥(与服务器一致)
ip radius source-interface loopback 0 //指定以此IP为源发送RADIUS报文,也就是服务器上的客户地址
aaa authentication ppp default group radius //PPP认证使用radius认证
aaa authorization network default group radius //授权network
aaa accounting network default start-stop group radius//开启PPPOE计费
在客户端上使用AAA服务器上的用户进行登录,同时在AAA的Reports and Activity的RADIUS accounting这里面可以看到计费信息。
下发ACL
在RT5上要先写好ACL,配置如下:
RT5(config)#
access-list 101 deny ip host 172.16.20.5 host 5.5.5.5
access-list 101 permit ip any any
在AAA服务器上配置如下:
勾选011 Filter-Id
进入user4所在的组,勾选011,在方框中输入101.in,101就是访问控制列表号,in用在in的方向。
测试如下:
在VMXP0上输入user3登录,测试能PING通5.5.5.5
VMPC9上用user4登录,可以看到不能PING通5.5.5.5,提示不可达,因为访问控制列表将它过滤了!
PPPOE协议工作过程:
分为三个阶段,Discovery阶段、Session阶段、Terminate阶段
Discovery阶段由四个过程组成,完成之后通信双方都会知PPPOE的Session_ID以及对方以太网地址,它们共同确定了唯一的PPPOE Session.
PADI(PPPOE Active Discovery Initiation)报文
PPPOE发现阶段的第一步,也即是由客户端首先广播发送一个PDAI报文,在此包含PPPOE client想要得到的服务类型信息
PADO(PPPOE Active Discovery Offer)报文
PPPOE发现阶段的第二步,也即是由访问集中器回应各用户主机发送 的PADI报文,此时该报文所对应的以太网帧的源地址填充访问集中器的MAC地址,而目的地址则填充从PADI中所获取的用户主机的MAC地址(单播)。
PADR(PPPOE Active Discovery Request)报文
PPPOE发现阶段的第三步,PPPOE client选择最先收到的PADO报文对应的PPPOE SERVER做为自己的PPPOE SERVER,并单播发送一个PADR报文
PADS(PPPOE Active Discovery Session-confirmation)报文
PPPOE发现阶段的第四步,也即是最后一步,此时访问集中器当收到PADR报文时,就准备进入开始一个PPP的会话了,而此时访问集中器会为在这个会话分配一个唯一的会话进程ID,并在发送给主机的PADS报文中携带上这个会话ID。
Session阶段
主要是PPP协商阶段和PPP报文传输阶段
PPP协商阶段分为LCP、认证、NCP
LCP主要完成建立,配置和检测数据链路连接
LCP协商成功后,开始进行认证,认证协议有CHAP、PAP
认证成功后,PPP进入NCP阶段,配置不同的网络层协议,常用的是IP控制协议IPCP,它负责配置用户的IP和DNS等工作。
PPPOE Session的PPP协商成功后,其上就可以承载PPP数据报文,在此阶段中所有的以太网数据都是单播发送的。
Terminate阶段
PPP通信双方应该使用PPP协议自身(PPP终结报文)来结束PPPOE会话,但在无法使用PPP协议结束会话时可以使用PADT报文。PADT数据包可以在会话建立以后的任意时刻单播发送,在收到PADT后,就不允许再使用该会话发送PPP流量了。