路由 NAT(简介、静态NAT、动态NAT、NATServer、NAPT、Easy-ip、NAT地址映射表)

news2024/12/26 10:57:13

4.1.0 路由 NAT(简介、静态NAT、动态NAT、NATServer、NAPT、Easy-ip、NAT地址映射表)

目录

  • 简介
  • NAT地址映射表
  • 静态NAT
    • 简介
    • 操作案例
  • 动态NAT
    • 简介
    • 操作案例
  • NAT Server
    • 简介
    • 操作案例
  • NAPT
    • 简介
    • 操作案例
  • Easy-ip
    • 简介
    • 操作案例

简介

为了有效节约公网IPv4地址,并提供一定的网络安全保障能力,NAT网络地址转换技术孕育而生。

NAT(Network Address Translation)网络地址转换,主要将私有地址转换成公网地址

NAT优点

  • 能够缓解公网地址紧缺问题。
  • 解决IP地址空间冲突或重叠的问题。
  • 网络扩展性更高,本地控制也更容易。
  • 内网结构变得不可见,从而增加了安全性。

NAT缺点

  • 因为地址映射的原因,当网络转换过多时会存在转发延迟的问题。
  • 端到端寻址变得困难,因为经过了NAT地址转换相当于换了张脸,想找人就难了。
  • 对于某些应用,无法支持NAT。
  • NAT产生的表项会占用设备在内存空间。
  • 进行NAT地址转换的设备性能要求高。

NAT地址映射表

主要有四个地址信息,NAT的地址转换核心就在这四个地址中。

内部本地地址(Inside Local)——本地私网地址

内部全局地址(Inside Global)——私网转换成的公网地址

外部本地地址(Outside Local)——公网转换成的私网地址

外部全局地址(Outside Global)——外部公网地址

为了方便理解,通过以下两个实验进行相应地址的对应:

在这里插入图片描述

# 内网1中的PC1访问外网202.1.2.2的时候,转换成外网接口地址。
由于ENSP中使用dis nat mapping table all 查看地址映射表会卡顿甚至无法使用,所以用文字进行表示:
【AR1映射表】
内部本地地址:192.168.1.10:随机端口
内部全局地址:202.1.2.1:随机端口
外部本地地址:202.1.2.2:随机端口 or 空 【因为对于AR1来说,AR2内网地址是不知道的,所以可为空】
外部全局地址:202.1.2.2:随机端口
【AR2映射表】
内部本地地址:192.168.2.10:随机端口
内部全局地址:202.1.2.2:随机端口
外部本地地址:202.1.2.1:随机端口 or 空
外部全局地址:202.1.2.1:随机端口
# AR2上将Server1中的80端口 映射成公网地址202.1.2.1:80,实现内网1的PC访问202.1.2.2:80时能够访问到Server1的网页。

【AR1映射表】
内部本地地址:192.168.1.10:随机端口
内部全局地址:202.1.2.1:随机端口
外部本地地址:202.1.2.2:80 or 空
外部全局地址:202.1.2.2:80
【AR2映射表】
内部本地地址:192.168.2.10:80
内部全局地址:202.1.2.2:80
外部本地地址:202.1.2.1:随机端口 or 空
外部全局地址:202.1.2.1:随机端口

静态NAT

简介

私有地址与公网地址一对一映射,不管主机是否在线,地址映射依旧存在。

可实现内外网的双向访问,因为静态NAT中的映射表是固定的。

静态NAT可以实现私网地址映射成公网地址,也能实现公网地址映射成私网地址

该NAT模式非常浪费公网地址,只能实现一个私网与一个公网地址的映射。

操作案例

配置静态NAT会将公网地址与私网地址进行一对一的映射,即公网地址=私网地址私网地址=公网地址

在这里插入图片描述

AR1:
interface GigabitEthernet0/0/0
 ip address 202.1.2.1 255.255.255.0 
 nat static global 202.1.2.5 inside 192.168.1.10 netmask 255.255.255.255
 nat static enable


