首页 > 其他分享 >NAT

NAT

时间:2024-03-23 09:56:08浏览次数:19  
标签:1.1 ip 192.168 NAT 2.2 80

网络地址转化

NAT是为了解决ipv4地址不够用而出现的一种技术,ip地址分为私网ip和公网ip

公网ip只能在公网上使用,私网ip只能在内网中使用

公网上不允许出现私网ip地址,私网ip可以重复在内网使用

私有地址范围

10.0.0.0/8(10开头的)

172.16.0.0/16 - 172.31.0.0/16(172.16开头的到172.31开头的)

192.168.0.0/16(192.168开头的)

NAT主要完成公私有ip之间的转换,一般在路由器或者防火墙上完成

NAT的三大类

1.静态NAT(手动配置NAT地址转换表,已弃用)

2.动态NAT(根据动态NAT映射来构造NAT地址转换表,但内网用户不能同时上网)

3.PAT(port address transformation,端口地址转换)

在动态NAT的基础上增加了overload复用,动态NAT映射池的地址可以复用,内网用户可以同时使用一个公有ip上网

出现问题:当同时上网时,服务器发来回包,路由器不知道转发给哪个用户

前人解决方法:当内网用户发送包时,不但将源ip记录到NAT地址转换表,还会将源端口号也做NAT转换,而且转换后的端口号不会消失直至该用户主机不存活。(老化时间为60s)

 

当内网里192.168.0.1和192.168.0.2同时访问百度的web服务,假设这两台主机的随机端口号都是5000,公网ip为1.1.1.1,百度的ip为2.2.2.2。当他们的ip报文出内网的时候就会做NAT转换,并记录到NAT地址表

原本的ip包头:192.168.0.1  2.2.2.2  5000  80(分别为源ip,目的ip,源端口号,目的端口号)

经过NAT转换后:1.1.1.1  2.2.2.2  1  80(将源ip和源端口号按表转换后转发)

当百度回包:2.2.2.2  1.1.1.1  80  1(源ip,目的ip,源端口,目的端口)

当路由器接到包后,解析包,发现目的端口号为1,对应的端口号为5000,内网ip为192.168.0.1

所以路由器会把包的目的ip和目的端口号修改后转发:2.2.2.2  192.168.0.1  80  5000

这样就实现了内网ip同时上网。

NAT命令

1.定义内网端口

int f0/0

ip nat inside

exit

2.定义外网端口

int f0/1

ip nat outside

exit

3.配置PAT

定义内部地址池子:
acc 1 permit 192.168.0.0 0.0.255.255

做PAT动态映射

conf t

ip nat inside source list 1 int f0/1 overload

4.配置静态端口转换:
conf t

ip nat inside source static tcp 192.168.0.1 80 1.1.1.1 80

实现外网访问内网服务器

配置静态PAT

S  192.168.0.1    1.1.1.1  80  80

这时候当外部访问1.1.1.1:80的时候就会访问你内网服务器192.168.0.1:80,而且只有访问80端口的ip包才会被转发,保障了服务器的安全

 

标签:1.1,ip,192.168,NAT,2.2,80
From: https://www.cnblogs.com/dg05/p/17717053.html

相关文章

  • native 关键的理解
    使用native关键字说明这个方法是原生函数,也就是这个方法是用C/C++等非Java语言实现的,并且被编译成了DLL,由java去调用。(1)为什么要用native方法java使用起来非常方便,然而有些层次的任务用java实现起来不容易,或者我们对程序的效率很在意时,问题就来了。例如:有时java应......
  • 备考ICA----Istio实验3---Istio DestinationRule 实验
    备考ICA----Istio实验3—IstioDestinationRule实验1.hello服务说明这部分服务沿用Istio实验2的deployment和svc同时在上一个实验的deployment中分别加入了2个标签:app:helloworld两个deployment共有version:v1和version:v2两个deploymen不同详见:https://b......
  • NAT转换及reversible参数运用
    实验PC为私网,路由器之间为公网,R2上进行NAT转换1、源NAT转换,转为1.1.1.3,在R2上:interfaceGigabitEthernet0/1 portlink-moderoute comboenablecopper ipaddress1.1.1.1255.255.255.0 natoutbound3000address-group1可以在设备上看到转换情况:其中,PC访问......
  • F5负载均衡系列教程四【SNAT实验】
     基础拓扑如下所示:F5里面的SNAT可以理解为路由交换里面的源地址转换,可以将特定的源地址转成另外一个ip地址(IP地址池)去访问目的服务器参考文档:https://my.f5.com/manage/s/article/K7820实验环境如下,其中F5到后端服务器网络均路由可达VS地址poolmember测试的s......
  • Editing Factual Knowledge and Explanatory Ability of Medical Large Language Mode
    本文是LLM系列文章,针对《EditingFactualKnowledgeandExplanatoryAbilityofMedicalLargeLanguageModels》的翻译。医学大语言模型的编辑事实知识与解释能力摘要1引言2相关工作3方法4实验5结论6局限性摘要模型编辑旨在精确地修改大型语言模型......
  • Knative的tag to digest是什么?
    我将集群的kubernetes版本更新到1.29,knative版本更新到1.13后,部署knativeservice总是失败:failedtoresolveimagetodigest,在折腾一段时间后解决了这个问题,那么tagtodigest是什么,又该如何解决?Tagtodigest是什么?参考https://knative.dev/docs/serving/tag-resolution/......
  • 关于nvim插件telescope-fzf-native在windows下未构建的问题解决
    关于nvim插件telescope-fzf-native在windows下未构建的问题解决首先进入文件夹(没有就自己创建注意文件夹名就是telescope-fzf-native.nvim)C:\Users\...\AppData\Local\nvim-data\site\pack\packer\start\telescope-fzf-native.nvim进入此路径的powershell或者cmd命令行,执行......
  • Spring框架与其他框架(如Struts、Hibernate等)相比有何独特之处?Spring框架的主要优点有
    Spring框架与其他框架(如Struts、Hibernate等)相比有何独特之处?在Spring框架的面试中,可能会被问到的问题涵盖多个方面,包括但不限于以下几个方面:Spring框架的基本理解:请简述一下你对Spring框架的理解。Spring框架的主要优点有哪些?Spring框架与其他框架(如Struts、Hibernate......
  • iOS端创建ReactNative容器第一步:打出jsbundle和资源包
    react-native的打包流程是通过执行react-nativebundle指令进行的。 添加构建指令修改RN项目中的package.json文件,先其中添加构建命令build-release-ios和build-debug-ios"scripts":{"android":"react-nativerun-android","ios":"react-nativerun-ios"......
  • Coursera自然语言处理专项课程01:Natural Language Processing with Classification an
    NaturalLanguageProcessingwithClassificationandVectorSpacesCourseCertificate本文是NaturalLanguageProcessingwithClassificationandVectorSpaces这门课的学习笔记,仅供个人学习使用,如有侵权,请联系删除。文章目录NaturalLanguageProcessingwi......