PPP协议实验
- 拓扑图
- PPP认证配置
- PAP认证
- CHAP认证
- 接口地址不在一个网段?
- 地址自动协商
- 通过IPCP方式获取到默认路由
拓扑图
首先在设备上增添两个Serial接口:
PPP认证配置
PAP认证
- AR1作为认证方,AR2作为被认证方:
AR1:
[Huawei]int s 4/0/0
进入S4/0/0接口
[Huawei-Serial4/0/0]ip address 12.1.1.1 24
配置接口地址
[Huawei-Serial4/0/0]link-protocol ppp
链路类型是PPP链路,这条,命令在Serial接口之下默认是开启的,不用手动进行配置
[Huawei-Serial4/0/0]ppp authentication-mode pap
设置认证类型为PPP的PAP认证
[Huawei]aaa
进入AAA认证
[Huawei-aaa]local-user huawei password cipher hua
配置本地数据库中的用户名(huawei)密码(hua)
[Huawei-aaa]local-user huawei service-type ppp
用户的采用的是PPP链路
AR2:
[Huawei]int s 4/0/0
进入接口
[Huawei-Serial4/0/0]ip address 12.1.1.2 24
配置接口地址
[Huawei-Serial4/0/0]ppp pap local-user huawei password cipher hua
配置认证的用户名与密码
CHAP认证
AR1:
[Huawei]int s 4/0/0
进入接口
[Huawei-Serial4/0/0]ip address 12.1.1.1 24
配置接口地址
[Huawei-Serial4/0/0]ppp authentication-mode chap
设置接口下的认证方式
[Huawei-Serial4/0/0]ppp chap user ppp
设置CHAP认证的用户名
[Huawei-Serial3/0/0]aaa
进入数据库
[Huawei-aaa] local-user ppp password cipher chap
配置相应的用户名及密码
[Huawei-aaa] local-user ppp service-type ppp
用户的链路类型为PPP
AR2:
[Huawei]int s 4/0/0
进入接口
[Huawei-Serial4/0/0]ppp authentication-mode chap
配置接口下的认证模式
[Huawei-Serial4/0/0]ppp chap user ppp
PPP的认证用户为ppp
[Huawei-Serial4/0/0]ip address 12.1.1.2 255.255.255.0
设置接口地址
[Huawei-Serial4/0/0]aaa
进入自身数据库
[Huawei-aaa]local-user ppp password cipher chap
设置要进行建立连接的用户名及密码
[Huawei-aaa]local-user ppp service-type ppp
设置用户配置的链路类型
最终现象以能够ping通对方的接口地址为准。
此外,建议接口地址的掩码配置为30位,以现在配置的24位为例,如下图:
查看AR1的路由表,会发现有指向12.1.1.0网段的信息,如果去ping该网段的其他地址就会产生环路的问题:
配置为30位保证只有两个可用的地址,就不会出现这种情况了。
接口地址不在一个网段?
PPP是点到点链路,也就是直接相连相通,所以就算接口地址不是一个网段,也可以直接通信,因为是直连,也可以理解为有一条指向对端的默认路由,下一跳出口为本设备和对端设备相连的接口。这样一来就保证能够直接通信,也反向验证了PPP链路的特性,点到点。
我们把R1的地址修改为100.1.1.1,然后在R2上测试测试连通性。
测试结果如上,可以联通,所以接口地址为不同网段也可以进行通信。
地址自动协商
可以通过手工设置地址,也可以通过建立地址池的方式进行自动协商。
手工指定:
AR1:
[AR1]int s 4/0/0
[AR1-Serial4/0/0]ip address 12.1.1.1 24
[AR1-Serial4/0/0]remote address 12.1.1.2 //设置对端的地址为12.1.1.2(默认为32位)
AR2:
[AR2]int s 4/0/0
[AR2-Serial4/0/0]ip address ppp-negotiate //设置获取地址的方式为自动协商
建立地址池:
AR1:
[AR1]ip pool ppp//建立一个名为“ppp”的地址池
[AR1-ip-pool-ppp]network 14.1.1.0 mask 24//宣告地址网段为14.1.1.0
[AR1]int s 4/0/0
[AR1-Serial4/0/0]remote address pool ppp//对端地址为地址池中的地址
AR2:
[AR2]int s 4/0/0
[AR2-Serial4/0/0]ip address ppp-negotiate //使用ppp协商的方式获得地址
AR2成功获取到了地址池中的地址。
通过IPCP方式获取到默认路由
假设现在AR1与AR2都能够互通,现在在AR1的loopback接口配置一个1.1.1.1/32的路由,此时AR2肯定是访问不到的,现在通过命令的方式使AR2获得一条指向AR1的默认路由,最终实现能够访问1.1.1.1这条路由。
AR1:
[AR1]int loopback 0
[AR1-LoopBack0]ip address 1.1.1.1 32//设置一个测试接口
[AR1-Serial4/0/0]ip address 12.1.1.1 24
AR2:
[AR2]int s 4/0/0
[AR2-Serial4/0/0]ip address 12.1.1.2 24
[AR2-Serial4/0/0]ppp ipcp default-route //使用IPCP的方式为AR1设置一个默认路由
这里可以看到AR2生成了一条指向S4/0/0接口的默认路由。
最终测试可以实现ping通信。