AR2:
interface GigabitEthernet0/0/0
 ip address 202.1.2.2 255.255.255.0 
 nat static global 202.1.2.20 inside 192.168.2.10 netmask 255.255.255.255
 nat static enable
 
现象:
Client1可以通过202.1.2.20访问Server1的服务
Server1可以通过访问202.1.2.10访问到Client1

动态NAT

简介

为避免地址浪费,创建地址池。当私网地址需要访问外网时,从地址池中取出一个地址与私有地址一对一临时映射。

当内部主机访问外网时,地址标记为In Use,不使用时将回收地址重新标记为Not Use。

该NAT模式无法实现内外网的双向访问,因为动态NAT中的映射表是动态变化的。

且访问需求大的时候会因为地址池供应不够而导致有的用户无法正常获取公网地址访问外网。

操作案例

ENSP中配置动态NAT的时候有BUG,

私网客户端访问会直接消耗完所有的外网地址(哪怕地址池很多公网地址,一台私网设备也会独自使用完)

在这里插入图片描述

AR1:
# 创建地址池0
[AR1]nat address-group 0 202.1.2.5 202.1.2.7

# 创建区域列表,当识别为内网1主机时才进行NAT地址转换
[AR1]acl 2000
[AR1-acl-basic-2000]rule permit source 192.168.1.0 0.0.0.255

# 配置动态NAT,设置匹配列表,设置地址池0,no-pat表示不进行端口转换(否则就是NAPT模式了)
[AR1]int g0/0/0
[AR1-GigabitEthernet0/0/0]nat outbound 2000 address-group 0 no-pat 

NAT Server

简介

实现内网服务器被外网用户所访问,将私网地址外网地址进行一个端口映射的操作。

如:将内网192.168.2.10:80与外网地址202.1.2.2:80进行一个映射,当外网其它主机访问202.1.2.2:80的时候就会访问到内网的192.168.2.10:80服务器

操作案例

在这里插入图片描述

AR1:
interface GigabitEthernet0/0/0
 ip address 202.1.2.1 255.255.255.0 
 nat static global 202.1.2.5 inside 192.168.1.10 netmask 255.255.255.255
 nat static enable

AR2:
interface GigabitEthernet0/0/0
 ip address 202.1.2.2 255.255.255.0 
 # 将192.168.2.10:80与当前接口的8888端口映射
 nat server protocol tcp global current-interface 8888 inside 192.168.2.10 www

在这里插入图片描述

NAPT

简介

动态NAT相似,不同的是一个私网地址访问外网时转换成公网地址随机端口进行访问。

如:192.168.1.1访问外网时使用地址池中 202.1.2.5:12345 与外网的其它地址进行互访。

操作案例

在这里插入图片描述

AR1:
# 创建地址池0
[AR1]nat address-group 0 202.1.2.5 202.1.2.7

# 创建区域列表,当识别为内网1主机时才进行NAT地址转换
[AR1]acl 2000
[AR1-acl-basic-2000]rule permit source 192.168.1.0 0.0.0.255

# 配置NAPT,设置匹配列表,设置地址池0,不添加no-pat则为NAPT模式
[AR1]int g0/0/0
[AR1-GigabitEthernet0/0/0]nat outbound 2000 address-group 0

Easy-ip

简介

将私网地址转换成公网接口的随机端口,是小型网络常用的一种实现内网访问外网的方式。

操作案例

在这里插入图片描述

AR1:
[AR1]acl 2000
[AR1-acl-basic-2000]rule permit source 192.168.1.10 0 
[AR1-acl-basic-2000]q
[AR1]int g0/0/0
[AR1-GigabitEthernet0/0/0]nat outbound 2000 

AR2:
interface GigabitEthernet0/0/0
 ip address 202.1.2.2 255.255.255.0 
 nat server protocol tcp global current-interface 8888 inside 192.168.2.10 www
#

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

QT 学习笔记(十二)

