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

什么是网络地址转换 (NAT)

网络地址转换(NAT)是更改源和目标 IP 地址和端口的过程,地址转换减少了对 IPv4 公共地址的需求,并隐藏了专用网络地址范围,该过程通常由路由器或防火墙完成。

NAT是如何工作的

NAT 允许单个设备(如路由器)充当 Internet(或公共网络)和本地网络(或专用网络)之间的代理,这意味着只需要一个唯一的 IP 地址即可将整个计算机组表示到其网络之外的任何内容。

地址转换的三种类型

  • 静态 NAT:将一个私有 IP 地址转换为一个公共 IP 地址,公共 IP 地址始终相同。
  • 动态 NAT:专用 IP 地址映射到公共 IP 地址池。
  • 端口地址转换(PAT):一个公共 IP 地址用于所有内部设备,但为每个专用 IP 地址分配一个不同的端口,也称为 NAT 过载。

在思科设备上配置静态 NAT

使用静态 NAT,路由器或防火墙将一个专用 IP 地址转换为单个公共 IP 地址。每个专用 IP 地址映射到单个公共 IP 地址,静态 NAT 不经常使用,因为它要求每个专用 IP 地址有一个公共 IP 地址。

要使用 Network Configuration Manager 在思科设备上配置静态NAT,管理员可以创建相应的Configlet命令并将其推送到多个设备中。

在这里插入图片描述

配置静态NAT

  • 使用源静态PRIVATE_IP PUBLIC_IP命令中的 IP nat 配置专用/公共 IP 地址映射。
  • 使用 ip nat inside 命令配置路由器的内部接口。
  • 使用 ip nat 外部命令配置路由器的外部接口。
配置名称配置静态 NAT - Cisco
描述此配置用于在思科设备中配置静态NAT。
执行模式脚本执行模式
配置文件configure terminal
ip nat inside source static $PRIVATE_IP
$PUBLIC_IP
interface $INSIDE_INTF
ip nat inside
exit
interface $OUTSIDE_INTF
ip nat outside
exit
exit
show ip nat translations
write memory

在思科设备中配置动态 NAT

使用动态 NAT,管理员可以在 Cisco 路由器上指定两组地址:

  • 将要翻译的内部地址。
  • 全局地址池。

与静态 NAT 不同,在静态 NAT 中,管理员必须手动定义专用地址和公共地址之间的静态映射,而使用动态 NAT 时,本地地址到全局地址的映射是动态发生的。这意味着路由器会从当前未分配的全局地址池中动态选取一个地址。它可以是全局地址池中的任何地址。只要交换流量,动态条目就会保留在 NAT 转换表中。

配置动态 NAT

  • 使用 ip nat inside 命令配置路由器的内部接口。
  • 使用 ip nat 外部命令配置路由器的外部接口。
  • 配置具有要转换的内部源地址列表的 ACL。
  • 使用 IP nat 池名称FIRST_IP_ADDRESS LAST_IP_ADDRESS网络掩码SUBNET_MASK命令配置全局 IP 地址池。
  • 使用源列表内的 IP NAT 启用动态 NAT,ACL_NUMBER池 NAME 全局配置命令。
配置名称配置动态 NAT - Cisco
描述此配置用于在思科设备上配置动态 NAT。
执行模式脚本执行模式
配置文件configure terminal
interface $INSIDE_INTF
ip nat inside
exit
interface $OUTSIDE_INTF
ip nat outside
exit
access-list $ACL_ID permit
$SOURCE_ADDRESS $SUBNET_MASK
ip nat pool $POOL_NAME
$POOL_START_ADDRESS
$POOL_END_ADDRESS netmask $NETMASK
ip nat inside source list $ACL_ID pool
$POOL_NAME
exit
show ip nat translations
write memory

在思科设备上配置端口地址转换 (PAT)

使用端口地址转换 (PAT),单个公共 IP 地址用于所有内部专用 IP 地址,但为每个专用 IP 地址分配不同的端口。这种类型的 NAT 也称为 NAT 过载,是当今网络中使用的 NAT 的典型形式。大多数消费级路由器甚至都支持它。

