ACL和NAT

一、ACL

1.概述

  • 访问控制列表Access Control List
  • 是由一系列permit或deny语句组成的、有序规则的列表
  • 是一个匹配工具,对报文进行匹配和区分

2.ACL应用

  • 匹配流量
  • 在traffic-filter中被调用
  • 在NAT(Natwork Address Translation)中被调用
  • 在路由策略中被调用
  • 在防火墙的策略部署中被调用
  • 其他

3.ACL的种类

  • 编号2000-2999---基本ACL----依据数据包当中的源IP地址匹配数据

  • 编号3000-3999---高级ACL----依据数据包当中源、目的IP,源、目的端口、协议号匹配数据

  • 编号4000-4999---二层ACL,MAC、VLAN-id、802.1q

4.ACL配置

4.1步骤

建立acl表格

acl  2000        //建立acl表格

书写规则

rule 编号 处理动作 source ip地址 通配符

编号:规则的序号(不写默认从5开始, 5 10 15 20等,方便修改)

处理动作:permit允许或者deny拒绝

通配符:表示了地址的范围

由上而下一次匹配,一旦匹配立即停止匹配应用规则

应用规则:进入端口应用规则

 4.2通配符掩码

0表示不可变,1表示可变,0和1可以穿插。

  • 单个地址

192.168.1.1   通配符掩码为0(32位都不可变)

  •  网段

192.168.1.0/24   通配符掩码为0.0.0.255(前24位主机位不可变,后8位主机位可以随意变)

  •  表示192.168.1.1/24-192.168.1.7/24

0000 0001

0000 0010

0000 0011

0000 0100 

0000 0101

0000 0110

0000 0111

----------------------有0有1为1,全0全1为0

0000 0111

前24位不变,后8位为0000 0111,也就是通配符掩码为0.0.0.7

  • 表示192.168.1.0/24  全部偶数

0000 0000,0000 0010,0000 0100,0000 0110。。。。。。

二进制最后一位一定为0,0.0.0.1111 1110

255-1=254

通配符掩码为0.0.0.254

练习

Client1只能和Server2通信

AR1配置如下:

u t m

sys

sys R1

int g0/0/0

ip add 192.168.1.254 24

int g0/0/1

ip add 192.168.2.254 24

int g0/0/2

ip add 192.168.3.254 24

q

acl 2000

rule deny source 192.168.1.1 0        //默认编号5  拒绝  来自192.168.1.1 的流量

int g0/0/1

traffic-filter outbound acl 2000        //数据流向在outbound方向接口下调用acl 2000

int g0/0/1

undo traffic-filter outbound

 q

acl 3000

rule deny tcp source 192.168.1.1 0 destination 192.168.2.1 0 destination-port eq www

//拒绝来源于192.168.1.1 去访问192.168.2.1的tcp的80端口

int g0/0/0

traffic-filter inbound acl 3000

总结

基本ACL只可以控制源ip,所以影响范围大,那么最好放在离目的近的端口,减少影响;

高级ACL可以控制的选项较多,影响较小,建议放在离出发地近的端口,在数据处理前减少性能的占用。

二、NAT

1.概述

        NAT(网络地址转换,Network Address Translation)是一种在计算机网络中使用的技术,它允许多个设备共享一个公共IP地址。NAT 的主要目的是解决 IPv4 地址短缺的问题,同时还可以提供一定程度的网络安全。

2.工作原理

出去的时候:将源ip地址 由私网变成公网

回来的时候:将目的ip地址 由私网变成公网

3.NAT的种类

  • 静态NAT

        每个内部 IP 地址都永久映射到一个特定的公共 IP 地址。

以工作原理图为例,对企业出口路由器做静态NAT,使PC1能够访问运营商设备

对企业出口路由器的配置如下:

int g0/0/0

ip add 192.168.1.254 24

int g0/0/1

ip add 200.1.1.1 24

nat static enable

nat static global 200.1.1.1 inside 192.168.1.1        //将内部网络中的私有IP地址192.168.1.1静态映射到外部网络上的公有IP地址200.1.1.1

  • 动态NAT

        使用一个私有IP地址池和一个公有IP地址池,每次内部设备访问互联网时,动态NAT会从公有IP地址池中选择一个未使用的公有IP地址进行映射。

以工作原理图为例,对企业出口路由器做动态NAT,使PC1和PC2能够访问运营商设备

int g0/0/1

undo nat static global 200.1.1.1 inside 192.168.1.1

nat address-group 1 200.1.1.10 200.1.1.50        //定义一个NAT地址组,编号为1,包含从200.1.1.10到200.1.1.50的公有IP地址

