网络地址转换NAT

一、什么是NAT

NAT是一种用于网络地址转换的技术,主要功能是将私有IP地址转换为公共IP地址,从而在设备访问外部网络时共享单个公共IP地址。它解决了IPv4地址资源短缺的问题,同时也增强了网络的安全性。NAT全称为网络地址转换(Network Address Translation),最初是为了解决IPv4地址不足的问题而开发的。其通过将一个外部IP地址和端口映射到更大的内部IP地址集来实现IP地址的转换,使用流量表将流量从一个外部IP地址和端口号路由到与网络上的终结点关联的内部IP地址。NAT不仅能解决IP地址不足的问题,还能有效地避免来自网络外部的攻击,隐藏并保护网络内部的计算机。其主要功能包括宽带分享和安全防护。当内部设备连接到互联网时,NAT使它们显示为NAT主机的公共IP,从而提高了客户端设备的安全性。

二、NAT分类

NAT(网络地址转换)可以分为多种类型,主要包括静态NAT、动态NAT和端口多路复用(PAT),以及从实现技术角度分类的全锥NAT、限制性锥NAT、端口限制性锥NAT和对称NAT。具体如下:

  1. 按照地址分配方式分类
    • 静态NAT:将内部网络的私有IP地址与一个固定的公有IP地址进行一对一映射。这种方法适用于需要长期稳定访问的外部设备,如对外提供服务的服务器。
    • 动态NAT:将内部私有IP地址动态转换为公网地址池中的任何合法IP地址。这种转换是临时的,一旦连接断开,分配的公网地址将返回地址池供其他用户使用。
    • 端口多路复用(PAT):通过复用单个公网IP地址的不同端口来支持多个内网地址访问互联网。这种方法最大限度地节省了IP地址资源。
  2. 按照映射方式分类
    • 全锥NAT:把所有来自相同内部IP地址和端口的请求映射到相同的外部IP地址和端口。任何一个外部主机都可以通过该映射发送数据包到该内部主机。
    • 限制性锥NAT:与全锥NAT类似,但增加了限制条件,只有当内部主机先向外部主机发送数据包,该外部主机才能向该内部主机发送数据包。
    • 端口限制性锥NAT:在限制性锥NAT的基础上进一步增加端口号的限制,即只有内部主机先向外部特定地址和端口发送数据包,该外部主机才能使用特定端口号向内部主机发送数据包。
    • 对称NAT:为每个新的外部连接分配一个新的映射,即使同一内部主机使用相同的端口与不同外部地址通信,也会重新建立会话并分配不同的端口号或IP地址。

三、NAT配置 

指定内网接口
#将F0/0指定为内网接口

Router(config)#int f0/0
Router(config-if)#ip nat inside
指定外网接口
#将F0/1指定为内网接口

Router(config)#int f0/1
Router(config-if)#ip nat outside

静态NAT配置 

例#将内网地址192.168.100.3转换为61.159.62.131

Router(config)#ip nat inside source static 192.168.109.3 61.159.62.131

动态NAT配置 

#intoout 地址池名字

Router(config)#ip nat pool intoout 202.96.122.90 202.96.122.100 netmask 255.255.255.0

Router(config)#access-list 1 permit 192.168.1.0 0.0.0.255

Router(config)#ip nat inside source list 1 pool intoout

端口多路复用 (PAT) 配置

Router(config)#ip nat inside source list 1 interface fo/1 overload

端口映射 (服务器发布) 配置 

#将内网服务器的网站( http ) 服务发布到外网供外网用户访问,映射端口为8880

 Router(config)#ip nat inside source static tcp 192.168.2.109 80 202.96.122.100 8080

清除NAT转换表

Router#clear ip nat translation * 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

含并行连结的网络

一、Inception块 1、白色部分通过降低通道数来控制模型复杂度,蓝色做特征提取工作,每条路上的通道数可能不同,大概我们会把更重要的那部分特征分配更多的通道数 2、Inception只改变高宽,不改变通道数 3、在不同的情况下需要选择…

gitee项目上不同的项目分别使用不用的用户上传

最近使用根据需要,希望不同的项目使用不同的用户上传,让不同的仓库展示不同的用户名!!! 第一步查看全局的用户信息: # 查看目前全局git配置信息 git config -l #会输出全局的git配置信息 第二步进入到要设…

【MySQL】1.初识MySQL

初识MySQL 一.MySQL 安装1.卸载已有的 MySQL2.获取官方 yum 源3.安装 MySQL4.登录 MySQL5.配置 my.cnf 二.MySQL 数据库基础1.MySQL 是什么?2.服务器,数据库和表3.mysqld 的层状结构4.SQL 语句分类 一.MySQL 安装 1.卸载已有的 MySQL //查询是否有相关…

【ubuntu】安装(升级)显卡驱动,黑屏|双屏无法使用问题解决方法

every blog every motto: You can do more than you think. https://blog.csdn.net/weixin_39190382?typeblog 0. 前言 ubuntu 安装(升级)显卡驱动,黑屏|双屏无法使用问题解决方法 由于项目需要,对显卡驱动进行升级。升级完就黑屏。。。。&#xff0…

平台稳定性里程碑 | Android 15 Beta 3 已发布

作者 / 产品管理副总裁、Android 开发者 Matthew McCullough 从近期发布的 Beta 3 开始,Android 15 达成了平台稳定性里程碑版本,这意味着开发者 API 和所有面向应用的行为都已是最终版本,您可以查阅它们并将其集成到您的应用中,并…

qt 开发笔记堆栈布局的应用

