网络(十)ACL和NAT

前言

网络管理在生产环境和生活中,如何实现拒绝不希望的访问连接,同时又要允许正常的访问连接?当下公网地址消耗殆尽,且公网IP地址费用昂贵,企业访问Internet全部使用公网IP地址不够现实,如何让私网地址也可以访问Internet?针对上面两个问题,将分别介绍ACL与NAT技术。

目录

前言

一、ACL

1. 概述

2. ACL的作用

3. ACL的类型

4. 工作原理

5. ACL的配置

5.1 命令参数介绍

5.2 图示

5.3 配置路由器接口IP地址

5.4 建立基本acl表2000,拒绝IP192.168.1.1,流量匹配出口启用acl2000表的规则

5.5 测试网络

5.6 建立高级acl表3000,拒绝192.168.1.1访问172.20.8.2的80端口

5.7 测试端口号访问 

二、NAT

1. NAT概述

2. NAT的实现方式

3. 工作原理

4. NAT的配置

4.1 静态nat

4.1.1 图示

4.1.2 分别配置企业和运营商0接口IP地址

4.1.3 配置g0/0/1接口IP地址,在接口下使能nat static功能,配置静态NAT 

4.1.4 测试网络

4.1.5 建立地址池(1)200.1.1.10~15,新建acl基础表2000,允许192.168.1段IP通过

4.1.6 启用acl表2000规则,按照地址池进行NAT地址转换,不携带端口号

4.1.7 客户端访问服务器,查看NAT(网络地址转换)会话表项 

4.2 NATPT(端口映射)

4.2.1 图示 

4.2.2  企业出口配置默认路由,运营商接口1配置IP地址 

4.2.3 通过访问当前接口指定IP地址的http服务对应内网192.168.1.100

4.2.4 测试用户端访问企业公网80端口

4.3 Easy-IP

案例六:使用一个公网地址使所有设备都能访问外网(每台设备通过端口号区分) 

4.3.1 图示

4.3.2 nat应用出口规则2000

4.3.3  内网设备访问外网,查看NAT(网络地址转换)会话表项  


一、ACL

1. 概述

访问控制列表(ACL)是一种基于包过滤的访问控制技术,它可以根据设定的条件对接口上的数据包进行过滤,允许其通过或丢弃。

2. ACL的作用

· 可以控制(过滤)流量访问端口,然后匹配规则判断是否允许或拒绝

· NAT可以匹配感兴趣的流量

3. ACL的类型

· 基本ACL:acl编号2000~2999,仅使用报文的源IP地址、分片信息和生效时间段信息来定义规则

· 高级ACL:acl编号3000~3999,可使用IPv4报文的源IP地址、目的IP地址、IP协议类型、ICMP类型、TCP源/目的端口号、UDP源/目的端口号、生效时间段等来定义规则。

4. 工作原理

ACL是一组规则的集合,它应用在路由器的某个接口上,ACL有两个方向:

· inbound入口方向--------当接口收到数据包时执行ACL

· outbound出口方向-------当设备从特定接口向外发送数据时执行ACL

当数据包从接口经过时,如果接口应用了ACL, 也就是说该接口应用了一组规则,此时路由器会对数据包应用该组规则进行顺序检查,然后做出相应的处理。如果匹配第一条规则,则不再检查;如果不匹配第一条,依次往下直到匹配;如果没有规则匹配,丢弃该数据包。

5. ACL的配置

5.1 命令参数介绍

· access-list-numbe:ACL列表号,1~99,默认是5,且每条表号相隔5;acl 2000表示建立基本表

· permit/deny:允许/拒绝

· source:数据包源地址

· source-wildcard:通配符掩码,在用二进制数表示时:可以0和1穿插组合,0表示可变,1表示不可变

案例一:相同网段设备通过过滤IP实现控制访问

5.2 图示

5.3 配置路由器接口IP地址

5.4 建立基本acl表2000,拒绝IP192.168.1.1,流量匹配出口启用acl2000表的规则

5.5 测试网络

 案例二:路由器通过过滤端口号实现设备端口访问控制

5.6 建立高级acl表3000,拒绝192.168.1.1访问172.20.8.2的80端口

5.7 测试端口号访问 

 

二、NAT

1. NAT概述

NAT旨在通过将一个外部 IP 地址和端口映射到更大的内部 IP 地址集来转换 IP 地址。 基本上,NAT 使用流量表将流量从一个外部(主机)IP 地址和端口号路由到与网络上的终结点关联的正确内部 IP 地址。

2. NAT的实现方式

· 静态nat :工程手动将一个私有地址和一个公网地址进行关联,一 一对应,缺点和静态路由一样

· NATPT(端口映射):内网服务器的相应端口映射成路由器公网ip地址的相应端口

