当前位置: 首页 > news >正文

ACL和NAT

目录

一.ACL

1.概念

2.原理

3.应用

4.种类

5.通配符

1.命令

2.区别

3.例题

4.应用原则

6.实验

1.实验目的

2.实验拓扑

3.实验步骤

7.实验拓展

1.实验目的

2.实验步骤

3.测试

二.NAT

1.基本理论

2.作用

3.分类

静态nat

动态nat

NATPT NAT Sever

 Easy-IP

4.工作原理

1.内部网络

2.路由器上的NAT配置

3.数据包发送

4.建立映射表

5.响应数据包接收

6.映射表维护

5.实验

静态NAT

1.实验目的

2.实验拓扑

3.实验步骤

动态NAT

1.实验目的

2.实验步骤

建立地址池

设置基础ACL,并配置规则

进入接口,配置NAT

测试

​编辑端口映射

1.实验目的

2.实验拓扑

3.实验步骤

Easy IP

1.实验目的


一.ACL

1.概念

ACL:(Access Control List )访问控制列表

ACL是由一系列permit或deny语句组成的,有序规则的列表

ACL是一个匹配工具,能够对报文进行匹配和区分

2.原理

  • 过滤流量,然后匹配规则判断通过或拒绝
  • NAT匹配感兴趣的流量

3.应用

  • 匹配IP流量
  • 在Traffic-filter中被调用
  • 在NAT(Network Address Translation)中被调用
  • 在路由策略中被调用
  • 在防火墙的策略部署中被调用
  • 在QoS中被调用

4.种类

  • 基本ACL----编号2000-2999---依据依据数据包当中的源IP地址匹配数据(数据时从 哪个IP地址 过来的)
  • 高级ACL----编号3000-3999---依据数据包当中源、目的IP,源、目的端口、协议号匹配数据
  • 二层ACL----编号4000-4999---MAC、VLAN-id、802.1q

5.通配符

1.命令

通配符掩码   rule deny source 192.168.1.0

2.区别​​​​​​​

子网掩码、反掩码和通配符掩码

子网掩码11110主机配置ip地址时候用连续的1来表示网络位
反掩码00001主机路由协议(ospf协议)连续0来表示网络位
通配符掩码可以01穿插主机0不可变1可变

3.例题

172.16.1.1  0.0.0.0    与   172.16.0.0  0.255.0.0  在路由器PTA上使用这两个ACL匹配路由条目,则下列哪些条目将会被匹配上?(多选)

A.172.16.1.1 / 32

B.172.16.1.0 / 24

C.192.17.0.0 / 24

D.172.18.0.0 / 16

解:172.16.1.1   0.0.0.0的通配符为0.0.0.0,代表172.16.1.1  所有该路由地址不可变,故选A;172.16.0.0  0.255.0.0的通配符为0.255.0.0,代表172.16.0.0的路由地址中的16可变,其他地址不可变,故选D。

10.1.11.0   0.0.254.255  会和以下哪些条目匹配上?

A. 10.1.1.4

B. 10.1.2.4

C. 10.1.5.4

D. 10.1.9.0

解:10.1.11.0  0.0.254.255的通配符为0.0.254.255,代表10.1.11.0的前两位固定10.1,无法排除错误答案;254.255其中254位的11代表其为基数可变位,255位代表随意可变位,故选答案ACD

4.应用原则

  • 基础ACL:尽量离目标点近
  • 高级ACL:尽量离出发点近

6.实验

1.实验目的

过滤掉一个数据流量,使得客户机不能访问系统端

2.实验拓扑

​​​​​​​

3.实验步骤

进入系统,修改名称

sys

sys R1