1.概要 画面中有一处位置&#xff0c;有个按钮点击后&#xff0c;这片位置完全换成另一个画面&#xff0c;这中情况特别适合用堆栈布局。 //堆栈布局的应用 #include <QStackedLayout> QStackedLayout *layout new QStackedLayout(this); layout->setCurrentIndex(…

无法下载cuda

cuda下载不了 一、台式机电脑浏览器打不开cuda下载下面二、解决办法 一、台式机电脑浏览器打不开cuda下载下面 用360、chrome、Edge浏览器都打不开下载页面&#xff0c;有的人说后缀com改成cn&#xff0c;都不行。知乎上说是网络问题&#xff0c;电信换成换成移动/联通的网络会…

文心一言最常用的20条指令及指令说明,含增强指令

下面是20条文心一言的指令及其说明&#xff0c;每条指令尽量简洁明了&#xff0c;以便在有限的字数内提供尽可能多的信息。以下是这些指令及其说明&#xff1a; 1. 查询天气 指令&#xff1a;今天北京的天气怎么样&#xff1f;说明&#xff1a;此指令用于查询特定城市&#xf…

Python结合MobileNetV2:图像识别分类系统实战

一、目录 算法模型介绍模型使用训练模型评估项目扩展 二、算法模型介绍 图像识别是计算机视觉领域的重要研究方向&#xff0c;它在人脸识别、物体检测、图像分类等领域有着广泛的应用。随着移动设备的普及和计算资源的限制&#xff0c;设计高效的图像识别算法变得尤为重要。…

数据结构基础--------【二叉树基础】

二叉树基础 二叉树是一种常见的数据结构&#xff0c;由节点组成&#xff0c;每个节点最多有两个子节点&#xff0c;左子节点和右子节点。二叉树可以用来表示许多实际问题&#xff0c;如计算机程序中的表达式、组织结构等。以下是一些二叉树的概念&#xff1a; 二叉树的深度&a…

高考选专业,兴趣与就业前景该如何平衡?

从高考结束的那一刻开始&#xff0c;有些家长和学生就已经变得焦虑了&#xff0c;因为他们不知道成绩出来的时候学生应该如何填报志愿&#xff0c;也不知道选择什么样的专业&#xff0c;毕竟大学里面的专业丰富多彩&#xff0c;如何选择确实是一门学问&#xff0c;而对于学生们…

Zynq7000系列FPGA中DMA引擎编程指南

DMA引擎的编程指南通常涉及一系列步骤和API调用&#xff0c;以确保数据在内存之间的高效传输&#xff0c;而无需CPU的直接干预。 DMA引擎的编程指南包括以下部分&#xff1a; 一、编写微代码为AXI事务编写CCRx程序 通道微码用于设置dmac.CCRx寄存器以定义AXI事务的属性。这是…

Node.js-path 模块

path 模块 path 模块提供了 操作路径 的功能&#xff0c;如下是几个较为常用的几个 API&#xff1a; 代码实例&#xff1a; const path require(path);//获取路径分隔符 console.log(path.sep);//拼接绝对路径 console.log(path.resolve(__dirname, test));//解析路径 let pa…

java反射介绍

Java反射API允许你在运行时检查和修改程序的行为。这意味着你可以动态地创建对象、查看类的字段、方法和构造函数&#xff0c;甚至调用它们。这是一个强大的特性&#xff0c;但也应该谨慎使用&#xff0c;因为它可以破坏封装性。 以下是使用Java反射的一些常见用途&#xff1a;…

041基于SSM+Jsp的高校校园点餐系统

开发语言&#xff1a;Java框架&#xff1a;ssm技术&#xff1a;JSPJDK版本&#xff1a;JDK1.8服务器&#xff1a;tomcat7数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/ideaMaven包…

OPENCV(图像入门笔记)

使用OpenCV读取图像 使用cv.imread()函数读取图像。 第一个参数为图像名称 第二个参数是一个标志&#xff0c;它指定了读取图像的方式。分别有三种 cv.IMREAD_COLOR&#xff1a; 加载彩色图像。任何图像的透明度都会被忽视。它是默认标志。 cv.IMREAD_GRAYSCALE&#xff1a;以…

什么是 HTTP POST 请求?初学者指南与示范

在现代网络开发领域&#xff0c;理解并应用 HTTP 请求 方法是基本的要求&#xff0c;其中 "POST" 方法扮演着关键角色。 理解 POST 方法 POST 方法属于 HTTP 协议的一部分&#xff0c;主旨在于向服务器发送数据以执行资源的创建或更新。它与 GET 方法区分开来&…

Linux:Ubuntu18.04下开机自启动QT图形化界面

Linux&#xff1a;Ubuntu18.04下开机自启动QT图形化界面 Chapter1 Linux&#xff1a;Ubuntu18.04下开机自启动QT图形化界面一、创建rc.local文件二、建立rc-local.service文件三、启动服务查看启动状态四、重启 Chapter2 将QT应用作为开机自启动&#xff08;Linux系统&#xff…

预约停车位app小程序模板

简单的手机预约停车位&#xff0c;在线停车位&#xff0c;预约停车管理小程序页面模板。包含&#xff1a;主页、预约停车、预约管理、地图导航等。 预约停车位app小程序模板

bash条件判断基础adsawq1`1nn

判断的作用 判断后续操作的提前条件是否满足如果满足执行一种命令不满足则执行另一种指令 条件测试类型&#xff1a; 整型测试字符测试文字测试 整数测试&#xff1a;比较两个整数谁大谁小&#xff0c;是否相等&#xff1b; 二元测试&#xff1a; num1 操作符 num2 -eq: 等于…