pppoe
1.概念
PPP over Ethernet(PPPoE)协议,是在以太网络中转播PPP帧信息的技术,尤其适用于ADSL等方式。可以使以太网的主机通过一个简单的桥接设备连到一个远端的接入集中器上。通过pppoe协议,远端接入设备能够实现对每个接入用户的控制和计费。PPPoE协议的作用是:实现有效的用户管理,进行网络接入计费等。
2.基础配置
之前配置pppoe的时候一直要看测试用例,如果自己去想着配置的话,有很多配置记不清楚。其主要原因是我不太懂这些配置都是干嘛用的。现在我从配置方面重新梳理了一下,其实里面是有规律可循,懂得原理就能记住配置。
客户端 | 服务端 |
待补充 | 待补充 |
配置方面主要有3个关键点:拨号、ip连通、ppp over以太。
首先配置分为客户端和服务端,因为拨号是按需拨号,即有流量的触发才会进行拨号。那什么样的流量会触发拨号?一般情况下ip报文能触发拨号,当然也可以通过设置指定acl通过特定的流量才能够触发拨号。(dialer list 1 protocol ip permit这里的1是像acl序号一样的名字)。
当比如说有ip报文触发了拨号机制时,那么用哪个口去发起拨号呢?在pppoe里设置了一个逻辑接口(dialer口),dialer口称为拨号口,即有dialer口的一端一般是作为客户端进行发起拨号的。这时候大家可能会有疑问?为什么不用以太口呢?以太口不能发起拨号么?答案是以太口是不可以的。因为以太口封装的协议是ip,而ppp报文的封装要在广域网接口完成。而pppoe名字就是在以太上运行ppp协议,为了克服这个困难开发者设计出了一个逻辑口dialer口,在dialer口封装ppp协议然后实际报文收发是在以太口上,这样就能够在以太口上运行ppp协议。
那么一般这个diale口都有什么配置呢? dialer group和dialer pool。dialer group是什么作用呢? dialer-group 就是和前面dialer list对应,即规定哪种流量去触发哪个dialer口去拨号。
比如现在有
dialer list 1 protocol ip permit | dialer list 1 protocol ipv6 permit |
intrface dialer0 encapsulation ppp dialer-group 1. Exit | interface dialer1 encapsulation ppp dialer group 2 exit |
这个配置代表的是ip报文会触发dialer0去触发拨号,而ipv6报文会触发dialer1去拨号。明白了dialer group的配置后,dialer pool的配置是什么作用呢?作用就是连接物理口和逻辑口之间的关系。前面的dialer group确定哪种流量触发哪个dialer口,但dialer口想要能够接收流量触发拨号必须有物理口作为依托,而dialer pool x就是连接物理口和逻辑口之间的纽带。
interface dialer0 encapsulation ppp ip address negotiated. dialer-group 1. dialer pool 2 exit | interface gigabitethernet1 media- type auto pppoe-client dial-pool-number 2 exit |
这里的配置就是上面的ip报文出发dialer0口拨号,而逻辑口要依附于实际物理口,他们对应的数字就是2。客户端的配置就是如上,那么服务端的配置是怎样的呢?。
在客户端通过dialer口完成ppp协议的封装,那么在服务端也是dialer口么?答案不是的,在服务端是以虚拟模板(virtual-template)来进行来完成ppp协议的封装。虚拟模板可以创建虚拟接口v-a口,ppp的连接是从客户端的dialer口到服务端的va口。
interface virtual template 0 encapsulation ppp. peer default ip address pool p1 ip unnumbered loopback 10 exit vpdn enable vpdn-group pppoe-server accept dialin 接收拨号,说明是服务端, protocol pppoe 封装pppoe协议,因为不仅仅单给pppoe用,其他l2tp协议也 能用vpdn virtual- template 0 基于虚拟模板 exit |
但是看服务器的配置来说,多了一个vpdn。那么vpdn是用来干什么的呢?vpdn是虚拟专用拨号网,它利用隧道技术对数据进行封装、解封装,用来建立隧道或会话的。咋一看这个配置不是很多余么,实际仔细想pppoe是点对点的连接,而以太是点到多点的连接。而vpdn就是在以太的基础上建立点到点的会话,通过vpdn完成点到多点--->点到点的转变。那么这样就可以理解了,通过vt口创建va 口,然后和客户端以ppp的协议通信。这时候大家看到了,我vt口是用ip unnumbered loopback10,这个配置的作用是复用地址。就是地址可以固定,可以通过切换模板的方式来进行地址的切换。
最后还有一个关键点是ip连通。一般情况下是客户端发起拨号由服务端指定分配地址,当拨号断开时服务端会将ip进行回收。所以ip连通需要服务端设定一个地址池,然后在虚拟模板接口配置对端地址用哪个地址池,而客户端呢配置地址是被指定的。讲到这里pppoe的基本配置就完成了。
总结:大家可以从发起拨号的整个流程来想每个配置的作用。
- 什么能够触发拨号
- 用哪个拨号口去拨号
- 该拨号口依附哪个物理口
- 服务端要建立会话要用什么机制
- 服务端用哪个口接收拨号
- 服务端怎样把地址给客户端进行分配