nat outbound 2000 address-group 1        //对于匹配ACL 2000的内部网络流量,将其源IP地址转换为NAT地址组1中的一个可用公有IP地址

acl 2000

rule permit source 192.168.1.0 0.0.0.255        //允许源IP地址在192.168.1.0/24网段内的数据包通过

//如果不生效

<>save

reboot

display nat session all

  • easy-ip

        它允许内部网络的多个设备共享一个公共 IP 地址访问外部网络。将ip地址和端口号一起转换。

        工作过程:使用ACL列表匹配私网ip地址;将所有的私网地址映射成路由器当前接口的公网地址。

以工作原理图为例,对企业出口路由器做easy-ip,使PC1和PC2能够访问运营商设备

acl 2000

rule permit source 192.168.1.0 0.0.0.255

int g0/0/1

undo nat address-group 1 200.1.1.10 200.1.1.50

nat outbound 2000

  • nat-server

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

企业出口路由器到运营商设备做默认路由:ip route-static 0.0.0.0 0 200.1.1.2

对企业出口路由器的配置

int g0/0/0

ip add 192.168.1.254

int  g0/0/1
ip address 200.1.1.1 255.255.255.0 
nat server protocol tcp global current-interface www inside 192.168.1.100 www//当外部网络中的设备尝试通过当前接口的IP地址访问HTTP服务(端口80)时, 防火墙会将这些请求的源地址转换为内部网络中IP地址为192.168.1.100的设备, 并将请求的目标端口80映射到该内部设备的80端口。
nat static enable

 把内网的192.168.1.100的80端口映射到外网的200.1.1.1的80端口上,访问200.1.1.1即访问的是192.168.1.100

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

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

相关文章

Linux系统:本机(物理主机)访问不了虚拟机中的apache服务问题的解决方案

学习目标&#xff1a; 提示&#xff1a;本文主要讲述-本机(物理主机)访问不了虚拟机中的apache服务情况下的解决方案 Linux系统&#xff1a;Ubuntu 23.04&#xff1b; 文中提到的“本机”&#xff1a;代表&#xff0c;宿主机&#xff0c;物理主机&#xff1b; 首先&#xff0c…

OpenCV高级图形用户界面(14)交互式地选择一个或多个感兴趣区域函数selectROIs()的使用

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 允许用户在给定的图像上选择多个 ROI。 该函数创建一个窗口&#xff0c;并允许用户使用鼠标来选择多个 ROI。控制方式&#xff1a;使用空格键或…

【Unity新闻】Unity 6 正式版发布

Unity CEO Matt Bromberg 在今天自豪地宣布&#xff0c;Unity 6 正式发布&#xff01;作为迄今为止最强大和稳定的版本&#xff0c;Unity 6 为游戏和应用开发者提供了大量的新功能和工具&#xff0c;帮助他们加速开发并提升性能。 本次正式版是6.0000.0.23f1&#xff08;LTS&a…

Django学习(三)

Django的设计模式及模板层 传统的MVC&#xff08;例如java&#xff09; Django的MTV 模板层&#xff1a; 模板加载&#xff1a; 代码&#xff1a; views.py def test_html(request):#方案一# from django.template import loader# 1. 使用loader加载模板# t loader.get_…

WIFI实现透传+接线图

单片机通过TX接WIFI模块的RX将设置的AT代码写入WIFI模块&#xff08;连接WIFI调为设备模式&#xff08;有设备&#xff0c;路由&#xff0c;双模等模式&#xff09;&#xff09; WIFI模块将响应信号通过TX通过CH340发给PC的RX 通过STC-ISP或安信可串口调试助手查看响应信息 …

Parallels Desktop20最新版本虚拟机 让双系统无缝切换成为现实!

Parallels Desktop 20最新版本虚拟机&#xff1a;让双系统无缝切换成为现实&#xff01; 嘿&#xff0c;各位小伙伴们&#xff5e;&#x1f389; 如果你是像我一样&#xff0c;既爱 Windows 又放不下 macOS 的纠结星人&#xff0c;那今天这篇分享你可要仔细看啰&#xff01;&am…

Linux学习笔记9 文件系统的基础

一、查看文件组织结构 Linux中一切都是文件。 Linux和Win的文件系统不是一个结构&#xff0c;Linux存在的根目录是所有目录的起点。 所有的存储空间和设备共享一个根目录&#xff0c;不同的磁盘块和分区挂载在其下&#xff0c;成为某个子目录的子目录&#xff0c;甚至设备也挂…

Windows系统部署redis自启动服务【亲测可用】