PAT 允许仅使用少量公共 IP 地址支持许多主机。它通过创建动态 NAT 映射来工作,其中选择了全局(公共)IP 地址和唯一端口号。路由器为私有 IP 地址和端口的每个唯一组合保留一个 NAT 表条目,并转换为全局地址和唯一的端口号。

使用 Network Configuration Manager 应用程序创建相应的 Configlet 命令,这将帮助管理员同时在多个设备上执行相同的操作。

配置端口地址转换 (PAT)

  • 使用 ip nat inside 命令配置路由器的内部接口。
  • 使用 ip nat 外部命令配置路由器的外部接口。
  • 配置一个访问列表,其中包含应转换的内部源地址的列表。
  • 使用 IP nat 在源列表中启用 PAT ACL_NUMBER接口类型重载全局配置命令。
配置名称配置 PAT - 端口地址转换 - Cisco
描述此配置用于在思科设备上配置端口地址转换 PAT
执行模式脚本执行模式
配置文件configure terminal
interface $INSIDE_INTF
ip nat inside
exit
interface $OUTSIDE_INTF
ip nat outside
exit
access-list $ACL_ID permit
$SOURCE_ADDRESS $SUBNET_MASK
ip nat pool $POOL_NAME $POOL_ADDRESS
$POOL_ADDRESS netmask $NETMASK
ip nat inside source list $ACL_ID pool
$POOL_NAME overload
exit
show ip nat translations
write memory

相关文章:

什么是网络地址转换 (NAT)

