pppoe需要开启吗(原来PPPOE是这么玩的)
PPPOE----基于以太网的点对点协议,那么既然是基于以太网的,也就是说是二层之间的通信,那么彼此就需要知道对端的mac地址,如果知道对端的mac地址呢,肯定是通过广播,因为以太网中,广播可以到达任何一个节点,那么对端接收到这个广播帧以后为何要做处理呢,他们之间肯定存在一种特殊的关系,这种关系可以理解为客户端(client)和服务器(server)的关系,那接下来通过一个pppoe客户端和用户端的配置用以理解pppoe拨号上网原理:
网络拓扑
其中LIANTONG用手机USB数据线桥接模拟的外网,ip地址网关为192.168.42.129/24,路由器R1的e0/0接口ip地址为192.168.42.200/24,接下来在R1设备作为server端配置PPPOE:
server端配置:
R1(config)#username thinkmo password thinkmo----本地创建一个用户名和密码,用作pppoe认证
R1(config)#aaa new-model-------配置认证模式为aaa
R1(config)#aaa authentication ppp default local----本地认证方式验证pppoe
R1(config)#bba-group pppoe global---建立使用的bba组
R1(config-bba-group)#virtual-template 1----绑定到虚拟模板接口
R1(config-bba-group)#exit--退出
R1(config)#interface virtual-template 1---进入到虚拟模板接口
R1(config-if)#peer default ip address dhcp-pool pppoe---使用本地dhcp地址池为pppoe客户端分配ip地址
R1(config-if)#encapsulation ppp---封装为ppp
R1(config-if)#ppp authentication chap--设置认证类型为chap
R1(config-if)#mtu 1492--最大网络传输单元值为1492
PPPOE
R1(config-if)#ppp ipcp dns 114.114.114.114---ppp客户端分配 DNS地址为114.114.114.114
R1(config-if)#ip unnumbered e0/1---借用接口e0/1的地址使用(节约ip地址,由于这里借用的接口没有ip地址,所以为0.0.0.0 )
R1(config-if)#exit----退出
R1(config)#int e0/1------进入接口下
R1(config-if)#pppoe enable---允许pppoe拨入
R1(config-if)#no sh--打开接口
server端配置dhcp地址池:
R1(config)#ip dhcp pool pppoe
netwoR1(dhcp-config)network 10.1.1.0 255.255.255.0
Client端配置:
GW(config)#interface dialer 1---进入虚拟拨号口
GW(config-if)#ip add negotiated---ip地址自动从服务器协商
GW(config-if)#encapsulation ppp---封装ppp
GW(config-if)#ppp chap hostname thinkmo---配置认证类型chap,用户名为thinkmo
GW(config-if)#ppp chap password thinkmo---配置认证类型chap,密码为thinkmo
GW(config-if)#dialer pool 1---配置拨号地址池
GW(config-if)#exit--退出
GW(config)#int e0/1--进入接口下
GW(config-if)#pppoe enable--允许pppoe拨出
GW(config-if)#pppoe-client dial-pool-number 1--在物理接口下将拨号池于该物理接口绑定(相当于使用物理接口拨号)
GW(config-if)#no sh--打开物理接口
GW(config-if)#exit--退出
验证客户端,查看是否获取到ip地址
获取到ip地址10.1.1.1
说明拨号成功,并且成功获取到server端分配的ip地址
GW上做内网DHCP 地址池172.16.1.0/24网段,为PC分配ip地址:
GW(config)#do sh run | se dhcp
ip dhcp pool PC
network 172.16.1.0 255.255.255.0
default-router 172.16.1.1
dns-server 114.114.114.114
打开pc,查看是否能自动获取ip地址:
PC4> ip dhcp
DDORA IP 172.16.1.2/24 GW 172.16.1.1
PC5> ip dhcp
DDORA IP 172.16.1.3/24 GW 172.16.1.1
能够正常获取ip地址,没问题,然后在客户端上做nat将内网172.16.1.0/24网段的数据转换出去,首先客户端写一条默认出去:
GW(config)#ip route 0.0.0.0 0.0.0.0 dialer 1--默认路由通过拨号口出去
GW(config)#int dialer 1
GW(config-if)#ip nat outside
GW(config-if)#exit
--------------------------------------------定义拨号接口为外网口然后退出
GW(config)#int e0/0
GW(config-if)#ip nat inside
GW(config-if)#exit
---------------------------定义内网口
GW(config)#access-list 1 permit 172.16.1.0 0.0.0.255----------抓取感兴趣数据流
GW(config)#ip nat inside source list 1 interface dialer 1 overload------通过拨号口nat转换
最后一步服务端写默认路由,做nat:
R1(config)#ip route 0.0.0.0 0.0.0.0 192.168.42.129--默认路由下一跳地址192.168.42.129
R1(config)#int e0/0进入外网口
R1(config-if)#ip nat outside--定义外网口
R1(config)#int virtual-template 1--------进入虚拟模板口
R1(config-if)#ip nat inside--定义为内网口
R1(config)#access-list 10 permit any--抓取感兴趣数据流所有
R1(config)#ip nat inside source list 10 interface e0/0 overload--做nat转换
最后测试:
PC4
PC5
可以看到,PC4和PC5都可以ping通外网的DNS服务器114.114.114.114,和8.8.8.8,pppoe测试成功,通过以上pppoe的配置,其实也可以发现,在本模拟环境可以看到经过了两次nat的转换,实际上在家用或者企业办公网络,我们使用的网络可能经过了多次nat的转换!
这就是pppoe--现网环境中的宽带拨号上网!
,免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com