一、ACL(访问控制列表)
1、作用
- 流量转发控制—在路由器流量的入(出)接口上匹配流量产生动作(允许或拒绝)
- 定义感兴趣流量—帮助系统策略协议进行流量抓取
2、匹配规则
- 至上而下逐一匹配,上条匹配按上条执行,不再查看下条
- 在末尾,思科默认拒绝所有,华为默认允许所有
3、分类
- 标准:仅关注数据包中的源IP地址
- 扩展:关注数据包中的源IP,目标IP,协议号以及目标端口号
4、标准ACL配置
- 由于标准ACL仅关注数据包中的源IP,所以在调用时应该尽量靠近目标,避免对流量造成误删
- 在一台路由器上可以创建多张编号的表格,一个编号为一张表;在路由器的一个接口上的一个方向只能调用一张表
[r2]acl 2000 //创建ACL表格编号2000; 编号范围2000-2999为标准列表
[r2-acl-basic-2000]rule deny source 192.168.1.2 0.0.0.0
[r2]interface g0/0/1
[r2-GigabitEthernet0/0/1]traffic-filter outbound acl 2000
//ACL编写完成后,必须在接口调用后方可工作
源ip 在定义时可以为所有,也可以使用通配符匹配;通配符与ospf使用的反掩码,唯一区别在于通配符可以0与1穿插出现;
5、扩展ACL配置
由于扩展ACL精确匹配流量中的地址,故调用时尽量靠近源,尽早的处理流量,避免浪费资源
(1)仅关注源IP和目标IP
[r1]acl 3000 //扩展ACL的编号为3000-3999
[r1-acl-adv-3000]rule deny ip source 192.168.1.2 0.0.0.0 destination 192.168.3.2 0.0.0.0
(2)同时关注协议号、目标端口号
ping 服务为协议icmp
Telnet服务协议为TCP,目标端口为23
[r1-acl-adv-3001]rule deny tcp source 192.168.1.10 0.0.0.0 destination 192.168.1.1 0.0.0.0 destination-port eq 23
//该条ACL拒绝了192.168.1.10对192.168.1.1的telnet远程登录服务
[r1-acl-adv-3002]rule deny icmp source 192.168.1.10 0.0.0.0 destination 192.168.1.1 0.0.0.0
//拒绝192.168.1.10 对192.168.1.1 的icmp访问--ping
二、NAT(网络地址转换)
IPv4地址中存在私有地址和共有地址,区别是:
- 共有地址:具有全球唯一性,可在互联网中通信,需要费用
- 私有地址:具有本地唯一性,不能在互联网中通信,无需付费
私有地址:10.0.0.0/8、172.16.0.0.0/16-172.32.0.0/16、192.168.0.0/24-192.168.255.255/24
1、NAT:网络地址转换
边界路由器上进行私有、公有IP地址之间的转换
分类:
- 一对一:内部的一个私有IP地址转换为唯一的一个公有IP地址
- 一对多:内部的多个私有IP地址转换为同一个公有IP地址
- 多对多:内部的多个私有IP地址转换为多个公有IP地址
- 端口映射:基于一个公有IP地址的特定端口进行转换
所有NAT的配置地点均在边界路由器连接公网的外部接口上配置
(1)一对多
简单的常用转换方式;属于动态性(PAT端口地址转换)
多个私有地址共用一个公有IP时,为了实现同时收发数据,在IP地址被转换为同一个公有地址的同时,还需要使用不同的端口号来进行区分,由于端口号数量的限制,在内部存在大量的流量进入互联网时,若超过65536时,只能排队等候,导致网络延时,可以启动多对多
配置:
先使用ACL将可以被转换私有ip地址抓取出来, 配置一对多在边界路由器连接公网的接口上;使acl2000列表中关注的私有ip地址在通过该接口进出时可以被转换该接口上配置的公有ip地址;
[r2]acl 2000
[r2-acl-basic-2000]rule permit source 192.168.0.0 0.0.255.255
[r2-acl-basic-2000]q
[r2]int g0/0/2
[r2-GigabitEthernet0/0/2]nat outbound 2000
(2)多对多
当内部存在大量的私有IP地址时,为保障网络的传输效率,需要多个公有IP地址循环提供端口来进行地址转换
配置:
在边界路由器连接公网的外部接口上配置,将acl2001的私有地址在通过该接口进出时,循环转换为地址组1中的各个公有ip的各个端口号;
[r2]acl 2001
[r2-acl-basic-2001]rule permit source 192.168.0.0 0.0.255.255 //私有地址范围
[r2]nat address-group 1 12.1.1.3 12.1.1.10 //公有ip地址范围
[r2-GigabitEthernet0/0/2]nat outbound 2001 address-group 1
若在多对多的命令末尾添加no-pat单词,那么将成为静态nat,最先出来的私有ip将一对一与这些公有ip形成静态的绑定关系,使得后出来的私有ip不能再被转换为公有
[r2-GigabitEthernet0/0/2]nat outbound 2001 address-group 1 no-pat
(3)一对一
配置:
在边界路由器上连接公网的外部接口上,固定的将内部192.168.1.10与外部12.1.1.3进行绑定
[r2-GigabitEthernet0/0/2]nat server global 12.1.1.3 inside 192.168.1.10
(4)端口映射
将边界路由器上的公有IP地址的某个特定端口与内部单个IP地址的特定端口进行映射
配置:
当外部访问R2 的G0/0/2口上的ip地址,且目标端口为80时,目标ip地址将被转换为192.168.1.10的80端口
[r2-GigabitEthernet0/0/2]nat server protocol tcp global current-interface 80 inside 192.168.1.10 80
Warning:The port 80 is well-known port. If you continue it may cause function failure.
Are you sure to continue?[Y/N]:y
外部访问r2的g0/0/2口ip地址,且目标端口为8080时,将目标ip地址修改为192.168.1.20,目标端口修改为80;
[r2-GigabitEthernet0/0/2]nat server protocol tcp global current-interface 8080 inside 192.168.1.20 80