网络地址转换(NAT)是更改源和目标 IP 地址和端口的过程,地址转换减少了对 IPv4 公共地址的需求,并隐藏了专用网络地址范围,该过程通常由路由器或防火墙完成。 NAT是如何工作的 NAT 允许单个设备(如路由器…...

系统架构设计师---事务管理、并发控制、数据库的备份与恢复

目录 事务管理 定义 事务的四个特性(ACID) 相关SQL语句 并发控制...

如何更好的维护自己的电脑?

我的笔记本电脑 我使用的华硕天选3是一款游戏本,搭载了英特尔酷睿i7-12700H处理器,16GB内存,512GB固态硬盘和NVIDIA GeForce RTX 3050显卡。屏幕尺寸为15.6英寸,分辨率为2560x1440。对于日常使用和工作学习娱乐都能满足要求。 日常…...

element+vue 表格行拖拽功能

解决方案 使用 sortable.js 步骤一&#xff1a; 安装 npm install vuedraggable步骤二&#xff1a;引入 import Sortable from sortablejs;步骤三&#xff1a; el-table 添加row-key属性&#xff0c;外层包一层 sortableDiv <div class"sortableDiv"> 拖…...

Python学习笔记_基础篇(三)_数据类型之列表

一.基本数据类型 整数&#xff1a;int 字符串&#xff1a;str(注&#xff1a;\t等于一个tab键) 布尔值&#xff1a; bool 列表&#xff1a;list &#xff08;元素的集合&#xff09; 列表用[] 元祖&#xff1a;tuple 元祖用&#xff08;&#xff09; 字典&#xff1a;dict 注&a…...

目标检测YOLO实战应用案例100讲-交通目标检测中传感器数据采集容错控制方法

目录 前言 交通传感器数据采集相关理论基础 2.1交通目标检测系统数据采集简介...

ElasticSearch 8.9.0 开发模式安装

ElasticSearch 8.9.0 开发模式安装 MacOS&#xff08;Apple芯片&#xff09;&#xff1a;https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.9.0-darwin-aarch64.tar.gz Linux&#xff1a;https://artifacts.elastic.co/downloads/elasticsearch/elasti…...

docker部署redis

这里写目录标题 1.安装Redis2.新建挂载文件夹3.配置redis4.创建redis容器&#xff0c;挂载启动命令连接测试 Docker停止、删除、重启、启动容器 1.安装Redis 通过docker search redis和docker pull redis下载redis镜像 2.新建挂载文件夹 新建data和conf两个文件夹&#xff0…...

ZooKeeper的应用场景(分布式锁、分布式队列)

7 分布式锁 分布式锁是控制分布式系统之间同步访问共享资源的一种方式。如果不同的系统或是同一个系统的不同主机之间共享了一个或一组资源&#xff0c;那么访问这些资源的时候&#xff0c;往往需要通过一些互斥手段来防止彼此之间的干扰&#xff0c;以保证一致性&#xff0c;…...

seata 的部署和集成

文章目录 seata的部署和集成一、部署Seata的tc-server1.下载2.解压3.修改配置4.在nacos添加配置5.创建数据库表6.启动TC服务 二、微服务集成seata1.引入依赖2.修改配置文件 TODO三、TC服务的高可用和异地容灾1.模拟异地容灾的TC集群2.将事务组映射配置到nacos3.微服务读取nacos…...

C++入门基础(万字详解!!!)

文章目录 前言1.C关键字2.命名空间3.C的输入输出4.缺省参数4.1 全缺省4.2 半缺省 5.函数重载6. 引用6.1 引用的特性6.2 引用的使用场景6.3 引用和指针 7.内联函数7.1 特性 8.auto关键字8.1 注意事项 9. 基于范围的for循环9.1 使用条件 10.指针控制nullptr10.1 注意事项 11.总结…...

神经网络基础-神经网络补充概念-53-将batch norm拟合进神经网络

代码实现 import numpy as np import tensorflow as tf from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Dense, BatchNormalization, Activation from tensorflow.keras.optimizers import SGD# 生成随机数据 np.random.seed(0) X np.…...

Sping源码(六)— prepareBeanFactory()

前言 前几篇已经介绍lBeanFactory的创建已经xml配置文件中自定义标签和默认标签的解析过程&#xff0c;此时的BeanFactory中已经包含了xml文件中的标签属性。但BeanFactory中还有一些本身重要的属性没有填充&#xff0c;所以接着方法继续往下看BeanFactory中的属性是如何填充的…...

LeetCode(力扣)257. 二叉树的所有路径Python

LeetCode257. 二叉树的所有路径 题目链接代码 题目链接 https://leetcode.cn/problems/binary-tree-paths/ 代码 # Definition for a binary tree node. # class TreeNode: # def __init__(self, val0, leftNone, rightNone): # self.val val # self.…...

nodejs实现http与https服务;同时处理proxy代理的解决方案

// nodejs服务提供的http协议示例 const http require(http); const server http.createServer((req, res) > {res.writeHead(200, { Content-Type: text/html;charsetutf8 });res.end(Date.now() > http访问成功8080) }); server.listen(8080, () > {console.lo…...

C# WPF ListBox 动态显示图片

前言 最近在和其他软件联合做一个本地图片选择传输功能&#xff0c;为此希望图片能够有序的呈现在客户端&#xff0c;简单的实现了一下功能&#xff0c;通过Mvvm模式进行呈现&#xff0c;过程简单通俗&#xff0c;话不多说直接上图。 处理过程 前台代码 你只需要粘贴到你的前台…...

游戏如何防御DDOS流量攻击呢,用游戏盾真的有用么?

针对在线游戏行业来说&#xff0c;DDoS&#xff08;分布式拒绝服务&#xff09;攻击是一种极具破坏性的威胁。DDoS攻击可能导致游戏服务器不可用&#xff0c;严重影响游戏体验和运营。为了解决这一问题&#xff0c;游戏盾作为一种专门为游戏行业设计的安全解决方案&#xff0c;…...

vue项目引入antDesignUI组件

快速安装ant-design-vue并配置&#xff0c;vue2.0 antDesign1.7.8 第一步&#xff1a;安装ant-deisgn-vue 1.7.8 npm install ant-design-vue1.7.8 --save第二步&#xff1a;配置package.json文件&#xff0c;将依赖写入后&#xff0c;npm install 安装依赖 "dependenc…...

非结构化数据库-MinIO基本集成

是什么 MinIO 是一个高性能的分布式对象存储服务&#xff0c;适合存储非结构化数据&#xff0c;如图片&#xff0c;音频&#xff0c;视频&#xff0c;日志等。对象文件最大可以达到5TB。 安装启动 mkdir -p /usr/local/minio cd /usr/local/minio# 下载安装包 wget https:/…...

Etcd备份及恢复

一、Etcd数据备份 1、备份命令 [rootlocalhost ~]# export ETCDCTL_API3 [rootlocalhost ~]# /data/etcd-3.4.9/bin/etcdctl --endpoints10.2.20.108:2379 snapshot save etcd-date "%Y-%m-%d_%H-%M-%S".snapshot 2、备份完成后会在当前目录生成备份文件 [rootlo…...

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型

摘要 拍照搜题系统采用“三层管道&#xff08;多模态 OCR → 语义检索 → 答案渲染&#xff09;、两级检索&#xff08;倒排 BM25 向量 HNSW&#xff09;并以大语言模型兜底”的整体框架&#xff1a; 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后&#xff0c;分别用…...

Java 语言特性(面试系列2)

一、SQL 基础 1. 复杂查询 &#xff08;1&#xff09;连接查询&#xff08;JOIN&#xff09; 内连接&#xff08;INNER JOIN&#xff09;&#xff1a;返回两表匹配的记录。 SELECT e.name, d.dept_name FROM employees e INNER JOIN departments d ON e.dept_id d.dept_id; 左…...

Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以?

Golang 面试经典题&#xff1a;map 的 key 可以是什么类型&#xff1f;哪些不可以&#xff1f; 在 Golang 的面试中&#xff0c;map 类型的使用是一个常见的考点&#xff0c;其中对 key 类型的合法性 是一道常被提及的基础却很容易被忽视的问题。本文将带你深入理解 Golang 中…...

微软PowerBI考试 PL300-选择 Power BI 模型框架【附练习数据】

微软PowerBI考试 PL300-选择 Power BI 模型框架 20 多年来&#xff0c;Microsoft 持续对企业商业智能 (BI) 进行大量投资。 Azure Analysis Services (AAS) 和 SQL Server Analysis Services (SSAS) 基于无数企业使用的成熟的 BI 数据建模技术。 同样的技术也是 Power BI 数据…...

条件运算符

C中的三目运算符&#xff08;也称条件运算符&#xff0c;英文&#xff1a;ternary operator&#xff09;是一种简洁的条件选择语句&#xff0c;语法如下&#xff1a; 条件表达式 ? 表达式1 : 表达式2• 如果“条件表达式”为true&#xff0c;则整个表达式的结果为“表达式1”…...

【ROS】Nav2源码之nav2_behavior_tree-行为树节点列表

1、行为树节点分类 在 Nav2(Navigation2)的行为树框架中,行为树节点插件按照功能分为 Action(动作节点)、Condition(条件节点)、Control(控制节点) 和 Decorator(装饰节点) 四类。 1.1 动作节点 Action 执行具体的机器人操作或任务,直接与硬件、传感器或外部系统…...

学习STC51单片机31(芯片为STC89C52RCRC)OLED显示屏1

每日一言 生活的美好&#xff0c;总是藏在那些你咬牙坚持的日子里。 硬件&#xff1a;OLED 以后要用到OLED的时候找到这个文件 OLED的设备地址 SSD1306"SSD" 是品牌缩写&#xff0c;"1306" 是产品编号。 驱动 OLED 屏幕的 IIC 总线数据传输格式 示意图 …...

微服务商城-商品微服务

数据表 CREATE TABLE product (id bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 商品id,cateid smallint(6) UNSIGNED NOT NULL DEFAULT 0 COMMENT 类别Id,name varchar(100) NOT NULL DEFAULT COMMENT 商品名称,subtitle varchar(200) NOT NULL DEFAULT COMMENT 商…...

汇编常见指令

汇编常见指令 一、数据传送指令 指令功能示例说明MOV数据传送MOV EAX, 10将立即数 10 送入 EAXMOV [EBX], EAX将 EAX 值存入 EBX 指向的内存LEA加载有效地址LEA EAX, [EBX4]将 EBX4 的地址存入 EAX&#xff08;不访问内存&#xff09;XCHG交换数据XCHG EAX, EBX交换 EAX 和 EB…...

Angular微前端架构:Module Federation + ngx-build-plus (Webpack)

以下是一个完整的 Angular 微前端示例&#xff0c;其中使用的是 Module Federation 和 npx-build-plus 实现了主应用&#xff08;Shell&#xff09;与子应用&#xff08;Remote&#xff09;的集成。 &#x1f6e0;️ 项目结构 angular-mf/ ├── shell-app/ # 主应用&…...