· Easy-IP:使用列表匹配私网的ip地址,将所有的私网地址映射成路由器当前接口的公网地址

3. 工作原理

NAT是地址转换翻译技术:

· 从私网——>外网,将源私网地址改成源公网地址

· 从外网——>私网,将目的公网地址改目的私网地址

4. NAT的配置

4.1 静态nat

案例三:私有地址关联一个公网地址,实现访问外网

4.1.1 图示

4.1.2 分别配置企业和运营商0接口IP地址

4.1.3 配置g0/0/1接口IP地址,在接口下使能nat static功能,配置静态NAT 

注:当收到192.168.1.1的数据流量,将IP转换为200.1.1.100 

4.1.4 测试网络

 案例四:建立公网地址池,实现私网访问外网 

4.1.5 建立地址池(1)200.1.1.10~15,新建acl基础表2000,允许192.168.1段IP通过

4.1.6 启用acl表2000规则,按照地址池进行NAT地址转换,不携带端口号

4.1.7 客户端访问服务器,查看NAT(网络地址转换)会话表项 

4.2 NATPT(端口映射)

案例五:内网服务器映射到企业路由器出口,实现外网用户通过指定IP地址访问内网服务器

4.2.1 图示 

4.2.2  企业出口配置默认路由,运营商接口1配置IP地址 

 

4.2.3 通过访问当前接口指定IP地址的http服务对应内网192.168.1.100

4.2.4 测试用户端访问企业公网80端口

注:路由器不会提供七层服务只能提供三层服务,用户访问公网IP200.1.1.1,实际访问的是内网服务器192.168.1.100

4.3 Easy-IP

案例六:使用一个公网地址使所有设备都能访问外网(每台设备通过端口号区分) 

4.3.1 图示

4.3.2 nat应用出口规则2000

4.3.3  内网设备访问外网,查看NAT(网络地址转换)会话表项  

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/219888.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

机器翻译:跨越语言边界的智能大使

导言 机器翻译作为人工智能领域的瑰宝,正在以前所未有的速度和精度,为全球沟通拓展新的可能性。本文将深入研究机器翻译的技术原理、应用场景以及对语言交流未来的影响。 1. 简介 机器翻译是一项致力于通过计算机自动将一种语言的文本翻译成另一种语言的…

android studio 快捷输入模板提示

在Android开发中,我们经常会遇到一些重复性的代码,例如创建一个新的Activity、定义一个Getter方法等。为了提高开发效率,Android Studio提供了Live Templates功能,可以通过简化输入来快速生成这些重复性代码。 按下图提示设置&am…

【深度学习目标检测】八、基于yolov5的抽烟识别(python,深度学习)

YOLOv5是目标检测领域一种非常优秀的模型,其具有以下几个优势: 1. 高精度:YOLOv5相比于其前身YOLOv4,在目标检测精度上有了显著的提升。YOLOv5使用了一系列的改进,如更深的网络结构、更多的特征层和更高分辨率的输入图…

SI24R03国产自主可控RISC-V架构MCU低功耗2.4GHz收发芯片SoC

目录 RISC-V架构的优势SI24R03/04特性射频收发器模块特征MCU 模块特征 其他特征 RISC-V架构的优势 相对于目前主流的英特尔X86架构及ARM等架构来说,RISC-V架构具有指令精简、模块化、可扩展、开源、免费等优点。RISC-V的基础指令集只有40多条,加上其他基…

【问题记录】Qt IDE打开报错“由于找不到python27.dll,无法继续执行代码“

一,问题现象 新安装Qt打开时报错,如下所示,但是软件能正常打开。 二,问题原因 对应的dll库没有找到。 三,解决方法 找到对应的dll库复制到指定目录; 这里我本地搜索有这个库,就直接放到“…

C++学习笔记(十五)

继承 继承是面向对象三大特性之一 有些类与类之间存在特殊的关系,例如下图中: 我们发现,定义这些类时,下级别的成员除了拥有上一级的共性,还有自己的特性。 这个时候我们就可以考虑利用继承的技术,减少重…

【TB作品】51单片机 实物+仿真-电子拔河游戏_亚博 BST-M51

代码工程。 http://dt4.8tupian.net/2/28880a66b12880.pg3这段代码是用于一个数字拔河游戏的嵌入式系统,采用了基于8051架构的单片机,使用Keil C51编译器。 主要功能包括: 数码管显示:使用了四个数码管(通过P2的控制…

css的元素显示模式(有单行文字垂直居中,侧边栏等案例)

