NAT---网络地址转换技术

2024-03-25 23:04
文章标签 技术 转换 nat 网络地址

本文主要是介绍NAT---网络地址转换技术,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Network Address Translation

1、起源:ip地址不够用

2、作用:让私网地址映射成公网地址,进而访问网络。

3、私网Ip地址的范围:

A类:10.0.0.0-10.255.255.255

B类:172.16.0.0-172.31.255.255

C类:192.168.0.0-192.168.255.255

4、缺点:破坏了端到端的环境

【数据包传输过程】(两个过程相反)

1、数据包从内网到外网查看路由表,查看目的是否可达,如果可达,再对源ip进行转换,不可达就丢弃。

2、数据包从外网到内网转换成私有的ip地址,然后查看路由表。(公网回来不知道私网的IP地址)隐藏内部网络拓扑

NAT的相关术语

1.内部本地地址(inside local)转换之前的私有IP地址 192.168.10.1

2.内部全局地址(inside global)转换之后的公有IP地址 202.101.1.1

3.外部本地地址(outside local)

4.外部全局地址(outside global)

nat分类】

1、静态nat

对私网的地址做一对一的映射,一个私有地址映射一个公有地址

ip nat inside source static 192.168.1.1 12.12.12.3

//对源ip地址192.168.1.1映射成公网12.12.12.3(与公网物理端口处于同一网段即可)

Router(config)#int e0/0

Router(config-if)#ip nat inside          //制定nat内接口

Router(config)#int e0/1

Router(config-if)#ip nat outside       //制定nat外接口

ip route 0.0.0.0 0.0.0.0 12.12.12.2   //默认路由

带端口的静态NAT

R3(config)#ip nat inside source static tcp 192.168.100.100 23 202.101.23.200 233        //将对202.101.23.200的233端口通过TCP连接的数据包,通过NAT转换给192.168.100.100的23端口

2、动态nat

通过地址池来实现,购买公网的一个ip地址范围,本质也是一对一的映射,如果ip地址不用了就收回来。

access-list 1 permit 192.168.1.0 0.0.0.255---匹配感兴趣流量

ip nat pool qq 12.12.12.10 12.12.12.20 netmask 255.255.255.0---公网地址池

ip nat inside source list 1 pool qq---转换

Router(config)#int e0/0

Router(config-if)#ip nat inside ---制定nat内接口

Router(config)#int e0/1

Router(config-if)#ip nat outside---制定nat外接口

ip route 0.0.0.0 0.0.0.0 12.12.12.2---默认路由

地址池复用:在地址池中,实现多对一的映射。

ip nat inside source list 1 pool qq overload 

3pat---port nat 端口nat

         非常常见的NAT转换,经常使用在家庭或者公司,配置很简单。只允许用户主动访问互联网,不允许互联网访问用户。内网用户转换后产生的转换表30s清空一次

access-list 1 permit 192.168.1.0 0.0.0.255---匹配感兴趣流量

ip nat inside source list 1 interface e0/1 overload ---转换

Router(config)#int e0/0

Router(config-if)#ip nat inside ---制定nat内接口

Router(config)#int e0/1

Router(config-if)#ip nat outside---制定nat外接口c

ip route 0.0.0.0 0.0.0.0 12.12.12.2---默认路由

检查NAT:

Router#sh ip nat translations ----查看nat转换情况

Router#sh ip nat statitice ----查看nat静态转化情况

Router#sh access-list ---查看nat列表转化情况

Router#debug ip nat---查看数据包显示信息, PCping外网的时候在在边界路由上的抓包

Router#un all--关掉debug  no debug all 真机谨慎使用

这篇关于NAT---网络地址转换技术的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/846536

相关文章

使用Python批量将.ncm格式的音频文件转换为.mp3格式的实战详解

《使用Python批量将.ncm格式的音频文件转换为.mp3格式的实战详解》本文详细介绍了如何使用Python通过ncmdump工具批量将.ncm音频转换为.mp3的步骤,包括安装、配置ffmpeg环... 目录1. 前言2. 安装 ncmdump3. 实现 .ncm 转 .mp34. 执行过程5. 执行结

Java实现将HTML文件与字符串转换为图片

《Java实现将HTML文件与字符串转换为图片》在Java开发中,我们经常会遇到将HTML内容转换为图片的需求,本文小编就来和大家详细讲讲如何使用FreeSpire.DocforJava库来实现这一功... 目录前言核心实现:html 转图片完整代码场景 1:转换本地 HTML 文件为图片场景 2:转换 H

Python中Json和其他类型相互转换的实现示例

《Python中Json和其他类型相互转换的实现示例》本文介绍了在Python中使用json模块实现json数据与dict、object之间的高效转换,包括loads(),load(),dumps()... 项目中经常会用到json格式转为object对象、dict字典格式等。在此做个记录,方便后续用到该方

使用Java读取本地文件并转换为MultipartFile对象的方法

《使用Java读取本地文件并转换为MultipartFile对象的方法》在许多JavaWeb应用中,我们经常会遇到将本地文件上传至服务器或其他系统的需求,在这种场景下,MultipartFile对象非... 目录1. 基本需求2. 自定义 MultipartFile 类3. 实现代码4. 代码解析5. 自定

Python中高级文本模式匹配与查找技术指南

《Python中高级文本模式匹配与查找技术指南》文本处理是编程世界的永恒主题,而模式匹配则是文本处理的基石,本文将深度剖析PythonCookbook中的核心匹配技术,并结合实际工程案例展示其应用,希... 目录引言一、基础工具:字符串方法与序列匹配二、正则表达式:模式匹配的瑞士军刀2.1 re模块核心AP

Python进行JSON和Excel文件转换处理指南

《Python进行JSON和Excel文件转换处理指南》在数据交换与系统集成中,JSON与Excel是两种极为常见的数据格式,本文将介绍如何使用Python实现将JSON转换为格式化的Excel文件,... 目录将 jsON 导入为格式化 Excel将 Excel 导出为结构化 JSON处理嵌套 JSON:

springboot自定义注解RateLimiter限流注解技术文档详解

《springboot自定义注解RateLimiter限流注解技术文档详解》文章介绍了限流技术的概念、作用及实现方式,通过SpringAOP拦截方法、缓存存储计数器,结合注解、枚举、异常类等核心组件,... 目录什么是限流系统架构核心组件详解1. 限流注解 (@RateLimiter)2. 限流类型枚举 (

Python实现PDF按页分割的技术指南

《Python实现PDF按页分割的技术指南》PDF文件处理是日常工作中的常见需求,特别是当我们需要将大型PDF文档拆分为多个部分时,下面我们就来看看如何使用Python创建一个灵活的PDF分割工具吧... 目录需求分析技术方案工具选择安装依赖完整代码实现使用说明基本用法示例命令输出示例技术亮点实际应用场景扩

Kotlin Map映射转换问题小结

《KotlinMap映射转换问题小结》文章介绍了Kotlin集合转换的多种方法,包括map(一对一转换)、mapIndexed(带索引)、mapNotNull(过滤null)、mapKeys/map... 目录Kotlin 集合转换:map、mapIndexed、mapNotNull、mapKeys、map

关于集合与数组转换实现方法

《关于集合与数组转换实现方法》:本文主要介绍关于集合与数组转换实现方法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、Arrays.asList()1.1、方法作用1.2、内部实现1.3、修改元素的影响1.4、注意事项2、list.toArray()2.1、方