文章目录
一、访问控制表
1.概述
访问控制列表(ACL)是一种基于包过滤的访问控制技术,它可以根据设定的条件对接口上的数据包进行过滤,允许其通过或丢弃。
2.作用
(1)读取第三层、第四层包头信息;
(2)根据预先定好的规则对包进行过滤。其中过滤有两种形式,分别是allow(允许),deny(拒绝)。
3.工作原理
ACL的工作原理与防火墙原理大致相同,其主要应用在接口上,根据接口应用的方向不同(数据的传输方向)处理数据也不相同。
出接口:已经过路由器的处理(根据路由表进行转发),正离开路由器接口的数据包已到达路由器接口的数据包,将被路由器处理
入接口:已经过路由器的处理,正离开路由器接口的数据包已到达路由器接口的数据包,将被路由器处理
即在接口定义多条规则进行过滤数据包,然后从上往下依次进行匹配规则,匹配到规则即停止,要么放行,要么丢弃当数据包从接口经过时,由于接口启用了ACL,此时路由器会对报文进行检查,然后做出相应的处理。
4.ACL种类
基本ACL(2000-2999) :只能匹配源ip地址
高级ACL(3000-3999):可以匹配源ip、目标ip、源端口、目标端口等三层和四层的字段和协议(通信五元素)。
二层ACI (4000-4999)∶根据数据包的源wac地址、目的MAc地址、0802.1q优先级、二层协议类型等二层信息制定规则。(仅作了解即可)
5.应用原则
基本ACL:尽量用在靠近目的点
高级ACL:尽量用来靠近源的地方(可以保护带宽和其他资源)
6.应用规则
-
一个接口的同一个方向,只能调用一个ACL
-
一个ACL里面可以有多个rule规则,按照规则ID从小到大排序,从上往下依次执行
-
数据包一旦被某rule匹配,就不再继续向下匹配
-
用来做数据包访问控制时,默认隐含放过所有(华为设备)
7.常用命令
定义ACL
//创建acl id
acl number <ID>
//permit:允许;deny:拒绝;source:源地址;desination:目的地址
rule permit/deny [协议] [source/destination] <IP> <反掩码> eq <端口>
在接口的指定方向调用ACL
//进入接口
int <接口>
//在入/出接口调用acl id
traffic-filter inbound/outbound acl <ID>
8.相关实验
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bPd3OfBW-1679412180227)(F:\博客存放\ACL1.jpg)]](https://i-blog.csdnimg.cn/blog_migrate/17776f2c62d926cef3d190f976b36c5c.jpeg#pic_center)
定义R1的各个接口的ip地址
//进行管理模式
<Huawei>sys
//修改名称为R1
[Huawei]sys R1
//关闭信息提示
[R1]undo info-center enable
//进入R1的接口0/0/0
[R1]int g0/0/0
//添加IP地址为192.168.1.254 子网掩码位24
[R1-GigabitEthernet0/0/0]ip address 192.168.1.254 24
//进入R1的接口0/0/1
[R1-GigabitEthernet0/0/0]int g0/0/1
//添加IP地址为192.168.3.254 子网掩码位24
[R1-GigabitEthernet0/0/1]ip address 192.168.3.254 24
//进入R1的接口0/0/2
[R1-GigabitEthernet0/0/1]int g0/0/2
//添加IP地址为192.168.2.254 子网掩码位24
[R1-GigabitEthernet0/0/2]ip address 192.168.2.254 24
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9Pwc0fSZ-1679412180228)(C:\Users\86138\AppData\Roaming\Typora\typora-user-images\image-20230321152436560.png)]](https://i-blog.csdnimg.cn/blog_migrate/35f08ff72fb55b532a7d1598582bb4e7.jpeg#pic_center)
配置各个主机
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DcbaVP8L-1679412180229)(F:\博客存放\ACL3.jpg)]](https://i-blog.csdnimg.cn/blog_migrate/cc65949f23f99d0c00b27a4792a8e819.jpeg#pic_center)
要求1:完成相关配置,仅允许PC1可以和PC3实现互通
//创建acl 2000
[R1]acl 2000
//设置仅允许IP为192.168.1.1的一台主机访问
[R1-acl-basic-2000]rule permit source 192.168.1.1 0
//拒绝所有其他网络访问,因为华为交换机默认是允许所有,所以要拒绝所有
[R1-acl-basic-2000]rule deny source any
//退出acl模式
[R1-acl-basic-2000]q
//再次今天R1的0/0/0接口
[R1]int g0/0/2
//接口出方向调用acl 2000
[R1-GigabitEthernet0/0/2]traffic-filter outbound acl 2000
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7EstTt5a-1679412180229)(F:\博客存放\ACL4.jpg)]](https://i-blog.csdnimg.cn/blog_migrate/c616b32475fd63a133e8177e6acf973e.jpeg#pic_center)
ping结果应该是PC1可以ping通PC3,192.168.1.0网段的其他主机无法ping通,Server可以Ping通,效果图如下:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nQ5Q5Np3-1679412180229)(F:\博客存放\ACL5.jpg)]](https://i-blog.csdnimg.cn/blog_migrate/56bb5de4561e9d89c7bf4e8551d66292.jpeg#pic_center)
要求2:禁止192.168.1.0/24网段的设备ping Web服务器
//因为需要禁止ICMP中的ping命令,所以选择高级acl
[R1]acl 3000
//配置拒绝192.168.1.0网段可以和目标网段使用ICMP协议(此处就代表ping命令)
[R1-acl-adv-3000]rule deny icmp source 192.168.1.0 0.0.0.255 destination 192.168.3.1 0
//进入接口0/0/1
[R1-acl-adv-3000]int g0/0/1
//接口出方向调用acl 3000
[R1-GigabitEthernet0/0/1]traffic-filter onbound acl 3000
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-K45wy53D-1679412180230)(F:\博客存放\ACL6.jpg)]](https://i-blog.csdnimg.cn/blog_migrate/739218af290a42ada7799dc83f330857.jpeg#pic_center)
ping结果应该是192.168.1.0网段的主机无法ping通Server,PC3主机可以ping通Server,效果图如下:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JvLkAkkq-1679412180231)(F:\博客存放\ACL7.jpg)]](https://i-blog.csdnimg.cn/blog_migrate/e0bae60372a83a4cb99b18e3b16c079c.jpeg#pic_center)
要求3:仅允许client1访问Web服务器的www服务
//配置acl 3000
[R1]acl 3000
//允许192.168.1.3通过TCP协议访问服务器的wwww服务
[R1-acl-adv-3000]rule permit tcp source 192.168.1.3 0 destination 192.168.3.1 0 destination-port eq 80
//拒绝其他所有
[R1-acl-adv-3001]rule deny tcp source any
//查看规则是否配置成功,以及其他规则是否正确
[R1-acl-adv-3000]dis this
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HMCPByVH-1679412180231)(F:\博客存放\ACL8.jpg)]](https://i-blog.csdnimg.cn/blog_migrate/7d5a10c98177d1bb1f46c466836134aa.jpeg#pic_center)
http结果应该是Client 可以通过http访问Server,效果图如下:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vowQrEeq-1679412180231)(F:\博客存放\ACK9.jpg)]](https://i-blog.csdnimg.cn/blog_migrate/b6a984aab7c76d4c93ab739aac24b414.jpeg#pic_center)
二、地址转换
1.NAT概念
NAT(Network Address Translation)称为网络地址转换,用于实现私有网络和公有网络之间的互访。
2.工作原理
NAT用来将内网地址和端口号转换成合法的公网地址和端口号,建立一个会话,与公网主机进行通信
NAT外部的主机无法主动跟位于NAT内部的主机通信,NAT内部主机想要通信,必须主动和公网的一个IP通信,路出器负责建立一个映射关系,从而实现数挥的转发
3.功能
NAT不仅能解决了IP地址不足的问题,而且还能够有效地避免来自网络外部的入侵,隐藏并保护网络内部的计算机。其中宽带分享和安全防护是主要功能
(1)宽带分享:这是NAT主机的最大功能。
(2)安全防护:NAT之内的PC联机到Internet上面时,他所显示的IP是NAT主机的公网IP,所以Client端的PC就具有一定程度的安全了,外界在进行portscan(端口扫描)的时候,就侦测不到源Client端的PC 。
4.优缺点
优点:节省公有合法IP地址、处理地址重叠、增强灵活性、安全性
缺点:延迟增大、配置和维护的复杂性、不支持某些应用(比如VPN)
5.NAT的转发原理
数据包从内网发往外网时,NAT会将数据包的源IP地址由私网地址转换成公网地址;当响应的数据包要从外网发给内网时,NAT会将目的IP地址有公网地址转换成私网地址。如果不进行转换,从外网无法发给内网,导致数据无法发送。
6.NAT的分类
静态NAT
静态NAT实现私网地址和公网地址的一对一转换。有多少个私网地址就需要配置多少个公网地址。静态NAT不能节约公网地址,但可以起到隐藏内部网络的作用。
常用命令
全局模式下配置
//设置静态NAT
[R1]nat static global <自定义ip地址> inside <私网ip地址>
//进入外网接口
[R1]int g0/0/1
//在接口启动nat static enable
[R1一GigabitEthernet0/0/1]nat static enable
接口上声明nat static
//进入外网接口
[R1]int g0/0/1
//在接口声明nat static
[R1一GigabitEthernet0/0/1]nat static global <自定义ip地址> inside <私网地址>
实验
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rO3yhxM3-1679412180232)(F:\博客存放\静态NAT.jpg)]](https://i-blog.csdnimg.cn/blog_migrate/b9ff2132f68fce58ccd95ffb52663b76.jpeg#pic_center)
两个主机的配置
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ULM3Jbs1-1679412180232)(F:\博客存放\静态NAT1.jpg)]](https://i-blog.csdnimg.cn/blog_migrate/fd9984d6fe513d3fa6eece6117e626e3.jpeg#pic_center)
配置路由器R1
//进行管理模式
<Huawei>sys
//重命名
[Huawei]sys R1
//关闭提示
[R1]undo info-center enable
//进入g0/0/0接口
[R1]int g0/0/0
//配置ip地址和子网掩码
[R1-GigabitEthernet0/0/0]ip add 12.0.0.254 24
//进入g0/0/1接口
[R1-GigabitEthernet0/0/0]int g0/0/1
//配置ip地址和子网掩码
[R1-GigabitEthernet0/0/1]ip add 192.168.1.254 24
//退出接口模式
[R1-GigabitEthernet0/0/1]q
通过全局模式下设置命令如下
//设置静态NAT,192.168.1.1内网ip地址的公网地址为8.8.8.8
[R1]nat static global 8.8.8.8 inside 192.168.1.1
//进入外网接口g0/0/0
[R1]int g0/0/0
//在外网接口g0/0/0启动静态NAT
[R1-GigabitEthernet0/0/0]nat static enable
通过接口上声明nat static设置命令如下
//进入外网接口g0/0/0
[R1]int g0/0/0
//在外网接口g0/0/0声明nat static
[R1-GigabitEthernet0/0/0]nat static global 8.8.8.8 inside 192.168.1.1
然后通过抓包工具查看PC1 一直ping Server1时路由器R1两端接口ip地址的变化情况。
如下图可知:
192.168.1.1(私网ip地址)想要发送数据包给12.0.0.1(公网地址)时,通过g0/0/1接口,私网地址和公网地址没有变化。通过g0/0/0接口192.168.1.1(私网ip地址)通过静态NAT转换为8.8.8.8(自己设定的公网地址)然后再进行数据发送给12.0.0.1(公网地址)。这个时候私网地址发生变化了,公网地址依然没有变化。
在12.0.0.1(公网地址)收到192.168.1.1(私网ip地址)发送的数据包再想返回发送给它,通过g0/0/0接口时,就需要向8.8.8.8(自己设定的公网地址)发送数据,私网地址已经改变了,公网地址没有变化。通过g0/0/1接口时,经过静态NAT转换,8.8.8.8(自己设定的公网地址)转换为192.168.1.1(私网ip地址),这个时候私网地址转换为原来私网地址,公网地址没有变。
总结:私网设备发送数据包给公网设备时,只有私网ip地址改变了,公网ip地址没有改变;公网设备返回数据给私网设备时,只有私网ip地址改变了,公网ip地址没有改变。

动态NAT
动态NAT实现私网地址和公网地址的一对一转换,需要定义公网IP地址池,私网转换时会轮询地址池里的每个IP地址。
常用命令
//1、配置外部网口和内部网口的IP地止
//2、定义合法IP地址池
//新建一个名为1的nat地址池
[R1]nat address-group 1 212.0.0.100 212.0.0.200
//3、定义访问控制列表
[R1]acl 2000
//创建ACL,允许源地址为192.168.20.0/24网段和11.0.0.0/24的数据通过
[Rl-acl-basic-2000]rulc permit sourcc 192.168.20.0 0.0.0.255
[Rl-acl-basic-2000]rule permit source 11.0.0.0 0.0.0.255
//4、在外网口上设置动态TP地址转换
//进入外网接口
[Rl-acl-basic-2000]int g0/0/1
//将ACL 2000匹配的数据转换为改接口的IP地址作为源地址(no pat不做端口转换,只做IP地址:转换,默认为pat )
[R1-GigabitEthernetO/0/1]nat outbound 2000 address-group 1 no-pat
//查看NAT Outbound的信息
[R1]dis nat outbound
实验

配置路由器R1
//进入管理模式
<Huawei>sys
//重命名
[Huawei]sys R1
//取消提示
[R1]un in en
//进入g0/0/0接口
[R1]int g0/0/0
//设置ip地址和子网掩码
[R1-GigabitEthernet0/0/0]ip add 192.168.1.254 24
//进入g0/0/1接口
[R1-GigabitEthernet0/0/0]int g0/0/1
//设置ip地址和子网掩码
[R1-GigabitEthernet0/0/1]ip add 12.0.0.254 24
//退出接口模式
[R1-GigabitEthernet0/0/1]q
设置动态配置(PC1想要访问Server1)
//新建一个名为1的nat地址池
[R1]nat address-group 1 12.0.0.10 12.0.0.20
//定义acl 2000
[R1]acl 2000
//创建ACL,允许任意网段通过
[Rl-acl-basic-2000]rulc permit sourcc any
//进入外网接口
[Rl-acl-basic-2000]int g0/0/1
//将ACL 2000匹配的数据转换为改接口的IP地址作为源地址(no pat不做端口转换,只做IP地址:转换,默认为pat )
[R1-GigabitEthernetO/0/1]nat outbound 2000 address-group 1 no-pat
//查看NAT outbound的信息
[R1]dis nat outbound
具体抓包效果图如下:

NAPT
私网IP和公网IP是多对一的关系,公网IP地址池中只定义一个公网IP,私网IP只对应一个自定义的公网IP。
常用命令
//NAPT:多个私网IP地址对应固定外网IP地址(比如200.1.1.10),配置方法与动态NAT类似
//1、配置外部网口和内部网口的IP地址
//2、定义合法IP地址池(地址池中只有一个IP:200.1.1.10)
[R1]nat address-group 1 200.1.1.10 200.1.1.10
//3、定义访问控制列表
[R1]acl 2000
//允许源地址为192.168.30.0/24网段的数据通过
[R1-acl-adv-2000]rule permit source 192.168.30.0 0.0.0.255
//4、在外网口上设置IP地址转换
[R1一acl-basic-2000]int g0/0/1
[R1-GigabitEthernet0/0/1]nat outbound 2000 address-group 1
实验

配置路由器R1
//进入管理模式
<Huawei>sys
//重命名
[Huawei]sys R1
//取消提示
[R1]un in en
//进入g0/0/0接口
[R1]int g0/0/0
//设置ip地址和子网掩码
[R1-GigabitEthernet0/0/0]ip add 192.168.1.254 24
//进入g0/0/1接口
[R1-GigabitEthernet0/0/0]int g0/0/1
//设置ip地址和子网掩码
[R1-GigabitEthernet0/0/1]ip add 12.0.0.254 24
//退出接口模式
[R1-GigabitEthernet0/0/1]q
设置NAPT配置(PC1想要访问Server1)
//创建acl 2000
[R1]acl 2000
//创建acl规则,允许所有通过
[R1-acl-basic-2000]rule permit source any
//退出acl模式
[R1-acl-basic-2000]q
//创建名字为1的地址池,地址池只有一个公网ip地址
[R1]nat address-group 1 12.0.0.10 12.0.0.10
//进入外网接口
[R1]int g0/0/1
//设置ip地址转换,将内网ip地址通过acl 2000规则从1的地址池中选取唯一的公网ip地址进行转换
[R1-GigabitEthernet0/0/1]nat outbound 2000 address-group 1
具体效果图如下:

EASY_IP(特殊的NAPT)
私网IP和公网IP多对一的关系,直接使用路由器外网接口的IP,私网IP只对应路由器外网接口的公网IP.
常用命令
//EasyIp:多个私网IP地址对应路由器外网接口的公网IP地址(比如12.0.0.11、配置外部网口和内部网口的IP地址
//2、定义合法IP地址池
//由于直接实验外网口IP地址所以不用再定义IP地址池
//3、定义访问控制列表
[R1]acl 3000
//允许源地址为192.168.30.0/24网段的数据通过
[R1-acl-adv-3000]rule permit ip source 192.168.30.0 0.0.0.255
//4、在外网口上设置IP地址转换
[R1]int g0/0/1
//当acl3000匹配的源IP数据到达此接口时,转换为该接口的IP地址做为源地址
[R1一GigabitEthernet0/0/1]nat outbound 3000
//查看NAT的流表信息
[R1]display nat session all
实验

配置路由器R1
//进入管理模式
<Huawei>sys
//重命名
[Huawei]sys R1
//取消提示
[R1]un in en
//进入g0/0/0接口
[R1]int g0/0/0
//设置ip地址和子网掩码
[R1-GigabitEthernet0/0/0]ip add 192.168.1.254 24
//进入g0/0/1接口
[R1-GigabitEthernet0/0/0]int g0/0/1
//设置ip地址和子网掩码
[R1-GigabitEthernet0/0/1]ip add 12.0.0.254 24
//退出接口模式
[R1-GigabitEthernet0/0/1]q
设置EASY_IP(PC1想要访问Server1)
//创建acl 2000的规则
[R1]acl 2000
//定义acl 2000的规则,允许所有通过
[R1-acl-basic-2000]rule permit source any
//退出acl模式
[R1-acl-basic-2000]q
//进入外网接口
[R1]int g0/0/1
//当acl 2000匹配的源IP数据到达此接口时,转换为该接口的IP地址做为源地址
[R1-GigabitEthernet0/0/1]nat outbound 2000
效果图如下

NAT Server
公网主机想要访问私网服务器时,需要将公网的ip地址通过NAT转换成私网的IP地址,然后根据路由表转发位于私网的服务器。
常用命令
//进入外网接口
[R1]int g0/0/1
//在连接公网的接口上将需要访问的私网服务器地址和自己定义的公网地址做一对NAT映射绑定
[R1-GigabitEthernet0/0/1]nat server protocol tcp global 9.9.9.9 www inside 192.168.10.100 www
//在连接公网的接口上将需要访问的私网服务器地址和当前接口的公网地址做一对NAT映射绑定
[R1-GigabitBthernet0/0/1]nat server protocol tcp global current-interface 8080 inside 10.1.1.1 www
//湍口为21可以直接使用关键字"ftp"”代替
[R1-GigabitEthernet0/0/1]nat server protocol tcp global current-interface 2121 inside 10.1.1.2 ftp
实验

配置路由器R1
//进入管理模式
<Huawei>sys
//重命名
[Huawei]sys R1
//取消提示
[R1]un in en
//进入g0/0/0接口
[R1]int g0/0/0
//设置ip地址和子网掩码
[R1-GigabitEthernet0/0/0]ip add 192.168.1.254 24
//进入g0/0/1接口
[R1-GigabitEthernet0/0/0]int g0/0/1
//设置ip地址和子网掩码
[R1-GigabitEthernet0/0/1]ip add 12.0.0.254 24
//退出接口模式
[R1-GigabitEthernet0/0/1]q
设置NAT Server(比如PC3想要访问PC1)
//进入外网G0/0/1接口
[R1]int g0/0/1
//将当前接口的外网ip地址以及自定义的8888端口号与私网的需要访问ip地址及端口号进行绑定
[R1-GigabitEthernet0/0/1]nat server protocol tcp global current-interface 8888 inside 192.168.1.3 80
效果图如下:

文章详细介绍了访问控制列表(ACL)的工作原理、种类、应用规则以及相关实验,展示了如何通过ACL实现数据包过滤和访问控制。同时,文章还深入探讨了网络地址转换(NAT)的概念、工作原理、功能、优缺点以及不同类型的NAT(静态、动态、NAPT、EASY_IP、NATServer)的应用和配置示例,强调了NAT在解决IP地址短缺和网络安全方面的作用。
591

被折叠的 条评论
为什么被折叠?



