实验3:访问控制列表实验
目录
4.1 实验一:AR28-11路由器的访问控制列表或者说防火墙的缺省过滤方式是允许通过还是禁止通过?... 4
4.2 实验二:禁止特定主机PC3访问PC5所在网络内的主机。... 5
4.3 实验三:禁止PC3所在的网络内的主机访问PC5所在网络内的主机。... 11
5.2.4 禁止特定网络201.1.1.0/192的所有主机访问FTP. 17
5.2.5 改变FTP的端口为2121后,禁止特定网络201.1.1.0/192的所有主机访问FTP 18
5.3 实验二:禁止使用QQ实验(假设PC5为QQ服务器,禁止网络上的主机访问QQ,即访问到特定主机PC5)。... 20
5.3.2 禁止特定网络201.1.1.0/192中的主机访问PC5. 23
6.3 关于ping命令与tracert命令在本实验中的思考... 25
6.4 访问控制列表中inbound与outbound. 26
图表 1实验拓扑图
图表 2路由器端口地址设计
序号 |
E0 |
E1 |
E2 |
A |
201.1.1.1 /24 |
201.1.2.1 /24 |
未设置 |
B |
201.1.3.129 /26 |
201.1.2.2 /24 |
201.1.3.65 /26 |
C |
201.1.1.2 /24 |
201.1.4.129 /27 |
201.1.4.65 /27 |
D |
201.1.3.130 /26 |
201.1.4.33 /29 |
201.1.4.66 /29 |
E |
201.1.4.97 /27 |
201.1.4.34 /27 |
201.1.3.66 /26 |
图表 3主机地址设计
主机号 |
IP地址 |
子网掩码 |
网关 |
7-1 |
201.1.4.130 /27 |
255.255.255.224 |
201.1.4.129 |
7-2 |
201.1.4.131 /27 |
255.255.255.224 |
201.1.4.129 |
7-3 |
201.1.4.132 /27 |
255.255.255.224 |
201.1.4.129 |
7-4 |
201.1.4.99 /27 |
255.255.255.224 |
201.1.4.97 |
7-5 |
201.1.4.98 /27 |
255.255.255.224 |
201.1.4.97 |
由于本次实验在模拟器上进行,RIP2实验结束时将每个路由器都执行了save命令,本次实验继续使用之前的topo文件,可以保证整个网络是来联通的,多余的主机ping路由器等截图不再列出。
图表 4主机7-1ping其余主机,由于屏幕限制主机7-3没有截到,重点在于网络已确认联通
实验步骤
- 启动路由器E的防火墙,不设置默认过滤方式。
- 检验主机7-1和主机7-5能否访问。
- 若能互相访问则说明缺省为允许,否则为禁止。
图表 5实验局部拓扑
图表 6路由器E启动防火墙
图表 7主机7-1仍然可以通过路由器E访问主机7-5
通过查询相关资料,小组成员了解到:
- 华为路由器的防火墙缺省过滤方式是允许所有数据包通过。
- H3C路由器默认防火墙缺省过滤方式是允许的。
- 思科路由器的防火墙缺省过滤方式是禁止通过。
- 设置访问控制列表之前查看其余主机能否访问主机7-5和7-4
- 设置正确的访问控制列表
- 查看其余主机能否访问主机7-5和7-4,正确的实验结果应该是只有主机7-3无法访问主机7-5和7-4
图表 8实验二局部拓扑图
该实验中,禁止特定主机PC3访问PC5所在网络内的主机,因此直接对路由器E端口设置访问控制即可,换句话说,设置Ee0端口禁止发送出源地址为主机7-3的数据包,或者设置Ee1、Ee2禁止接受来自主机7-3的数据包都可以。该实验中,选择了对Ee0进行设置。
图表 9实验前其余主机能够ping通主机7-5和7-4,其余主机截图不再展示
图表 10实验前对拓扑图中红线进行数据抓包,此图为Ee0,(在实验分析中会用到)
图表 11实验前对拓扑图中红线进行数据抓包,此图为Ee1
可以发现ping命令使用ICMP协议,从数据来看ping的过程是一来一回,即请求报文和响应报文。
图表 12对路由器Ee0端口设置禁止发送主机7-3的数据包
图表 13设置完成后主机7-3访问失败
图表 14设置完成后主机7-3再次ping主机7-5,同时进行抓包,此路为Ee1
图表 15设置完成后主机7-3再次ping主机7-5,同时进行抓包,此图为Ee0
图表 16路由器E局部放大分析(红线为数据包抓包线路)
图表 17主机7-3访问失败的同时,利用主机7-1ping主机7-4和7-5,成功
- 结合局部拓扑以及两个数据抓包结果,可以看到正常情况下ping命令执行时源地址发送一个request数据包,目的地址会返回一个reply数据包。
- 图标14和15显示:Ee1端口接收到了主机7-3的请求报文并转发给Ee0,然而Ee0端口却并没有发现该报文。说明该端口丢弃了来自主机7-3的报文。
- 经过实验,小组成员发现:在这样一种情况下,主机7-5也无法ping通主机7-3,我们当时认为实验没有做好,觉得7-5可以ping通7-3。
- 结合数据报文分析,小组成员发现主机7-5的请求报文可以发送到主机7-3,这时主机7-3会发送响应报文,但是该报文会被Ee0丢弃。因此主机7-5可以单方向访问主机7-3,但主机7-3的相应却无法发送到主机7-5。也就是说,主机7-3ping主机7-5时,主机7-3发出的request报文到达路由器E时被丢弃;换过来,主机7-5ping主机7-3时,7-5发出的request报文能够发送给主机7-3,而主机7-3发回的reply报文同样经过路由器E时被丢弃。因此两端都无法ping通。
- 在此之外,小组成员又尝试利用tracert命令,发现可以根据路由表一直从路由器C跳转到路由器E的端口但却一直无法通过(截图不再列出),通过数据抓包发现tracert机制是每经过一跳返回一个报文,因此tracert同样无法互相到达,对主机7-3而言,tracert会在路由器E处停止;如果主机7-5tracert主机7-3则会在主机7-3处停止而且无法显示出IP地址。
- 综上所诉实验成功。
该实验主要利用rule命令里的反子网掩码比对参数。上一个实验中要求只屏蔽主机7-3的访问,因此源地址为主机7-3的IP地址,反子网掩码为0.0.0.0。
在该实验中,根据本拓扑结构,主机7-3所在的网络是201.1.4.128/27,因此需要的操作是计算出相应的反子网掩码,并且将该条规则添加进访问控制列表。具体操作如下:
图表 18实验前主机7-1可访问主机7-5所在网络,
7-2也可以,7-3由于上次实验规则为删除无法访问,不再一一列出截图。
图表 19添加访问规则
图表 20主机7-3所在网络无法访问
图表 21该实验地址分配与上一实验完全相同,并且将所有的主机换成了ftp客户机与服务器
图表 22在模拟器中设置ftp服务器
图表 23设置ftp服务器端口号并启动服务器
图表 24客户机7-1登陆ftp成功
图表 25客户机7-1向服务器上传文件成功
文件上传成功,说明主机能够正长登陆ftp服务器,其余主机截图不再展示。
该实验同样设置访问控制列表,与之前实验设置Ee0端口即可。
图表 26添加访问规则
图表 27添加限制后客户机7-3无法登陆ftp服务器
图表 28同网络下主机7-2上传成功,说明操作准确
图表 29添加访问规则,禁止特定网络访问ftp
图表 30网络下主机访问失败
其余主机同样无法访问,不再列出截图。
实验步骤:
- 该实验在上次实验前提下,直接将ftp服务器端口号更改为2121。
- 查看特定网络能否访问ftp服务器并且上传文件。
- 分析实验结果,理解高级访问控制列表过滤原理。
实验截图如下:
图表 31更改ftp服务器端口号为2121并启动
图表 32在主机7-1上更改端口号,显示登陆成功,其余主机不再列出截图
图表 33更改端口号以后上传文件成功
实验分析:
基本访问控制列表只使用源地址描述数据,表明是允许还是拒绝。
高级访问控制列表使用除源地址外更多的信息描述数据包,表明是允许还是拒绝。
说明:在进行该实验前,本小组将模拟器进行了重启,重启之前没有执行save命令,因此之前实验的访问控制列表已经不在,不需要执行undo操作。
图表 34实验前主机7-3能访问主机7-5和7-4
图表 35新建访问控制列表并设置到端口
图表 36设置完成后主机7-3能ping通主机7-4却无法ping通主机7-5,说明操作成功
图表 37设置完成后主机7-1能ping通主机7-4和主机7-5,说明反子网掩码计算正确
接着实验5.2,再添加一条规则即可。
图表 38添加禁止特定网络访问的规则
图表 39添加规则后主机7-1、7-2、7-3无法访问主机7-5,但可以访问7-4
(不再一一列出截图)
访问控制列表(ACL)是应用在路由器接口的指令列表。这些指令列表用来告诉路由器哪些数据包可以通过,哪些数据包需要拒绝。ACL使用包裹里从技术,在路由器上读取OSI七层模型的第三层和第四层包头中的信息,如源地址、目的地址、源端口、目的端口等。根据预先设定好的规则对包进行过滤,从而达到访问控制的目的。
通过本实验,我们发现其实际应用有:
- 阻止某个网段访问服务器
- 阻止A网段访问B网段,但B网段可以访问A网段。
- 禁止某些端口进入网络,可达到安全性。
来源:http://blog.51cto.com/luckyman/933676
在本次实验中,我们并没有具体在一个单独实验中测试,通过查阅相关资料,我们发现:
IPv4 ACL支持两种匹配顺序:
- 配置顺序:按照用户配置规则的先后顺序进行规则匹配。
- 自动排序:按照“深度优先”的顺序进行规则匹配。
- 基本IPv4 ACL的“深度优先”顺序判断原则如下
- 先看规则中是否带***实例,带***实例的规则优先;
- 再比较源IP地址范围,源IP地址范围小(反掩码中“0”位的数量多)的规则优先;
- 如果源IP地址范围相同,则先配置的规则优先。
- 高级IPv4 ACL的“深度优先”顺序判断原则如下
- 先看规则中是否带***实例,带***实例的规则优先;
- 再比较协议范围,指定了IP协议承载的协议类型的规则优先;ip协议的范围为1—255,承载在ip上的其他协议有各自的协议号。协议范围小或协议号小的优先。如承载在ip上的协议如OSPF和GRE的协议号分别为89和47,那么GRE的优先级将高于ospf,承载在ip上的其他协议都优于ip。
- 如果协议范围相同,则比较源IP地址范围,源IP地址范围小(反掩码中“0”位的数量多)的规则优先;
- 如果协议范围、源IP地址范围相同,则比较目的IP地址范围,目的IP地址范围小(反掩码中“0”位的数量多)的规则优先;
- 如果协议范围、源IP地址范围、目的IP地址范围相同,则比较四层端口号(TCP/UDP端口号)范围,四层端口号范围小的规则优先;
- 如果上述范围都相同,则先配置的规则优先。
- 二层ACL的“深度优先”顺序判断原则如下
- 先比较源MAC地址范围,源MAC地址范围小(掩码中“1”位的数量多)的规则优先;
- 如果源MAC地址范围相同,则比较目的MAC地址范围,目的MAC地址范围小(掩码中“1”位的数量多)的规则优先;
- 如果源MAC地址范围、目的MAC地址范围相同,则先配置的规则优先。
ping命令和tracert命令都是网际控制报文协议ICMP(Internet Control Message Protocol)的应用。ICMP属于IP层的协议。ICMP报文作为IP数据报的数据,加上数据报的首部,作为其中的数据部分, 组成IP数据报发送出去。
图表 40ICMP报文的格式
假设A路由器PING B路由器,A路由器会先发一个ICMP ECHO报文(TYPE=8,CODE=0),如果2台设备之间路由是可达的,B收到后会回一个ICMP REPLY的报文(TYPE=0,CODE=0)。ping命令也可以显示经过的跳数,这样也可以通过PING命令查看我经过了哪几跳,每一跳的IP地址,命令参数是-R。但不是所有的路由器均支持该命令,并且IP首部中留给选项的空间有限,不能存放太多的路径,一般最多就只能存放9个IP地址。
Traceroute从源主机向目的主机发送一连串的IP数据报,数据报中封装的是无法交付的UDP用户数据报。
第一个数据报P1的生存时间TL设置为1。当P1到达路径上的第一个路由器R时,路由器R1先收下它,接着把TTL的值减1,由于TTL等于零了,R1就把PI丢弃了,并向源主机发送一个ICMP时间超过差错报告报文。
源主机接着发送第二个数据报P2,并把TTL设置为2。P2先到达路由器R1,R1收下后把TTL减1再转发给路由器R2。R2收到P2时TTL为1,但减1后TTL变为零了。R2就丢弃P2,并向源主机发送一个ICMP时间超过差错报告报文。
这样一直继续下去。当最后一个数据报刚刚到达目的主机时,数据报的TTL是1。主机不转发数据报,也不把TTL值减1。但因IP数据报中封装的是无法交付的运输层的UDP用户数据报,因此目的主机要向源主机发送ICMP终点不可达差错报告报文。
这样,源主机达到了自己的目的,因为这些路由器和最后目的主机发来的ICMP报文正好给出了源主机想知道的路由信息--到达目的主机所经过的路由器的IP地址,以及到达其中的每一个路由器的往返时间。
在基本访问控制列表实验中,我们设置了禁止特定主机PC3访问PC5所在网络内的主机。访问控制列表设置完成后,主机7-3自然无法ping通主机7-5。
与此同时,小组成员也发现主机7-5也无法ping通主机7-3,认为实验没有成功。后来仔细分析ping命令工作方式,结合数据抓包,观察request和reply报文才明白原来是主机7-3的报文被访问控制列表禁止通过,无法访问主机7-5,而主机7-5的数据包可以成功发送给主机7-3,即单向访问,也就是说,主机7-3ping主机7-5时,主机7-3发出的request报文到达路由器E时被丢弃;换过来,主机7-5ping主机7-3时,7-5发出的request报文能够发送给主机7-3,而主机7-3发回的reply报文同样经过路由器E时被丢弃。因此无论ping还是tracert都是不能成功的。
最后用个人的理解方式来看,ping命令相当于去一次回一次,即发送数据包,不断转发,一直到达目的地址之后,目的主机再发送一个数据报返回给源地址。而tracert命令由于有TTL的限制每经过一跳就要做一个来回,每次能够向前一步。
图表 41路由器E局部拓扑
Inbound和outbound是相对的,都是对路由器而言。Inbound是进图路由器的方向,outbound是路由器的发送方向。以基本访问控制列表的实验一为例,如上图所示,要禁止主机7-3访问主机7-5所在的网络,那么可以设置端口e1、e2为inbound拒收主机7-3发来的数据包,也可以设置e0为outbound拒绝发送主机7-3的数据包。
实验中,由于对反子网掩码多次计算错误导致实验失败。
反掩码即路由器使用的通配符掩码,与源或目标地址一起来分辨匹配的地址范围,跟子网掩码刚好相反。它像子网掩码告诉路由器IP地址的哪一位属于网络号一样,通配符掩码告诉路由器为了判断出匹配,它需要检查IP地址中的多少位。在子网掩码中,将掩码的一位设成1表示IP地址对应的位属于网络地址部分。在反子网掩码中,掩码位设成0则表示IP地址中相对应的位必须精确匹配,1表示忽略比较。
简单来说反掩码就是通配符掩码,通过标记0和1告诉设备应该匹配到哪位。由于跟子网掩码刚好相反,所以也叫反掩码 例如掩码是255.255.255.0 反掩码就是0.0.0.255 在反掩码中,0表示需要比较,1表示不需要比较. 对于:0.0.0.255 只比较前24位 0.0.3.255 只比较前22位 0.255.255.255 只比较前8位
可以发现的规律是:反掩码与子网掩码相对就的总和是255 如:子网掩码是255.255.223.0 反向就为:0.0.32.255
通过查阅相关资料,小组成员了解到:
- 华为的防火墙缺省过滤方式是允许所有数据包通过。
- H3C默认防火墙缺省过滤方式是允许的。
- 思科的防火墙缺省过滤方式是禁止通过。
组长 |
组员 |
组员 |
组员 |
组员 |
|
|
|
|
|
来源:CSDN
作者:qq_39122882
链接:https://blog.csdn.net/qq_39122882/article/details/84848296