进入g0/0/0接口(int g0/0/0),配置IP地址作为网关(ip add 192.168.1.254 24

进入g0/0/1接口(int g0/0/1),配置IP地址作为网关(ip add 192.168.2.254 24

进入g0/0/2接口(int g0/0/2),配置IP地址作为网关(ip add 192.168.3.254 24

路由器R1中设置基础ACL 2000(acl 2000),为基础ACL2000设置过滤条件为192.168.1.1  0 (要对192.168.1.1  0 的地址进行拒绝处理)(rule deny source 192.168.1.1 0)<当前rule的编号被默认定为5>

在接口下调用ACL分为两个方向(inbound/outbound),使用(traffic-filter outbound acl 2000)控制数据向接口外发送数据时执行ACL 

测试

客户机Client1不可以正常访问Server1

客户机Client2可以正常访问Server1

客户机Client1可以正常访问客户机Client2

7.实验拓展

1.实验目的

使Client1不能访问服务器1的http(www)服务

2.实验步骤

承接上述实验继续进行操作,在路由器R1中设置高级ACL3000(acl 3000),为高级ACL3000设置规则为192.168.1.1  0 的出口地址可以访问192.168.2.1  0的出口地址 www (rule deny tcp source  192.168.1.1 0 destination 192.168.2.1  0  destination-port eq www)
路由器R1中进入g0/0/0接口(int g0/0/0),设置流量过滤,使192.168.1.1  0 不能去访问192.168.2.1 的tcp 80 端口(www.web 服务) (traffic-filter inbound acl 3000

3.测试

测试客户机Client1能否访问系统端Server1

二.NAT

1.基本理论

NAT(Network Address Translation)网络地址转换是一种将私有IP地址转换为公有IP地址的技术,以实现多个设备共享一个公网IP地址,并能够访问互联网。NAT通常用于企业、家庭等内部网络与外部网络之间的通信。​​​​​​​

从私网--->外网将源私网地址改为源公网地址

从外网--->内网将目的公网改为目的私网地址

2.作用

通过对网络地址转换,实现内网地址与公网地址的相互访问

3.分类

静态nat

一个私网地址对应一个公网地址

动态nat

会规定一个公网地址池,容量有限

NATPT NAT Sever

内网服务器对外提供服务,针对目的IP和目的端口映射

 Easy-IP

使用一个公网地址可以让所有人都可以上公网

一个公网地址最多可以让65536个人上网;企业或家庭所使用的网络为私有网络,使用的是私有地址;运营商维护的网络为公共网络,使用的是公有地址。私有地址不能在公网中路由;NAT一般部署在连接内网和外网的网关设备上。

4.工作原理

1.内部网络

在内部网络中,设备使用的是私有IP地址,这些地址不会被路由到公共互联网上。

2.路由器上的NAT配置

路由器上需要启用NAT功能,并配置至少一个公网IP地址作为出口地址。

3.数据包发送

当内部网络中的设备向外部网络发送数据包时,路由器会将数据包的源IP地址和端口号替换为自己的公网IP地址和一个新的端口号。

4.建立映射表

路由器会创建一个映射表,记录下每个内部IP地址及其对应的公网IP地址和端口号。

5.响应数据包接收

当外部网络返回的数据包到达路由器时,路由器会根据映射表找到对应的内部IP地址,并将数据包转发给该设备

6.映射表维护

如果长时间没有数据包经过某个映射关系,路由器可能会删除这个映射,以释放资源。

5.实验

静态NAT

静态NAT实现了私有地址和公有地址的一对一映射;一个公网IP只会分配给唯一且固定的内网主机

1.实验目的

使企业内私网客户端可以访问公网地址

2.实验拓扑

3.实验步骤

修改名称

进入R1

sys

sys  QY

进入R2

sys

sys ISP

在企业出口路由器中进入g0/0/0接口(int g0/0/0),配置IP地址作为网关(ip add 192.168.1.254 24)

在企业出口路由器中进入g0/0/1接口(int g0/0/1),配置IP地址作为网关(ip add 200.0.0.1 24)

 在g0/0/1接口,配置NAT(nat static enable)

运营商设备中进入g0/0/0接口(int g0/0/0),配置IP地址作为网关(ip add 200.0.0.2 24

在企业出口路由器中的g0/0/1,配置NAT转换,将通过的私网地址192.168.1.1 转为 200.0.0.100(nat static global 200.0.0.100 inside 192.168.1.1),将通过的私网地址 192.168.1.2 转为 200.0.0.200(nat static global 200.0.0.200 inside 192.168.1.2)

测试

测试PC1、PC两个私网地址是否可以ping通运营商设备的公网地址

动态NAT

  • 动态NAT基于地址池来实现私有地址和公有地址的转换
  • 网络地址端口转换NAPT允许多个内部地址映射到同一个公有地址的不同端口
1.实验目的

使企业内私网客户端可以访问公网地址

2.实验步骤

将静态NAT实验中配置好地址转换的命令取消

(undo nat static global 200.0.0.100 inside 192.168.1.1)

(undo nat static global 200.0.0.200 inside 192.168.1.2)

(undo nat static enable

建立地址池

企业出口路由器建立地址池组1私网可转公网范围为200.0.0.10 ~  200.0.0.50)(nat address-group 1 200.0.0.10  200.0.0.50

设置基础ACL,并配置规则

企业出口路由器设置基础ACLacl 2000),配置规则私网地址192.168.1.0段192.168.1.0   “0”可变  “192.168.1” 不可变(rule permit source 192.168.1.0 0.0.0.255)

进入接口,配置NAT

企业出口路由器中进入g0/0/1接口(int g0/0/1),配置NAT放行流量应用基础ACL地址组1nat outbound 2000 address-group 1

测试

测试PC1、PC两个私网地址是否可以ping通运营商设备的公网地址

端口映射

NATPT——NAT Sever  内网服务器对外提供服务,针对目的IP和目的端口映射

内网服务器的相应端口映射成路由器公网ip地址的相应端口

1.实验目的

家庭客户机需要访问内网服务器

2.实验拓扑

3.实验步骤

运营商设备中进入g0/0/1接口(int g0/0/1),配置IP地址作为网关(ip add 202.0.0.254 24

进入接口配置NAT映射
在企业出口路由器中进入g0/0/1接口(int g0/0/1),删除动态NAT放行流量应用基础ACL地址组1(undo nat outbound 2000 address-group 1)配置NATPT映射(家庭客户机如果想访问服务器相当于访问企业出口路由器)(nat server protocol tcp global current-interface www inside 192.168.1.100 www)配置默认路由(ip route-static 0.0.0.0 0 200.0.0.2)

测试

Easy IP

  • Easy IP允许将多个内部地址映射到网关出接口地址上的不同端口
  • 使用一个公网地址可以让所有人都可以上公网
  • 一个公网地址最多可以让65536个人
1.实验目的

允许内网客户机和家庭服务机互通

2.实验步骤

在企业出口路由器上删除NATPT映射(undo  nat server protocol tcp global current-interface 
www inside 192.168.1.100 www
)配置Easy IP(nat outbound 2000

测试

测试PC1是否与客户端Client互通

相关文章:

ACL和NAT

目录 一.ACL 1.概念 2.原理 3.应用 4.种类 5.通配符 1.命令 2.区别 3.例题 4.应用原则 6.实验 1.实验目的 2.实验拓扑 3.实验步骤 7.实验拓展 1.实验目的 2.实验步骤 3.测试 二.NAT 1.基本理论 2.作用 3.分类 静态nat 动态nat NATPT NAT Sever Easy-IP…...

MX6ULL学习笔记(十二)Linux 自带的 LED 灯

前言 前面我们都是自己编写 LED 灯驱动&#xff0c;其实像 LED 灯这样非常基础的设备驱动&#xff0c;Linux 内 核已经集成了。Linux 内核的 LED 灯驱动采用 platform 框架&#xff0c;因此我们只需要按照要求在设备 树文件中添加相应的 LED 节点即可&#xff0c;本章我们就来学…...

Qt容器QToolBox工具箱

# QToolBox QToolBox是Qt框架中的一个窗口容器类,常用的几个函数有: ​setCurrentIndex(int index):设置当前显示的页面索引。可以通过调用该函数,将指定索引的页面设置为当前显示的页面。 addItem(QWidget * widget, const QString & text):向QToolBox中添加一个页面…...

华为实训课笔记

华为实训 12/1312/14 12/13 ping 基于ICMP协议&#xff0c;用来进行可达性测试 ping 目的IP地址/设备域名&#xff08;主机名&#xff09; 如果能收到 reply 回复&#xff0c;则表示双方可以正常通信 <Huawei> 用户视图&#xff0c;只能做查询和一些简单的资源调用&…...

基于java 的经济开发区管理系统设计与实现(源码+调试)

项目描述 临近学期结束&#xff0c;还是毕业设计&#xff0c;你还在做java程序网络编程&#xff0c;期末作业&#xff0c;老师的作业要求觉得大了吗?不知道毕业设计该怎么办?网页功能的数量是否太多?没有合适的类型或系统?等等。今天给大家介绍一篇基于java 的经济开发区管…...

外包干了3个月,技术退步明显。。。

先说一下自己的情况&#xff0c;本科生生&#xff0c;19年通过校招进入广州某软件公司&#xff0c;干了接近4年的功能测试&#xff0c;今年年初&#xff0c;感觉自己不能够在这样下去了&#xff0c;长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了四年的功能测…...

详细教程 - 从零开发 Vue 鸿蒙harmonyOS应用 第一节

关于使用Vue开发鸿蒙应用的教程,我这篇之前的博客还不够完整和详细。那么这次我会尝试写一个更加完整和逐步的指南,从环境准备,到目录结构,再到关键代码讲解,以及调试和发布等,希望可以让大家详实地掌握这个过程。 一、准备工作 下载安装 DevEco Studio 下载地址&#xff1a;…...

R语言对医学中的自然语言(NLP)进行机器学习处理(1)

什么是自然语言(NLP)&#xff0c;就是网络中的一些书面文本。对于医疗方面&#xff0c;例如医疗记录、病人反馈、医生业绩评估和社交媒体评论,可以成为帮助临床决策和提高质量的丰富数据来源。如互联网上有基于文本的数据(例如,对医疗保健提供者的社交媒体评论),这些数据我们可…...

什么是CI/CD?如何在PHP项目中实施CI/CD?

CI/CD&#xff08;持续集成/持续交付或持续部署&#xff09;是一种软件开发和交付方法&#xff0c;它旨在通过自动化和持续集成来提高开发速度和交付质量。以下是CI/CD的基本概念和如何在PHP项目中实施它的一般步骤&#xff1a; 持续集成&#xff08;Continuous Integration -…...

玩转Docker(四):容器指令、生命周期、资源限制、容器化支持、常用命令

文章目录 一、容器指令1.运行2.启动/停止/重启3.暂停/恢复4.删除 二、生命周期三、资源限制1.内存限额2.CPU限额3.磁盘读写带宽限额 四、cgroup和namespace五、常用命令 一、容器指令 1.运行 按用途容器大致可分为两类&#xff1a;服务类容器和工具类的容器。 服务类容器&am…...

回归预测 | MATLAB实现CHOA-BiLSTM黑猩猩优化算法优化双向长短期记忆网络回归预测 (多指标,多图)

回归预测 | MATLAB实现CHOA-BiLSTM黑猩猩优化算法优化双向长短期记忆网络回归预测 &#xff08;多指标&#xff0c;多图&#xff09; 目录 回归预测 | MATLAB实现CHOA-BiLSTM黑猩猩优化算法优化双向长短期记忆网络回归预测 &#xff08;多指标&#xff0c;多图&#xff09;效果…...

Qt/C++视频监控安卓版/多通道显示视频画面/录像存储/视频播放安卓版/ffmpeg安卓

一、前言 随着监控行业的发展&#xff0c;越来越多的用户场景是需要在手机上查看监控&#xff0c;而之前主要的监控系统都是在PC端&#xff0c;毕竟PC端屏幕大&#xff0c;能够看到的画面多&#xff0c;解码性能也强劲。早期的手机估计性能弱鸡&#xff0c;而现在的手机性能不…...

【docker】容器使用(Nginx 示例)

查看 Docker 客户端命令选项 docker上面这三张图都是 常用命令&#xff1a; run 从映像创建并运行新容器exec 在运行的容器中执行命令ps 列出容器build 从Dockerfile构建映像pull 从注册表下载图像push 将图像上载到注册表…...

【QT】时间日期与定时器

目录 1.时间日期相关的类 2.日期时间数据与字符串之间的转换 2.1 时间、日期编辑器属性设置 2.2 日期时间数据的获取与转换为字符串 2.3 字符串转换为日期时间 3.QCaIendarWidget日历组件 3.1基本属性 3.2 公共函数 3.3 信号 4.实例程序演示时间日期与定时器的使用 …...

蓝桥杯专题-真题版含答案-【古代赌局】【古堡算式】【微生物增殖】【密码发生器】

Unity3D特效百例案例项目实战源码Android-Unity实战问题汇总游戏脚本-辅助自动化Android控件全解手册再战Android系列Scratch编程案例软考全系列Unity3D学习专栏蓝桥系列ChatGPT和AIGC &#x1f449;关于作者 专注于Android/Unity和各种游戏开发技巧&#xff0c;以及各种资源分…...

和鲸科技携手深圳数据交易所,“数据+数据开发者生态”赋能人工智能产业发展

信息化时代&#xff0c;数据驱动决策的重要性日益凸显。通过利用数据可以深入了解市场需求、客户行为、竞争态势等关键信息&#xff0c;从而制定更为有效的战略和决策。围绕推动数据要素产业发展&#xff0c;近日&#xff0c;深圳数据交易所&#xff08;以下简称“深数所”&…...

在MFC(Microsoft Foundation Classes)中 CreateThread函数

CreateThread是Windows API中用于创建新线程的函数。以下是对函数参数的详细解释&#xff1a; lpThreadAttributes&#xff08;可选&#xff09;&#xff1a;指向SECURITY_ATTRIBUTES结构的指针&#xff0c;用于指定线程的安全性。可以设置为NULL&#xff0c;表示使用默认安全…...

Ubuntu 常用命令之 ls 命令用法介绍

Ubuntu ls 命令用法介绍 ls是Linux系统下的一个基本命令&#xff0c;用于列出目录中的文件和子目录。它有许多选项可以用来改变列出的内容和格式。 以下是一些基本的ls命令选项 -l&#xff1a;以长格式列出文件&#xff0c;包括文件类型、权限、链接数、所有者、组、大小、最…...

【解决】Windows 11检测提示电脑不支持 TPM 2.0(注意从DTPM改为PTT)

win11升级&#xff0c;tpm不兼容 写在最前面1. 打开电脑健康状况检查2. 开启tpm3. 微星主板AMD平台开启TPM2.0解决电脑健康状况检查显示可以安装win11&#xff0c;但是系统更新里显示无法更新 写在最前面 我想在台式电脑上用win11的专注模式&#xff0c;但win10不支持 1. 打…...

ChatGPT 也宕机了?如何预防 DDOS 攻击的发生

最近&#xff0c;开发人工智能聊天机器人的公司 OpenAI 遭受了一次规模较大的分布式拒绝服务&#xff08;DDoS&#xff09;攻击&#xff0c;导致其旗下的 ChatGPT 服务在短短 12 小时内遭遇了 4 次断网&#xff0c;众多用户遭受了连接失败的问题。 这次攻击事件引起了广泛的关…...

【杂谈】-递归进化:人工智能的自我改进与监管挑战

递归进化&#xff1a;人工智能的自我改进与监管挑战 文章目录 递归进化&#xff1a;人工智能的自我改进与监管挑战1、自我改进型人工智能的崛起2、人工智能如何挑战人类监管&#xff1f;3、确保人工智能受控的策略4、人类在人工智能发展中的角色5、平衡自主性与控制力6、总结与…...

大型活动交通拥堵治理的视觉算法应用

大型活动下智慧交通的视觉分析应用 一、背景与挑战 大型活动&#xff08;如演唱会、马拉松赛事、高考中考等&#xff09;期间&#xff0c;城市交通面临瞬时人流车流激增、传统摄像头模糊、交通拥堵识别滞后等问题。以演唱会为例&#xff0c;暖城商圈曾因观众集中离场导致周边…...

Nuxt.js 中的路由配置详解

Nuxt.js 通过其内置的路由系统简化了应用的路由配置&#xff0c;使得开发者可以轻松地管理页面导航和 URL 结构。路由配置主要涉及页面组件的组织、动态路由的设置以及路由元信息的配置。 自动路由生成 Nuxt.js 会根据 pages 目录下的文件结构自动生成路由配置。每个文件都会对…...

sqlserver 根据指定字符 解析拼接字符串

DECLARE LotNo NVARCHAR(50)A,B,C DECLARE xml XML ( SELECT <x> REPLACE(LotNo, ,, </x><x>) </x> ) DECLARE ErrorCode NVARCHAR(50) -- 提取 XML 中的值 SELECT value x.value(., VARCHAR(MAX))…...

C++ 求圆面积的程序(Program to find area of a circle)

给定半径r&#xff0c;求圆的面积。圆的面积应精确到小数点后5位。 例子&#xff1a; 输入&#xff1a;r 5 输出&#xff1a;78.53982 解释&#xff1a;由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982&#xff0c;因为我们只保留小数点后 5 位数字。 输…...

AI编程--插件对比分析:CodeRider、GitHub Copilot及其他

AI编程插件对比分析&#xff1a;CodeRider、GitHub Copilot及其他 随着人工智能技术的快速发展&#xff0c;AI编程插件已成为提升开发者生产力的重要工具。CodeRider和GitHub Copilot作为市场上的领先者&#xff0c;分别以其独特的特性和生态系统吸引了大量开发者。本文将从功…...

C++八股 —— 单例模式

文章目录 1. 基本概念2. 设计要点3. 实现方式4. 详解懒汉模式 1. 基本概念 线程安全&#xff08;Thread Safety&#xff09; 线程安全是指在多线程环境下&#xff0c;某个函数、类或代码片段能够被多个线程同时调用时&#xff0c;仍能保证数据的一致性和逻辑的正确性&#xf…...

OPenCV CUDA模块图像处理-----对图像执行 均值漂移滤波(Mean Shift Filtering)函数meanShiftFiltering()

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 在 GPU 上对图像执行 均值漂移滤波&#xff08;Mean Shift Filtering&#xff09;&#xff0c;用于图像分割或平滑处理。 该函数将输入图像中的…...

AspectJ 在 Android 中的完整使用指南

一、环境配置&#xff08;Gradle 7.0 适配&#xff09; 1. 项目级 build.gradle // 注意&#xff1a;沪江插件已停更&#xff0c;推荐官方兼容方案 buildscript {dependencies {classpath org.aspectj:aspectjtools:1.9.9.1 // AspectJ 工具} } 2. 模块级 build.gradle plu…...

初学 pytest 记录

安装 pip install pytest用例可以是函数也可以是类中的方法 def test_func():print()class TestAdd: # def __init__(self): 在 pytest 中不可以使用__init__方法 # self.cc 12345 pytest.mark.api def test_str(self):res add(1, 2)assert res 12def test_int(self):r…...