目录 1. 什么是元素的显示模式 2. 元素显示模式的类型 块元素 行内元素 行内块元素 3. 元素显示模式的转换 4.文字垂直居中 5.具体实现案例 1. 什么是元素的显示模式 定义:元素显示模式就是元素(标签)以什么方式进行显示,…

windows10-tdengine的安装及使用

win10-tdengine的安装及使用 一、下载及安装配置1.1 下载安装1.2 配置1.3 关闭防火墙和开放端口1.3.1 关闭防火墙1.3.2 开放6030端口 二、启动及关闭服务2.1 启动tdengine服务2.2 关闭tdengine服务2.2 开机自启动配置 四、可视化工具五、TDengine 命令行(CLI&#x…

PythonStudio:一款国人写的python及窗口开发编辑IDE,可以替代pyqt designer等设计器了

本款软件只有十几兆,功能算是强大的,国人写的,很不错的python界面IDE.顶部有下载链接。下面有网盘下载链接,或者从官网直接下载。 目前产品免费,以后估计会有收费版本。主页链接:PythonStudio-硅量实验室 作…

【图像分类】【深度学习】【Pytorch版本】 ResNeXt模型算法详解

【图像分类】【深度学习】【Pytorch版本】 ResNeXt模型算法详解 文章目录 【图像分类】【深度学习】【Pytorch版本】 ResNeXt模型算法详解前言ResNeXt讲解分组卷积(Group Converlution)分割-变换-合并策略(split-transform-merge)ResNeXt模型结构 ResNeXt Pytorch代码完整代码总…

汽车标定技术(十三)--标定概念再详解

目录 1.概述 2.基于Flash的标定 3.基于RAM的标定 4.AUTOSAR基于指针标定概念 5.小结 1.概述 最近有朋友问到是否用overlay标定完数据就直接写在Flash中,其实不然,是需要关闭overlay然后通过XCP Program指令集或者UDS刷进Flash。 从这里看出&#…

HiEV洞察|蔚来NIO Phone的前途,藏在车手互联的技术栈里

作者 |三少爷 编辑 |张祥威 「我觉得三年才可以看我们做手机是对的还是错的。」 几天前,蔚来创始人、董事长兼CEO李斌回答媒体提问时如是说道,手机项目本身的投入产出确实需要三年,等到华为,小米,甚至苹果所有这些手…

考研英语一图表作文必背模版句

英语一的作文还是很靠日常积累的,依据潘赟老师的九宫格理论: 2——图画描述5——意义论证8——建议措施 这3个模块式最为核心也是最容易拉开分差的,对于时间有限的同志不建议忙下功夫浪费时间,而对于另外6个模块,还是…

单片机期末复习

前言 发现很多人都写了单片机原理及接口技术课后习题的答案,但是也就只写了答案而已,可能是他们觉得太简单的缘故吧,我这里对此进行一下我近段时间复习的总结,本篇博客只展示选择题、填空题和判断题的答案,仅供参考&a…

如何在项目管理中跟踪资源可用性?

项目是有计划、有安排的,在不超支预算的情况下按期执行项目,项目经理必须了解资源的可用性。这是资源管理流程的一部分。 什么是资源可用性 资源可用性是指了解执行项目所需的资源、何时需要以及在何种情况下需要。能够协调完成项目所需的资源&#xf…

【深度学习目标检测】四、基于深度学习的抽烟识别(python,yolov8)

YOLOv8是一种物体检测算法,是YOLO系列算法的最新版本。 YOLO(You Only Look Once)是一种实时物体检测算法,其优势在于快速且准确的检测结果。YOLOv8在之前的版本基础上进行了一系列改进和优化,提高了检测速度和准确性。…

使用 Taro 开发鸿蒙原生应用 —— 当 Taro 遇到纯血鸿蒙 | 京东云技术团队

纯血鸿蒙即将到来 在今年 8 月的「2023年华为开发者大会(HDC.Together)」上,华为正式官宣「鸿蒙Next」,这个更新的版本将移除所有的 AOSP 代码,彻底与 Android 切割,使其成为一个完全自主研发的操作系统&a…

【Hive】——DML

1 Load(加载数据) 1.1 概述 1.2 语法 LOAD DATA [LOCAL] INPATH filepath [OVERWRITE] INTO TABLE tablename [PARTITION (partcol1val1, partcol2val2 ...)]LOAD DATA [LOCAL] INPATH filepath [OVERWRITE] INTO TABLE tablename [PARTITION (partcol…

runCatching异常捕获onSuccess/onFailure返回函数,Kotlin

runCatching异常捕获onSuccess/onFailure返回函数,Kotlin fun test(a: Int, b: Int) {runCatching {a / b}.onSuccess {println("onSuccess: $it")return ok(it)}.onFailure {println("onFailure: $it")return fail(it)} }fun ok(o: Any) {prin…