文章目录一、文件系统1. 文件系统简介2. 文件系统分类二、基本文件操作1. QFile 读文件2. QFile 写文件3. QFileInfo 获取文件信息三、基本文件操作代码1. 主窗口头文件 widget.h2. 主窗口源文件 widget.cpp由于每次代码都是在原有程序上修改,因此除了新建项目&…

物联网与射频识别技术,课程实验(三)

实验3—— 时隙ALOHA(S-ALOHA)算法的实现及其性能分析 实验说明: 1. 利用Python或Matlab模拟时隙ALOHA算法; 分析标签数量k、时隙大小t对信道利用率的影响,其中, 信道利用率发送数据的时间/(发送数据的时间信道空闲的时间) 3. …

10、中断系统概述

目录 0x01、异常类型 0x0001、系统异常清单 0x0002、外部中断清单 0x02、NVIC 简介 0x0001、NVIC 寄存器 0x0002、NVIC 中断配置固件库 0x03、优先级 0x0001、优先级定义 0x0002、优先级分组 0x0003、中断编程 0x01、异常类型 STM32F103 在内核水平上搭载了一个异常响…

重金打造SEA浩瀚架构,吉利的野心绝不仅仅是一个平台

(作者:贝贝。常年供职于某外资整车企业产品规划部门,负责全球车型在国内的引入和投放)最近几个月,吉利旗下的中高端电动车品牌极氪汽车销量一路走高。单凭借极氪001一款车型,10月、11月交付量连续破万&…

查找:折半查找、平衡二叉树、散列表(习题-1、5、6)二叉排序树(习题-2、3、4)

一个不知名大学生,江湖人称菜狗 original author: jacky Li Email : 3435673055qq.com Time of completion:2023.1.1 Last edited: 2023.1.1 目录 查找:折半查找、平衡二叉树、散列表(习题-1、5、6) 第1关&#xff1…

04.spring源码循环依赖终极讲解

1.Spring怎么解决循环依赖 我们都知道&#xff0c;单例Bean初始化完成&#xff0c;要经历三步&#xff1a; 注入就发生在第二步&#xff0c;属性赋值&#xff0c;结合这个过程&#xff0c;Spring 通过三级缓存解决了循环依赖&#xff1a; 一级缓存 : Map<String,Object>…

PUCCH传输UCI信息

上报HARQ-ACK 时序 传输HARQ-ACK信息的时序不再像4G那样固定&#xff0c;而是由基站侧配置给UE。有下面几种情况&#xff1a; 如果UE收到的是DCI format 1_0&#xff0c;其中的字段’PDSCH-to-HARQ_feedback timing indicatior’指示HARQ-ACK与PDSCH的时序关系&#xff0c;该…

Linux之孤儿进程、进程优先级、环境变量

本章目录1.孤儿进程2.状态优先级3.环境变量1.孤儿进程 父进程如果提前退出&#xff0c;那么子进程后退出&#xff0c;进入Z之后&#xff0c;那该如何处理&#xff1f; 父进程先退出&#xff0c;子进程还在&#xff0c;子进程就称之为“孤儿进程”。 孤儿进程被1号init进程&am…

移动安全APT事件总结及防御解决方案探讨

声明 本文是学习移动安全总结 2019. 下载地址而整理的学习笔记,分享出来希望更多人受益,如果存在侵权请及时联系我们 2019年各地移动APT事件总结 2019年世界依旧不太平&#xff0c;在表面平静的背后是暗流涌动。大规模军事冲突不会发生的当下&#xff0c;因利益&#xff0c;…

Python全栈开发(一)——环境搭建和入门

今天是2023年的第一天&#xff0c;接下来的一个月里&#xff0c;我将持续更新关于python全栈开发的相关知识&#xff0c;前面一段时间都是基础语法。主要分成四大块&#xff1a;基础、面向对象、MYSQL数据库、Django框架。话不多说&#xff0c;进入到今天的主题。 1.文档和工具…

聊聊最适合程序员的画图工具