文章目录 引言I redis以本地服务运行(Windows service)使用MSI安装包配置文件,配置端口和密码II redis服务以终端命令启动缺点运行redis-server并指定端口和密码III 知识扩展确认redis-server可用性Installing the Service引言 服务器是Windows系统,所以使用Windows不是re…

图像识别解决方案

图像识别解决方案是一种基于人工智能技术的图像处理和识别方法&#xff0c;能够实现对图像内容的自动分析和理解。以下是朗观视觉小编对图像识别解决方案的详细阐述&#xff1a; 一、技术原理 图像识别解决方案的核心原理是机器学习算法和深度学习网络。通过收集大量的图像数据…

【数据丢失不再怕】新手体验四款恢复数据神器

作为一个电脑新手&#xff0c;我最近遇到了一个让人头疼的问题——不小心删除了一些重要的文件&#xff01;那种感觉&#xff0c;就像是心爱的玩具突然找不到了&#xff0c;整个人都慌了。但是&#xff0c;别担心&#xff0c;我找到了四款数据恢复工具&#xff0c;它们就像我的…

Unity接入人工智能

在Unity接入人工智能中&#xff0c;本篇实现了接入百度智能云ai进行npc智能对话&#xff0c;通过http方式&#xff0c;并非插件&#xff0c;适合于所有支持Http链接的Unity版本。对于Chartgpt可以参考本篇内容的实现过程。 1-4节讲解测试&#xff0c;第5节讲解Unity中的实现&a…

15分钟学Go 第5天:数据类型

第5天&#xff1a;数据类型 在Go语言中&#xff0c;数据类型是构成程序的重要基础&#xff0c;它们定义了可以在程序中使用的数据特征。了解不同的数据类型及其用途将帮助我们更有效地编写Go代码。在本章节中&#xff0c;我们将详细探讨Go语言的基本数据类型。 1. 数据类型的…

jmeter发送post请求

在jmeter中&#xff0c;有两种常用的请求方式&#xff0c;get和post.它们两者的区别在于get请求的参数一般是放在路径中&#xff0c;可以使用用户自定义变量和函数助手等方式进行参数化&#xff0c;而post请求的参数不能随url发送&#xff0c;而是作为请求体提交给服务器。而在…

Linux 手撕线程池

前言 线程池 是 池化技术 中很典型的一个&#xff0c;它旨在高效的管理和复用线程资源&#xff01;在现在的计算机体系中&#xff0c;线程是执行任务&#xff08;调度&#xff09;的基本单位。然而&#xff0c;频繁的创建和销毁线程也会带来较大的开销&#xff0c;包括系统资源…

Unity之XR Interaction Toolkit 射线拖拽3DUI

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、想实现的功能二、实现原理1.UI挂在XRGrabInteractable、刚体、BoxCollder2.修改刚体属性3.加BoxCollder 总结 前言 VR项目里正常情况有放置两种3DUI的方式…

音视频基础知识分享

音视频基础知识分享 RKMedia的各个组件及其交互 首先上图&#xff1a; 考虑到公司业务主要是相机&#xff0c;所以&#xff0c;主要去关注图像数据流&#xff0c;对于音频数据流直接忽略。 图像数据流向&#xff1a; Camera Sensor将光信号转换成电信号&#xff08;Raw数据&…

指针——函数指针数组

&#xff08;一&#xff09;前文回顾 1、前篇代码分析 void(*signal(int , void(*)(int)))(int) ; 那么这串代码究竟是什么呢&#xff1f; 别慌&#xff0c;让我们来一步一步拆解&#xff0c;首先我们通过之前的学习&#xff0c;已经明白了什么是函数指针&#xff08;如果有…

基于Python实现“气象家园”自动签到

一、安装库 pip install OAFuncs 二、导入库 from OAFuncs.oa_sign.meteorological import sign_in_meteorological_home as sign三、签到 email your_email # 16031215qq.com password your_pwd sign(email, password…

VS Code开发qt项目

没整明白&#xff0c;尴尬 安装扩展 设置cmake路径 前提是已经安装了QT 报错 用msvc选windows启动&#xff0c;用mingw则选gdb启动

基于语音识别的停车共享小程序(lw+演示+源码+运行)

目 录 1 绪论1 1.1 课题研究背景1 1.2 研究现状1 1.3 论文结构安排1 2 系统关键技术2 2.1 微信小程序2 2.2 微信Web开发者工具2 2.3 JavaScript简介2 2.4 微信小程序API接口2 2.5 MYSQL数据库2 3 系统分析1 3.1 可行性分析1 3.1.1 技术可行性1 3.1.2 经济可行性1…