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

相关文章

【专题】2024飞行汽车技术全景报告合集PDF分享(附原数据表)

原文链接: https://tecdat.cn/?p=37628 6月16日,小鹏汇天旅航者X2在北京大兴国际机场临空经济区完成首飞,这也是小鹏汇天的产品在京津冀地区进行的首次飞行。小鹏汇天方面还表示,公司准备量产,并计划今年四季度开启预售小鹏汇天分体式飞行汽车,探索分体式飞行汽车城际通勤。阅读原文,获取专题报告合集全文,解锁文末271份飞行汽车相关行业研究报告。 据悉,业内人士对飞行汽车行业

金融业开源技术 术语

金融业开源技术  术语 1  范围 本文件界定了金融业开源技术的常用术语。 本文件适用于金融业中涉及开源技术的相关标准及规范性文件制定和信息沟通等活动。

AI(文生语音)-TTS 技术线路探索学习:从拼接式参数化方法到Tacotron端到端输出

AI(文生语音)-TTS 技术线路探索学习:从拼接式参数化方法到Tacotron端到端输出 在数字化时代,文本到语音(Text-to-Speech, TTS)技术已成为人机交互的关键桥梁,无论是为视障人士提供辅助阅读,还是为智能助手注入声音的灵魂,TTS 技术都扮演着至关重要的角色。从最初的拼接式方法到参数化技术,再到现今的深度学习解决方案,TTS 技术经历了一段长足的进步。这篇文章将带您穿越时

系统架构设计师: 信息安全技术

简简单单 Online zuozuo: 简简单单 Online zuozuo 简简单单 Online zuozuo 简简单单 Online zuozuo 简简单单 Online zuozuo :本心、输入输出、结果 简简单单 Online zuozuo : 文章目录 系统架构设计师: 信息安全技术前言信息安全的基本要素:信息安全的范围:安全措施的目标:访问控制技术要素:访问控制包括:等保

前端技术(七)——less 教程

一、less简介 1. less是什么? less是一种动态样式语言,属于css预处理器的范畴,它扩展了CSS语言,增加了变量、Mixin、函数等特性,使CSS 更易维护和扩展LESS 既可以在 客户端 上运行 ,也可以借助Node.js在服务端运行。 less的中文官网:https://lesscss.cn/ 2. less编译工具 koala 官网 http://koala-app.

网络学习-eNSP配置NAT

NAT实现内网和外网互通 #给路由器接口设置IP地址模拟实验环境<Huawei>system-viewEnter system view, return user view with Ctrl+Z.[Huawei]undo info-center enableInfo: Information center is disabled.[Huawei]interface gigabit

PDF 软件如何帮助您编辑、转换和保护文件。

如何找到最好的 PDF 编辑器。 无论您是在为您的企业寻找更高效的 PDF 解决方案,还是尝试组织和编辑主文档,PDF 编辑器都可以在一个地方提供您需要的所有工具。市面上有很多 PDF 编辑器 — 在决定哪个最适合您时,请考虑这些因素。 1. 确定您的 PDF 文档软件需求。 不同的 PDF 文档软件程序可以具有不同的功能,因此在决定哪个是最适合您的 PDF 软件之前,请花点时间评估您的

Spring的设计⽬标——《Spring技术内幕》

读《Spring技术内幕》第二版,计文柯著。 如果我们要简要地描述Spring的设计⽬标,可以这么说,Spring为开发者提供的是⼀个⼀站式的轻量级应⽤开发框架(平台)。 作为平台,Spring抽象了我们在 许多应⽤开发中遇到的共性问题;同时,作为⼀个轻量级的应⽤开发框架,Spring和传统的J2EE开发相⽐,有其⾃⾝的特点。 通过这些⾃⾝的特点,Spring充分体现了它的设计理念:在

C# double[] 和Matlab数组MWArray[]转换

C# double[] 转换成MWArray[], 直接赋值就行             MWNumericArray[] ma = new MWNumericArray[4];             double[] dT = new double[] { 0 };             double[] dT1 = new double[] { 0,2 };

java线程深度解析(六)——线程池技术

http://blog.csdn.net/Daybreak1209/article/details/51382604 一种最为简单的线程创建和回收的方法: [html]  view plain copy new Thread(new Runnable(){                @Override               public voi