思科GNS3基于PPPOE+CBAC+DHCP+Qos等技术的通用型路由器的设计与实现

思科GNS3基于PPPOE+CBAC+DHCP+Qos等技术的通用型路由器的设计与实现

在GNS3(也可在eve-ng)上搭建的拓扑图如下所示:
在这里插入图片描述

其中,R1代表旧的路由器,Windows 7主机代表家用电脑,其他路由器和网络设备代表的是公网设备,其中就包括运营商和远端的服务器,远端的服务器用来模拟一些病毒网站,我们的目的是配置一些策略,来限制电脑可以访问这些违规网站。

总体设计

我们设计的是,R1为我们的电脑提供PPPOE上网服务,我们暂时给本地计算机创建两个拨号用户,其用户名和密码下所示:

用户名 密码
username1 123456
username2 123456
在实际生活中,我们遇到的病毒网站有多种多样的,这里的实验我们仅举一类即可,我们使用Windows Server 2008R2服务器在GNS3的外网上构建了一个违规网站,域名为***,其IP为200.1.1.2,我们在家里使用上网时,有时候会收到一些恶意的弹窗或者url网页文件,当不小心点击后,就会自动打开浏览器访问
现在我们要做的就是,在R1上配置CBAC策略来拒绝本地用户访问此网站,当用户不小心尝试打开此网站时,会自动拒绝该网站到本地的流量,例如浏览器就会如图所示:
在这里插入图片描述

当我们配置好了后,这里的违规网站就会显示无法显示此页

然后配置Qos,对于通往外网服务器的流量做流量管制,配置速率为8000bps,bc为1000字节,be为1000


详细配置

配置DHCP

在R1上的配置如下所示:
R1(config-if)#service dhcp	//开启DHCP服务
R1(config)#ip dhcp pool vlan	//创建dhcp地址池,设置名称为vlan
R1(dhcp-config)#default-router 192.168.3.254	//设置默认网关地址
R1(dhcp-config)#network 192.168.3.0 255.255.255.0	//设置子网的网络地址,也就是网段
R1(dhcp-config)#dns-server 200.1.1.2	//设置DNS地址

配置PPPOE拨号上网

在R1上的配置如下所示:
R1(config)#bba-group pppoe global 	//配置全局的bba-group
R1(config-bba-group)#virtual-template 1	//调用虚拟模板virtual-template 1
R1(config-bba-group)#int e0/2	//进入物理接口e0/2
R1(config-if)#pppoe enable 	//开启pppoe功能
R1(config-if)#no shut		//开启接口
R1(config-if)#interface virtual-template 1	//进入一个虚拟模板的接口
R1(config-if)#encapsulation ppp	//采用ppp封装
R1(config-if)#ppp authentication chap 	//配置认证方式为chap认证
R1(config-if)#ip mtu 1492	//设置MTU值为1492
R1(config-if)#ip unnumbered ethernet 0/1	//使用e0/1接口的IP地址作为pppoe的拨号地址
R1(config-if)#peer default ip address dhcp-pool vlan	//使用dhcp方式分发地址,并且使用之前创建的地址池vlan
R1(config-if)#username username1 password 123456	//创建一个用户名username1,其密码为123456
R1(config)#username username2 password 123456		//创建一个用户名username2,其密码为123456

配置CBAC上下行控制

在R1上的配置如下所示:
R1(config)#access-list 101 deny tcp any host 200.1.1.2 eq www	//创建扩展ACL策略,拒绝本地所有主机访问外网的网络赌博诈骗网站
R1(config)#access-list 101 permit ip any any 	//同时允许本地所有的流量通行
R1(config)#int e0/1	//进入路由器的出接口
R1(config-if)#ip access-group 101 out	//在出接口上应用该策略 
R1(config)#ip inspect name cbac tcp	//定义CBAC,并开启TCP服务
R1(config)#ip inspect name cbac udp 	//定义CBAC,并开启UDP服务
R1(config)#ip inspect name cbac icmp	//定义CBAC,并开启ICMP服务,通常应用于ping
R1(config)#ip inspect name cbac http	//定义CBAC,并开启HTTP服务
R1(config)#int e0/1	//进入出接口
R1(config-if)#ip inspect cbac in	//应用CBAC策略到路由器的进方向
R1(config)#ip inspect max-incomplete high 500	//设置cbac策略,当半开会话数量超过500时,就会删除该会话
R1(config)#ip inspect max-incomplete low 400		//当半开会话低于400时停止删除
R1(config)#ip inspect one-minute high 600		//当开始删除半开会话时候接收的会话数的数量最多为600个
R1(config)#ip inspect one-minute low 400		当开始删除半开会话时候接收的会话数的数量最低为400个

配置QOS流量管制

在R1上的配置如下所示:
R1(config)#access-list 102 permit ip 192.168.3.0 0.0.0.255 host 200.1.1.2 //定义内网通往外网服务器的流量
R1(config)#class-map match-all Qos //创建类图,名称为Qos
R1(config-cmap)#match access-group 102	//调用ACL
R1(config-cmap)#ex    
R1(config)#policy-map Qos	//创建策略图
R1(config-pmap)#class Qos	//调用类图
R1(config-pmap-c)#police cir 8000 bc 1000 be 1000 conform-action transmit exceed-action drop 	//做流量管制,设置速率为8000bps,bc为1000字节,be为1000,正常的流量传输,不正常的流量就丢弃
R1(config-pmap-c-police)#int e0/2
R1(config-if)#service-policy output Qos	//在接口上调用Qos策略

配置到这里就做完了,开始网络测试

网络测试

测试PPPOE拨号上网

首先我们到电脑的网络控制中心
然后点击设置新的连接或网络,如图所示:
在这里插入图片描述

然后点击连接到Internet,这里就能选择PPPOE连接,点击下一步,如图所示:
在这里插入图片描述

选择宽带(PPPOE)®连接,如图所示:
在这里插入图片描述

输入我们上面提供的两个用户名中的其中一个就行,这里我们输入用户名username1,密码123456,如图所示:
在这里插入图片描述

然后点击连接,就能看到连接进度,如图所示:

在这里插入图片描述
在这里插入图片描述

当我们配置好了后,以后就只需要在网络控制中心点击宽带连接了,如图所示:
输入密码就可以连接,如图所示

在这里插入图片描述

快速连接成功,如图所示:

在这里插入图片描述

测试CBAC
我们打开浏览器,进行访问,其结果如图所示:
在这里插入图片描述

测试Qos

我们在虚拟机上测试,首先本地Windows 7可以向外网服务器发送默认字节的icmp包,如图所示:
在这里插入图片描述

然后我们设置包大小为1000,由于在接口上做的Qos限制包大小为1000bit,那么当超出这个阈值时,会自动丢弃该流量,如下图,我们设置包大小为1000bit,重复次数为8次,如图所示:
在这里插入图片描述

可以看到,该流量直接被丢弃
那么我们设置包大小为900bit时,则又能正常发送数据了,如图所示:

在这里插入图片描述

原文链接:http://www.ccieluo.cn/network_project/67.html

猜你喜欢

转载自blog.csdn.net/qq_17533907/article/details/120109061