访问控制 列表ACL 用途很广,很多方面都要用到ACL。 1. 实现网络的安全访问,对访问网络的流量进行过滤; 2.网络地址转换(NAT); 3.QOS及策略路由。 策略:要求1.1和1.2可以访问财务部(1.1和1.2是销售部经理),其他不允许访问财务. ● 标准 访问控制列表: Rou
访问控制列表ACL
用途很广,很多方面都要用到ACL。
1. 实现网络的安全访问,对访问网络的流量进行过滤;
2.网络地址转换(NAT);
3.QOS及策略路由。
策略:要求1.1和1.2可以访问财务部(1.1和1.2 是销售部经理),其他不允许访问财务.
● 标准访问控制列表:
Router(config)#access-list 编号 策略 源地址
编号: 标准访问控制列表范围.用1--- 99表示
策略: permit允许 | deny 拒绝
源地址: 要严格检查的地址( IP+通配符掩码 )
通配符掩码-----是用来限定特定的地址范围 (反掩码)
用0 表示严格匹配
用1 表示不检查
(为了确定一个具体的主机地址是否匹配条件。路由器必须检查IP地址的每一位 32 比特。
路由器是怎么知道要检查比特位是多少------通配符掩码)定义了要检查IP地址的位数。
例如:对于主机172.16.1.1 通配符掩码 0.0.0.0 32位都要检查
对于主网 172.16.0.0/16 通配符掩码 0.0.255.255 检查16位
对于子网 172.16.1.0/24 通配符掩码 0.0.0.255 24位要检查
任意的 0.0.0.0 通配符掩码 255.255.255.255 不检查
主机----host 172.16.1.1 任意----any 表示
通配符掩码 = 255.255.255.255 - 子网掩码 也称为反掩码
策略:要求1.1和1.2可以访问财务部(1.1和1.2 是销售部经理),其他不允许访问财务.
1.写表:Router(config)#access-list 1 permit host 172.16.1.1
Router(config)#access-list 1 permit 172.16.1.2 0.0.0.0
(表示两台主机允许)
Router(config)#access-list 1 deny any 系统默认拒绝所有
2.执行:Router(config)#interface f0/0
Router(config-if)#ip access-group 1 in
访问控制列表检查数据包的过程: 从上到下,逐条执行。
● 扩展的访问控制列表
标准访问控制列表只能根据源地址来检查数据包,它允许/拒绝的是整个TCP/IP协议集的数据.功能有限.
扩展的访问控制列表可以根据 源和目的地址,协议, 源和目的端口等来检查数据包.更加灵活,条件细化.
扩展的访问控制列表格式
Router(config)# access-list 编号 策略 协议 源地址 目的地址 端口
编号:扩展的访问控制列表范围 用(100--199)表示
策略:permit允许 | deny 拒绝
协议:检查特定协议的数据包 如TCP UDP ICMP
端口:协议的端口号
ICMP协议 3层 网络控制消息协议(测试网络连通性)
ECHO ICMP请求
ECHO Repley ICMP应答
TCP协议:HTTP 80 超文本传输协议(www服务)
FTP 21 文件传输协议
SMTP 25 简单邮件传输协议(发送邮件)
POP3 110 第三版邮局协议(接收邮件)
TELNET 23 远程登录协议
UDP协议:
TFTP 69 简化的文件传输协议
DNS 53 域名解析协议
DHCP 67 动态主机配置协议
SNMP 161 简单网络管理协议
实验:
要求: 禁止1.2和1.3 Telnet R2 192.168.2.2
允许其他流量.
1. 写表: eq =
R1(config)# access-list 100 deny tcp host 192.168.1.2 host 192.168.2.2 eq 23
R1(config)# access-list 100 deny tcp host 192.168.1.3 host 192.168.2.2 eq 23
R1(config)# access-list 100 permit ip any any
2. 执行:
R1(config)# interface f0/0
R1(config-if)# ip access-group 100 in
测试:1.2 和 1.2可以ping通2.2,但不能Telnet R2 192.168.2.2 。
说明:扩展的访问控制列表 可以控制基于源/目的IP和端口。条件细化,非常灵活,在当前企业网络应用较为广泛。
控制Telnet会话
登录路由器有两种方法:
● 一种是通过本地控制台端口(CONSOLE )直接操作.
● 另一种是远程控制.在远程控制中最常用的方法Telnet,只要知道路由器的任意一个物理接口地址和Telnet口令,并且存在路由,就可以远程操作路由器.
为了提高安全性,有时要对Telnet进行控制.
一种是在物理线路上设置访问控制列表--------比较麻烦
另一种方法是在Telnet使用的虚拟口(VTY 0--4)上设置访问控制列表------比较简单
配置
Router(config)# access-list 12 permit 192.168.1.1 0.0.0.0
# access-list 12 permit 192.168.1.2 0.0.0.0
Router(config)#line vty 0 4
Router(config-line)# access-class 12 in
标准访问列表和扩展访问列表比较
标准 |
扩展 |
基于源地址 |
基于源地址和目标地址 |
允许和拒绝完整的TCP/IP协议 |
指定TCP/IP的特定协议和端口号 |
编号范围 1-99 |
编号范围 100-199 |
基于编号的访问列表的缺陷:
不能单独删除某条语句
R1(config)#no access-list 100
把access-list 100 删除后,重新写表.(不可以删除语句的)
命名访问列表
R(config)#ip access-list standard/extended r2-telnet
标准 扩展 名字
R1(config)#ip access-list extended rich
R1(config-ext-nacl)#deny tcp host 172.16.1.2 host 172.16.2.2 eq 23
R1(config-ext-nacl)#deny tcp host 172.16.1.5 host 172.16.2.2 eq 23
R1(config-ext-nacl)#permit ip any any
(R1(config-ext-nacl)#deny ip any any)
R1(config)#interface E0
R1(config-if)# ip access-group rich in
var cpro_id = "u6885494";