3W1H学习方法(what、why、where、how)
What:ACL访问控制列表是应用在路由器接口的质量列表(即规则)
Why:为了实现网络安全对数据流量进行控制
Where:路由器、三层交换
原理:ACL是一组规则的集合,它应用在路由器的某个接口上。对路由器而言,是分出站和进站方向的。出站指的是已经过路由器的处理,正离开路由器的数据
包;进站是指,刚刚到达路由器将要处理的数据包。如果对应的接口应用了ACL,也就是说明该接口应用了一组规则,路由器将按照这组规则的顺序对数据包检
查。
ACL分为三种类型:标准ACL、扩展ACL和命名ACL
标准ACL是依据数据包的源IP地址来允许活拒绝数据包,ACL号是1~99
扩展ACL是依据数据包源IP地址、目的IP地址、指定协议、端口和标识来允许活拒绝数据包,ACL号是100~199
命名ACL就是标准ACL和扩展ACL中使用名称来代替ACL号,命名ACL可以删除单条ACL语句,而不必删除整个ACL
配置之前需要注意
ACL隐藏语句:每一个ACL都隐含一条拒绝语句,拒绝所有流量
关键字:host、any
host代表主机,如果仅仅拒绝或允许某一网段的一台主机的流量,可以在permit|deny
后加上host关键字然后再加上这台主机的IP地址,如实验中所示
any代表任何网络,例如router(config)#access-list 1 permit
any 是允许任何网络的流量通过
如果要对一个网段做限制(如允许192.168.1.0网段的流量通过,可以这样配置)
router(config)# access-list 1 permit 192.168.1.0
0.0.0.255 网段后面添加对应的反码
标准ACL配置命令:
router(config)# access-list access-list-number {permit | deny}
source [source-wildcard]
access-list-number : ACL表号 1~99
permit|deny:允许和拒绝通信流量
source:源地址
source-sildcard:反向掩码
将配置好的ACL应用到对应的接口,这样ACL才会生效,命令:
router(config-if)# ip access-group access-list-number {in |
out}
其中in和out代表进站还是出站方向,根据环境要求去配置
实验要求:按照图中要求配置ACL标准列表
实验步骤:
1.配置路由器和交换机,实现全网互通,GNS3模拟器
2.分析实验要求,总结出在哪个路由器上进行配置并验证结果
3.删除ACL的方法,并验证是否全网互通
扩展ACL配置命令:
Router(config)# access-list
access-list-number { permit | deny } protocol { source
source-wildcard destination destination-wildcard
} [ operator operan ]
access-list-number : ACL表号 100~199
permit|deny:允许和拒绝通信流量
protocol:用来指定的协议类型,如IP,TCP,UDP等
source、destination:源、目的,分别用来标识源地址和目的地址
source-wildcard 、destination-wildcard:反向掩码分别与源和目的相对应
operator
operan:it(小于)、gt(大于)、eq(等于)、neq(不等于)一个端口号
案例1:允许网络10.0.0.0/8访问网络20.0.0.0/8的ip流量,而拒绝其他任何流量,配置命令如下:
Router(config)# access-list 100 permit ip 10.0.0.0
0.255.255.255 20.0.0.0 0.255.255.255
Router(config)# access-list 100 deny ip any
any
然后将ACL应用到对应的接口
案例2:拒绝网络10.0.0.0/8访问FTP服务器192.168.1.1/24的ip流量,而允许其他流量访问,配置命令如下:
Router(config)# access-list 101 deny tcp 10.0.0.0
0.255.255.255 host 192.168.1.1 eq 21
Router(config)# access-list 101 permit ip any
any
然后将ACL应用到对应的接口
命名ACL的配置:
第一步先定义命名ACL的名字和要使用的是标准ACL还是扩展ACL
Router(config)# ip access-list
{ standard | extended }
access-list-name
如果使用标准ACL配置如下:
Router(config-std-nacl)# [ Sequence-Number ] {
permit | deny } source [ source-wildcard
]
如果使用扩展ACL配置如下:
Router(config-ext-nacl)# [ Sequence-Number ] {
permit | deny } protocol { source source-wildcard
destination destination-wildcard
} [ operator operan ]
Sequence-Number
:(可选参数)表明配置的ACL语句在命令ACL中所处的位置,默认情况下第一条是10,第二条是20,以此类推,后面的实验中会讲到它的重要性。
实验要求:配置命令ACL
实验步骤:
1.配置好服务器的ftp和web服务、iP、路由,并且实现全网互通,这里就不配置了
2.按照实验要求配置命令ACL
3.验证 vlan10是否配置成功
验证vlan20是否配置成功
4.按照实验要求的第四步进行配置并验证效果
验证效果
实验完成