用ACL构建防火墙体系
通配符掩码是一个32比特位的数字字符串,它被用点号分成4个8位组,每组包含8比特位。在通配符掩码位中,0表示“检查相应的位”,1表示“不检查相应的位”。通配符掩码与IP地址是成对出现的,通配符掩码与子网掩码工作原理是不同的。在IP子网掩码中,数字1和0用来决定是网络、子网,还是相应的主机的IP地址。如表示172.16.0.0这个网段,使用通配符掩码应为0.0.255.255。
在通配符掩码中,可以用255.255.255.255表示所有IP地址,因为全为1说明所有32位都不检查相应的位,这是可以用any来取代。而0.0.0.0的通配符掩码则表示所有32位都要进行匹配,这样只表示一个IP地址,可以用host表示。所以在访问控制列表中,可以选择其中一种表示方法来说明网络、子网或主机。
实现方法
首先在全局配置模式下定义访问列表,然后将其应用到接口中,使通过该接口的数据包需要进行相应的匹配,然后决定被通过还是拒绝。并且访问列表语句按顺序、逻辑地处理,它们在列表中自上向下开始匹配数据包。如果一个数据包头与访问权限表的某一语句不匹配,则继续检测列表中的下一个语句。在执行到访问列表的最后,还没有与其相匹配的语句,数据包将被隐含的“拒绝”语句所拒绝。
标准IP访问控制列表
在实现过程中应给每一条访问控制列表加上相应的编号。标准IP访问控制列表的编号为1至99,作用是阻止某一网络的所有通信流量,或允许某一网络的所有通信流量。语法为:
Router(config)#access-list access-list-number(1~99)
{deny|permit} source [source-wildcard]
如果没有写通配符掩码,则默认值会根据源地址自动进行匹配。下面举例来说明:要阻止源主机为
192.168.0.45的一台主机通过E0,而允许其他的通讯流量通过E0端口。
Router(config)#access-list 1 deny 192.168.0.45 0.0.0.0
或Router(config)#access-list 1 deny host 192.168.0.45
或Router(config)#access-list 1 deny 192.168.0.45
Router(config)#access-list 1 permit any
Router(config)#interface ethernet 0
Router(config-if)#ip access-group 1 in
首先我们在全局配置模式下定义一条拒绝192.168.0.45主机通过的语句,通配符掩码可以使用0.0.0.0或host,或使用缺省值来表示一台主机,然后将其访问列表应用到接口中。如果现在又修改了计算机的IP地址,那么这条访问控制列表将对您不起作用。