访问控制列表、NAT地址转换
一、访问控制列表(ACL)
1.简单介绍
访问控制列表(ACL)是一种基于包过滤的访问控制技术,它可以根据设定的条件对接口上的数据包进行过滤,允许其通过或丢弃。
2.工作原理
ACL的工作原理与防火墙原理大致相同,其主要应用在接口上,根据接口应用的方向不同(数据的传输方向)处理数据也不相同。
(1)读取第三层、第四层包头信息(IP头部、TCP头部)
(2)根据预先定义好的规则对包(IP、TCP头部中的源地址,目的地址,源端口,目的端口以及数据)进行过滤
(3)通信四元素:源地址,目的地址,源端口,目的端口
(4)通信五元素:源地址,目的地址,源端口,目的端口、协议
3.接口应用的方向
出口(F1/0):已经过路由器的处理,正离开路由器接口的数据包
入口(F0/0):已到达路由器接口的数据包,将被路由器处理
4.作用
用于过滤经过接口的数据包,根据规则要么放通,要么丢弃
5.ACL四配原则
一个接口的一个方向只能调用一个ACL,一个ACL可配置多条规则,匹配时是从上往下依次匹配,匹配到即停止,华为设备默认放通所有
6.ACL四配原则类型:
基本ACL (2000~2999) 只能匹配源IP地址
高级ACL (3000~3999) 可以匹配源IP、目的IP、源端口、目标端口等三层和四层的字段和协议
二层ACL(4000~4999) 根据数据包的源MAC地址、目的MAC地址、802.1q优先级、二层协议类型等二层信息制定规则(仅做了解)
7.常用命令
//创建acl id
acl number <ID>
//permit:允许;deny:拒绝;source:源地址;desination:目的地址
rule permit/deny [协议] [source/destination] <IP> <反掩码> eq <端口>
//进入接口
int <接口>
//在入/出接口调用acl id
traffic-filter inbound/outbound acl <ID>
8.实验
问题1:仅允许PC1访问PC3网址(192.168.2.0/24)?
我们先设置主机信息
然后设置路由器端口的IP地址
设置完后PC1和PC2ping PC3都可以ping成功(不符合题意)
所以我们要在路由器上设置个访问控制列表ACL仅PC1允许访问!!!
设置完成后,我们再来测试一下,结果如下图所示:
问题2:禁止192.168.1.0/24 ping Web服务器如何操作?
首先设置 Web Server信息
然后设置访问控制列表ACL,这是我们要设置高级ACL,因为这次的操作不单单涉及源地址还涉及到协议
接下来我们要调用接口,我们选g0/0/1,因为该接口是出方向的接口,所以命令里选用outbound
设置完了以后我们就来测试一下,结果如下图(我们可以看出主192.168.1.0的网址去ping WebServer都不成功,但是我们用Client1给Web Server发送ARP请求却是成功的)
问题3:仅允许Client访问Web服务器的WWW服务如何操作?
再添加一个Client,两个来测试
接下来设置操作指令:
设置完成后我们用两个Client来测试一下
二、NAT地址转换
1.NAT的概述
NAT (Network Address Translation) 又称为网络地址转换,用于实现私有网络和公有网络之间的互访。
私有网络地址和公有网络地址
公有网络地址(以下简称公网地址)是指在互联网上全球唯一的IP地址。2019年11月26日, 是人类互联网时代值得纪念的一天,全球近43亿个IPv4地址已正式耗尽。
私有网络地址(以下简称私网地址)是指内部网络或主机的IP地址,IANA(互联网数字分配机构)规定将下列的IP地址保留用作私网地址,不在Internet.上被分配,可在一个单位或公司内部使用。RFC1918中规定私有地址如下:
A类私有地址: 10.0.0.0~10.255.255.255
B类私有地址: 172.16.0.0~172.31.255.255
C类私有地址: 192.168.0.0~192 .168.255.255
2.NAT的工作原理:
●NAT用来将内网地址和端I1号转换成合法的公网地址和端[1号,建立一个会话,与公网主机进行通信
●NAT外部的主机无法主动跟位于NAT内部的主机通信,NAT内部主机想要通信,必须主动和公网的一个IP通信,路由器负责建立一个映射关系,从而实现数据的转发
3.NAT功能:
NAT不仅能解决了IP地址不足的问题,而且还能够有效地避免来自网络外部的入侵,隐藏并保护网络内部的计算机。
1.宽带分享:这是NAT主机的最大功能。
2.安全防护: NAT之内的IP联网到外网上面时,他所显示的IE是NAT主机的公网IP,所以client端的IP就具有一定程度的安全了,外界在进行portscan (端口扫描)的时候,就侦测不到源Client端的IP地址了。
数据包从内网发往外网时,NAT会将数据包源IP转换成公网地址,当响应的数据包要从外网发给内网时,NAT会将包的目的IP由公网地址转换成私网地址
4.NAT的优缺点:
优点:节省公有合法IP地址、处理地址重叠、增强灵活性、安全性
缺点:延迟增大、配置和维护的复杂性、不支持某些应用(比如VPN)
5.NAT的分类:
静态NAT
静态NAT实现私网地址和公网地址的一对一转换。有多少个私网地址就需要配置多少个公网地址。静态NAT不能节约公网地址,但可以起到隐藏内部网络的作用。
内部网络向外部网络发送报文时,静态NAT将报文的源IP地址替换为对应的公网地址:外部网络向内部网络发送响应报文时,静态NAT将报文的目的地址替换为相应的私网地址
首先我们要设置主机PC1,PC2,交换机。路由器,server和client的配置:
第一种:全局模式下设置静态NAT
[R1] nat static global 10.10.10.20(我们设置一个外网地址) inside 192.168.1.2(所要代替的内网地址)
[R1] int g0/0/1 ###进入外网接口
[R1-Gigabi tEthernet0/0/1] nat static enable ###在网口中启动静态nat功能
然后抓包看一下:
第二种:直接在接口上声明nat static
[R1] int g0/0/1 ###进入外网接口
[R1] nat static global 10.10.10.100(我们设置一个外网地址) inside 192.168.1.1(所要代替的内网地址)
然后抓包看一下:
动态NAT:
多个私网IP地址对应多个公网IP地址,基于地址池一对一映射
1、定义合法IP地址池
[R1] nat address-group 1 10.10.10.10 10.10.10.50 ##新建一个名为1的nat地址池
[R1] acl 2000 ##定义acl 2000
[R1]rule permit source any ##创建ACL,允许任意网段通过
[R1]int g0/0/1 ##进入外接口
[R1] nat outbound 2000 address-group 1 no-pat ##将ACL 2000匹配的数据转换为改接口的IP地址作为源地址(no pat不做端口转换,只做IP地址:转换,默认为pat )
2、EasyIp:多个私网IP地址对应路由器外网接口的公网IP地址表
[R1]acl 3000
[R1-acl-adv-3000]rule permit ip source any ###允许所有源地址的数据都能通过
[R1-acl-basic-2000]int g0/0/1 ###外网口
[R1-GigabitEthernet0/0/1]nat outbound 3000
###当acl3000匹配的源IP数据到达此接口时,
转换为该接口的IP地址做为源地址
[R1]display nat session all ###查看NAT的流表信息
3.NAT Server的配置
新建一个拓扑图,放入两个PC主机、一个交换机SW1、一个路由器AR1、一个Client和一个Server
首先设置PC主机、路由器AR1、Client和Server的信息配置:
[R1]int g0/0/1
[R1-GigabitEthernet0/0/1]nat server protocol tcp global current- interface 9912 inside 192.168.1.3 80
###在连接公网的接口上将私网服务器地址和公网地址做一对NAT映射绑定
###current- interface 代表外接口的IP地址
### 9912代表端口号