画图工具 没问题&#xff0c;直接坦白讲&#xff0c;我用了 2 年的画图工具是&#xff1a;draw.io。 我的图解文章里的图片全是在 draw.io 这个工具画的&#xff0c;写了那么久的图解文章&#xff0c;再加上我工作中也有画图的习惯&#xff0c;累计也有在上面画了接近 1000 张…

树形压缩DP——没有上司的舞会

树形压缩DP——没有上司的舞会一、问题描述二、DFS暴搜1、算法思路2、代码实现三、DP做法一、问题描述 二、DFS暴搜 1、算法思路 这道题其实最容易想到的是暴力DFS&#xff0c;然后选出一个最大值。我们平时会在DFS的形参中设置一个变量表示子树的根。但是今天这道题还涉及到…

mysql的事务和锁

【MySQL事务和锁】 学习原文&#xff1a;https://blog.csdn.net/zly03/article/details/127170995 事务四大特性&#xff1a;原子性、一致性、隔离性、持久性&#xff0c;简称ACID MySQL中支持3种不同的存储引擎&#xff1a; MyISAM存储引擎、Memory存储引擎、和InnoDB存储引…

CMake使用外部动态库/静态库和头文件

CMake使用外部动态库/静态库和头文件一、准备工作二、新建一个新的CMake工程三、开始构建四、为target添加共享库五、链接静态库一、准备工作 在博文《使用CMake构建静态库和动态库》中已经介绍了libhello动态库的构建和安装&#xff0c;现在我们看看如何使用这个外部动态库。…

iOS 15.0+ 中 SwiftUI 顶部或底部悬浮功能小面板的极简实现

功能需求 我们有时需要在 App 主视图的顶部或底部固定悬浮放置一个功能视图: 如上图所示,我们将一个列表项目输入小面板按需放在主视图的顶部或底部: 当放置在顶部时,解决了其对导航栏(NavigationView)中 toolbar 内容的遮挡问题;当放置在底部时,考虑到了其对列表最后…

spring boot 实现搜索引擎的设计思想

目录 实现思路 索引模块 预处理 对文档进行分词 搜索模块 实现思路 索引构建模块 搜索模块 数据库模块 索引模块 对于搜索一个东西&#xff0c;我们很自然的能想到遍历去查找。比如我要查找一本书叫 《红楼梦》&#xff0c;那么我直接在所有结果中进行遍历查找&#xff…

druid解析-过滤器详解

druid支持过滤器&#xff0c;可以在获取连接或者调用连接对象的方法时&#xff0c;先调用过滤器&#xff0c;之后再执行底层方法&#xff0c;比如DruidDataSource的getConnection()方法&#xff1a; public DruidPooledConnection getConnection(long maxWaitMillis) throws SQ…

网络安全一哥的奇安信发布了全球高级可持续威胁年度报告 值得学习

声明 本文是学习全球高级持续性威胁 APT 2021年度报告. 下载地址而整理的学习笔记,分享出来希望更多人受益,如果存在侵权请及时联系我们 中国境内高级持续性威胁综述 基于中国境内海量DNS域名解析和奇安信威胁情报中心失陷检测&#xff08;IOC&#xff09;库的碰撞分析&…

9_1、Java基本语法之常用类String、StringBuffer、StringBuilder的使用

一、String的使用及常用方法 1、概述 String:表示字符串&#xff0c;使用""引起来。 1.1、String类是声明为final的&#xff0c;不可被继承。 1.2、String类实现了Serializable接口&#xff0c;表示字符串支持序列化。 …

【王道操作系统】2.1.3 原语实现对进程的控制

原语实现对进程的控制 文章目录原语实现对进程的控制1.什么是进程控制2.原语实现对进程的控制3.回忆进程的组织4.进程控制大致图解5.进程控制原语的相同点6.进程控制的五种原语1.什么是进程控制 2.原语实现对进程的控制 3.回忆进程的组织 4.进程控制大致图解 这里说明一下调度和…