NAT,DNAT,SNAT和双向NAT

2023-10-29 22:30
文章标签 双向 nat snat dnat

本文主要是介绍NAT,DNAT,SNAT和双向NAT,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

NAT是一种地址转换技术,既可以将内网地址变成外网地址,反之亦可,相关概念如下图:

NAT根据使用场景来分主要可以分为以下3种:
DNAT
SNAT
双向NAT

DNAT,D的单词是destination,意思为目的地,所以很容易理解这个类型的NAT,就是将目的地址进行转换,常用在外网>内网的转换

SNAT,S的单词是source,意思为源,所以和上面一样,就是一个将源地址进行转换的技术,常用在内网>外网

双向NAT,关于这个技术的应用我查了许多资料,其中有一种说法是说这个技术主要是用在当内网和外网主机IP冲突的时候,但是还有一种说法是说此技术主要用在服务器在内网的情况下,且内网用户需要通过审计设备访问内网服务器,我个人比较偏向后者。

双向NAT理解起来也很简单,就是不仅对源地址进行转换,也对目的地址进行转换,转换源和目的过程拿下面的栗子举例
在这里插入图片描述
此时外网用户需要访问到内网的服务器,所以DNAT是此时生效,而内网用户也想访问内网,但是我们想让流量收到防火墙的审计,内网用户首先会进行DNAT,再进行SNAT,也就是先将目的地址转换为内网地址,出去的时候才会考虑要不要将源地址转换为服务器地址。
(具体的理解可以结合linux的nat表内含的三条链,prerouting postrouting output,DNAT是在prerouting阶段,SNAT是postrouting阶段)

这篇关于NAT,DNAT,SNAT和双向NAT的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

csu1329(双向链表)

题意:给n个盒子,编号为1到n,四个操作:1、将x盒子移到y的左边;2、将x盒子移到y的右边;3、交换x和y盒子的位置;4、将所有的盒子反过来放。 思路分析:用双向链表解决。每个操作的时间复杂度为O(1),用数组来模拟链表,下面的代码是参考刘老师的标程写的。 代码如下: #include<iostream>#include<algorithm>#include<stdio.h>#

网络学习-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

react笔记 8-19 事件对象、获取dom元素、双向绑定

1、事件对象event 通过事件的event对象获取它的dom元素 run=(event)=>{event.target.style="background:yellowgreen" //event的父级为他本身event.target.getAttribute("aid") //这样便获取到了它的自定义属性aid}render() {return (<div><h2>{

综合DHCP、ACL、NAT、Telnet和PPPoE进行网络设计练习

描述:企业内网和运营商网络如上图所示。 公网IP段:12.1.1.0/24。 内网IP段:192.168.1.0/24。 公网口PPPOE 拨号采用CHAP认证,用户名:admin 密码:Admin@123 财务PC 配置静态IP:192.168.1.8 R1使用模拟器中的AR201型号,作为交换路由一体机,下图的WAN口为E0/0/8口,可以在该接口下配置IP地址。 可以通过

【CF】E. Anya and Cubes(双向DFS)

根据题意的话每次递归分3种情况 一共最多25个数,时间复杂度为3^25,太大了 我们可以分2次求解第一次求一半的结果,也就是25/2 = 12,记录结果 之后利用剩余的一半求结果 s-结果 = 之前记录过的结果 就可以 时间复杂度降低为 3 ^ (n/2+1) 题目链接:http://codeforces.com/contest/525/problem/E #include<set

经验笔记:NAT穿越技术

NAT穿越技术经验笔记 随着互联网的普及和技术的发展,P2P(Peer to Peer,点对点)通信成为许多应用的核心功能之一。然而,网络地址转换(NAT)设备的存在常常成为实现P2P通信的一个障碍。本文旨在总结NAT穿越技术的基本原理及其配置方法,并探讨如何保障NAT穿越的安全性。 1. NAT穿越技术概述 NAT穿越技术是一种使位于不同NAT网络中的主机能够直接通信的技术。NAT(Net

【数据结构初阶】链表分类与双向带头循环链表接口实现

文章目录 1. 链表的分类2. 双向带头循环链表接口实现2. 1 结点声明2. 2 创建链表节点2. 3 初始化链表2. 4 打印链表2. 5 尾插2. 6 判空2. 7 尾删2. 8 头插2. 9 头删2. 10 查找2. 11 在指定位置删除与插入2. 12 销毁 3. 链表接口测试4. 单链表与双链表5. 顺序表与链表 1. 链表的分类 链表的结构非常多样,以下情况组合

Linux平台下利用JNI+双向RMI实现远程推送

一、 前言  作为一种优秀的编程语言,Java在许多方面具有突出的优越性。其中,RMI技术充分展现了Java卓越的分布式计算能力,而JNI技术则体现了Java结合异种编程语言的强大能力。人们常说,RMI是“从Java到Java”,这种说法忽视了这样一个事实:Java可利用JNI技术很容易地与原有系统连接。JNI+RMI的技术解决方案极大地延伸了Java的分布式功能。  本文的写作是基于这样一种实

vue3和vue2的双向绑定原理

Vue 的双向绑定是其核心特性之一,允许数据和视图之间保持同步。在 Vue 2 和 Vue 3 中,双向绑定的实现原理有所不同。以下是两者的原理对比: Vue 2 的双向绑定原理 在 Vue 2 中,双向绑定是通过以下机制实现的: 响应式系统: Vue 2 使用 Object.defineProperty 来实现响应式数据。通过在对象的每个属性上定义 getter 和 setter,Vue

SNAT的链路流程

A主机,有公网ip,比如1.1.1.1               有内网ip,比如192.168.1.1 B主机, 有内网ip,比如192.168.1.123 A主机和B主机在同一局域网,用交换机连接。或者在云平台,两个属于同一个vpc下的同一个subnet,也就是在同一个虚拟私人网络下的,同一个子网内。 如何实现B主机通过A主机的公网ip访问公网的服务? 这个就是snat解决的问题