ACL和NAT
1 ACL
1.1 ACL的作用
1).用来对数据包做访问控制(丢弃或者放弃)
2).结合其他协议,用来匹配范围
1.2 ACL的工作原理
当数据包从接口经过时,由于接口启用了ACL,此时路由器会对报文进行检,然后做出相应的处理。
1.3 ACL种类
基本ACL(2000-2999):只能匹配源IP地址。
高级ACL(3000-3999):可以匹配源IP、目标IP、源端口、目标端口等三层和四层的字段和协议。
二层ACL(4000-4999):根据数据包的源MAC地址、目的MAC地址、802.1q优先级、二层协议类型等二层信息制定规则。
1.4 ACL(访问控制列表)的应用原则:
基本ACL,尽量用在靠近目的点
高级ACL,尽量用在靠近源的地方(可以保护带宽和其他资源)
1)、一个接口的同一个方向,只能调用一个ACL
2)、一个ACL里面可以有多个rule规则,按照规则ID从小到大排序,从上往下依次执行
3)、数据包一旦被某rule匹配,就不再继续向下匹配
4)、用来做数据包访问控制时,默认隐含放过所有(华为设备)
1.5 ACL的基本配置
二 NAT
2.1 NAT的介绍
NAT(Network Address Translation)是网络地址转换,它是一个IETF(Internet Engineering Task Force, Internet工程任务组)标准,允许一个整体机构以一个公用IP(Internet Protocol)地址出现在Internet上。顾名思义,它是一种把内部私有网络地址(IP地址)翻译成合法网络IP地址的技术,因此我们可以认为,NAT在一定程度上,能够有效的解决公网地址不足的问题。
2.1.1 公有网络地址
公有网络地址(以下简称公网地址)是指在互联网上全球唯一的IP地址。2019年11月26日,是人类互联网时代值得纪念的一天,全球尽43亿个IPv4地址已经正式耗尽。
2.2 NAT的工作原理
NAT用来将内网地址和端口转换成公网地址和端口,建立一个会话,与公网主机进行通信。
NAT外部的主机无法主动跟位于NAT内部的主机通信,NAT内部主机想要通信,必须主动和公网的一个IP通信,路由器负责建立一个个映射关系,从而实现数据的转发。
总结:数据包从内网到外网时会转换源IP地址,由私网地址转换成公网地址;
数据包从外网到内网时,会转换目的IP地址,由公网地址转换成私网地址。
2.3 NAT有三种类型:
1 静态 NAT ( Static NAT )( 一对一 )。将内部网络的私有IP地址转换为公有IP地址,IP地址对是一对一的,是一直不变的。
2 动态地址 NAT ( Pooled NAT )(多对多)。将内部网络的私有 IP 地址转换为公用 IP 地址时,IP 地址是不确定,随机的。所有被授权访问 Internet 的私有 IP 地址可随机转换为任何指定合法的 IP 地址。也就是说,只要指定哪些内部地址可以进行转换,以及用哪些合法地址作为外部地址时,就可以进行动态 NAT 转换。动态 NAT 是在路由器上配置一个外网 IP 地址池,当内部有计算机需要和外部通信时,就从地址池里动态的取出一个外网 IP,并将他们的对应关系绑定到 NAT 表中,通信结束后,这个外网 IP 才被释放,可供其他内部 IP 地址转换使用,这个 DHCP 租约 IP 有相似之处。当 ISP 提供的合法 IP 地址略少于网络内部的计算机数量时。可以采用动态转换的方式
3 网络地址端口转换 NAPT(Network Address Port Translation)(Port-Level NAT)( 多对一 )。改变外出数据包的源端口并进行端口转换,采用端口多路复用方式。内部网络的所有主机均可共享一个合法外部 IP 地址实现对 Internet 的访问,可以最大限度地节约 IP 地址资源。同时,也可以隐藏网络内部的所有主机,有效避免来自 Internet 的攻击。因此,目前网络中应用最多的就是 PAT 规则。这是最常用的 NAT 技术,也是 IPv4 能够维持到今天的最重要的原因之一,它提供了一种多对一的方式,对多个内网 IP 地址,边界路由可以给他们分配一个外网 IP,利用这个外网 IP 的不同端口和外部进行通信。NAPT 与 动态NAT 不同,它将内部连接映射到外部网络中的一个单独的 IP 地址上,同时在该地址上加上一个由 NAT 设备选定的端口号。
NAPT 是使用最普遍的一种转换方式,在 HomeGW 中也主要使用该方式。它又包含两种转换方式:SNAT和DNAT。 (1) 源NAT(Source NAT,SNAT):修改数据包的源地址。源NAT改变第一个数据包的来源地址,它永远会在数据包发送到网络之前完成,数据包伪装就是一具SNAT的例子。 (2) 目的NAT(Destination NAT,DNAT):修改数据包的目的地址。Destination NAT刚好与SNAT相反,它是改变第一个数据懈的目的地地址,如平衡负载、端口转发和透明代理就是属于DNAT。
2.4 NAT功能
功能:NAT不仅能解决IP地址不足的问题,而且还能够有效地避免来自网络外部的入侵,隐藏并保护网络内部的计算机。
1.宽带分享:这是NAT主机最大的功能;
2.安全防护:NAT之内的pc联机到以太网上面时,它所显示的IP是NAT主机的公网IP,所以client端的pc就具有一定程度的安全,外界在进行porlscan(端口扫描)的时候,就侦测不到源client端的pc。
优点:节省公有合法的IP地址,处理地址重叠,增强灵活性,安全性;
缺点:延迟增大,配置和维护的复杂性,不支持某些应用(比如VPN)
三、总结:
1.NAT用于实现私有网络和公有网络之间的互访
2.私有网络和公有网络介绍
3.NAT的工作原理和功能
4.静态NAT和动态NAT以及PAT端口多路复用
ACL和NAT的更多相关文章
- 思科设备ACL与NAT技术
ACL 访问控制列表(Access Control Lists),是应用在路由器(或三层交换机)接口上的指令列表,用来告诉路由器哪些数据可以接收,哪些数据是需要被拒绝的,ACL的定义是基于协议的,它适 ...
- 华为设备ACL与NAT技术
ACL 访问控制列表(Access Control Lists),是应用在路由器(或三层交换机)接口上的指令列表,用来告诉路由器哪些数据可以接收,哪些数据是需要被拒绝的,ACL的定义是基于协议的,它适 ...
- ACL,NAT的使用
项目练习 练习一: 练习目的:通过配置路由器的dhcp功能使pc自动获取ip地址. Router>enable Router#configure terminal Router(config) ...
- CCNA网络工程师学习进程(8)访问控制列表ACL
前面几节我们介绍了路由器的路由配置,接下来几节我们将介绍路由器的高级配置应用,包括ACL.NAT.DHCP.PPP.VPN和远程连接等的配置. (1)ACL概述: ACL(Access C ...
- 访问控制列表ACL应用
ACL的应用的场景 应用在三层接口 • Nat地址转换 Nat(network address translation,地址转换)是将数据报报头中的ip地址转换为另一个ip地址的过程,主要用于实现内部 ...
- HCL实验8:NAT搭建私有网络
NAT 通过NAT技术,进行私有网络的搭建 拓扑图 先对路由器的端口进行配置 R1 [H3C]sys R1 [R1]INT G0/0 [R1-GigabitEthernet0/0]ip address ...
- Linux转发性能评估与优化-转发瓶颈分析与解决方式(补遗)
补遗 关于网络接收的软中断负载均衡,已经有了成熟的方案,可是该方案并不特别适合数据包转发,它对server的小包处理非常好.这就是RPS.我针对RPS做了一个patch.提升了其转发效率. 下面是我转 ...
- Linux转发性能评估与优化(转发瓶颈分析与解决方式)
线速问题 非常多人对这个线速概念存在误解. 觉得所谓线速能力就是路由器/交换机就像一根网线一样. 而这,是不可能的.应该考虑到的一个概念就是延迟. 数据包进入路由器或者交换机,存在一个核心延迟操作,这 ...
- 华为ap3010DN-V2刷出胖AP并配置接入POE交换机实现上网
配置FAT AP二层组网示例 组网图形 图1 配置二层网络WLAN基本业务示例组网图 组网需求 如图1所示,FAT AP通过有线方式接入Internet,通过无线方式连接终端.现某企业分支机构为了保证 ...
随机推荐
- 使用supervisor设置应用开机自启
安装supervisor: sudo apt install supervisor -y 创建配置文件: sudo vim /etc/supervisor/conf.d/frpc.conf frpc. ...
- 《Python编程:从入门到实践》第十八章笔记:Django最基本用法笔记
最近在看Python编程:从入门到实践,这是这本书"项目3 Web应用程序"第18章的笔记.记录了django最基本的一些日常用法,以便自己查阅. 可能是我的这本书版本比较老,书上 ...
- 如何创建一个带诊断工具的.NET镜像
现阶段的问题 现在是云原生和容器化时代,.NET Core对于云原生来说有非常好的兼容和亲和性,dotnet社区以及微软为.NET Core提供了非常方便的镜像容器化方案.所以现在大多数的dotnet ...
- Collection集合概述和集合框架介绍
集合概述 集合:集合是java中提供的一种容器,可以用来存储多个数据 集合和数组既然都是容器,他们有什么区别? 1.数组的长度是固定的,集合的长度是可变的 2.数组中存储的是同一类型的元素,可以存储基 ...
- Mysql 数据恢复流程 基于binlog redolog undolog
注:文中有个易混淆的地方 sql事务,即每次数据库操作生成的事务,这个事务trx_id只在undolog里存储,同时undolog维护了此事务是否完成的状态. 日志持久化事务,为了保证redolog和 ...
- github访问较慢问题初步解决方案
简介 众所周知,github在国内向来都是访问的非常坎坷,不挂代理访问起来非常困难,本文将介绍一种不依赖代理的加快访问的方式,但不一定可行哦,只能说是优化 步骤 1.在搜索框中输入记事本或者notep ...
- PHP几个数组函数
array_intersect比较两个数组的键值,并返回交集: <?php $a1=array("a"=>"red","b"=& ...
- Docker Php + mysql + nginx
1 # 一.数据库搭建(MySQL) 2 # 1.拉取mysql镜像 3 docker pull mysql:5.6.50 4 # 2.启动镜像:--name(容器名), MYSQL_ROOT_PAS ...
- Vue 基本列表 && 数据过滤与排序
1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="UTF-8" /> 5 & ...
- 日志(logging模块)
1. 为什么要使用日志(作用) 在学习过程中,写一个小程序或小demo时,遇到程序出错时,我们一般会将一些信息打印到控制台进行查看,方便排查错误.这种方法在较小的程序中很实用,但是当你的程序变大,或是 ...