SNAT/DNAT

SNAT,是源地址转换,其作用是将ip数据包的源地址转换成另外一个地址。

名词解释

编辑

SNAT,可能有人觉得奇怪,好好的为什么要进行ip地址转换啊,为了弄懂这个问题,我们要看一下局域网用户上公网的原理,假设内网主机A(192.168.2.8)要和外网主机B(61.132.62.131)通信,A向B发出IP数据包,如果没有SNAT对A主机进行源地址转换,A与B主机的通讯会不正常中断,因为当路由器将内网的数据包发到公网IP后,公网IP会给你的私网IP回数据包,这时,公网IP根本就无法知道你的私网IP应该如何走了。所以问它上一级路由器,当然这是肯定的,因为从公网上根本就无法看到私网IP,因此你无法给他通信。为了实现数据包的正确发送及返回,网关必须将A的址转换为一个合法的公网地址,同时为了以后B主机能将数据包发送给A,这个合法的公网地址必须是网关的外网地址,如果是其它公网地址的话,B会把数据包发送到其它网关,而不是A主机所在的网关,A将收不到B发过来的数据包,所以内网主机要上公网就必须要有合法的公网地址,而得到这个地址的方法就是让网关进行SNAT(源地址转换),将内网地址转换成公网址(一般是网关的外部地址),所以大家经常会看到为了让内网用户上公网,我们必须在routeros的firewall中设置snat,俗称IP地址欺骗或伪装(masquerade)

区分

编辑

如何区分SNAT和DNAT

从定义来讲它们一个是源地址转换,一个是目标地址转换。都是地址转换的功能,将私有地址转换为公网地址。

要区分这两个功能可以简单的由连接发起者是谁来区分:

内部地址要访问公网上的服务时(如web访问),内部地址会主动发起连接,由路由器或者防火墙上的网关对内部地址做个地址转换,将内部地址的私有IP转换为公网的公有IP,网关的这个地址转换称为SNAT,主要用于内部共享IP访问外部。

当内部需要提供对外服务时(如对外发布web网站),外部地址发起主动连接,由路由器或者防火墙上的网关接收这个连接,然后将连接转换到内部,此过程是由带有公网IP的网关替代内部服务来接收外部的连接,然后在内部做地址转换,此转换称为DNAT,主要用于内部服务对外发布。

在配置防火墙或者路由acl策略时要注意这两个NAT一定不能混淆。

时间: 2024-10-10 05:14:09

SNAT/DNAT的相关文章

Linux SNAT/DNAT设置

背景及原理分析 现有组网 外网(即公司大网):10.0.0.0/8 内网(即实验室网络):108.28.194.0/24 网络改造 打通内网和外网有以下几种方法: 内网主机直接连接到外网:网络简单,但改造成本太大 VPN:每台外网主机访问内网时都需要设置VPN NAT:仅需内网增加网关主机同时连接内外网即可,其他主机无需修改. 本文采用NAT的方案:用一台具备多网卡的Linux服务器作为内网网关,本次实践采用SBCX服务器,其网络配置如下: 内网网卡为eth3,地址为108.28.194.1/2

iptables SNAT/DNAT测试

环境:CentOS 6.4(最小化安装) SNAT测试: 地址规划: Node IP address GW EndUser 192.168.101.241/24 192.168.101.1 iptables eth1:192.168.101.1/24 eth0:192.168.100.242/24 192.168.100.1 EndUser: [[email protected] ~]# tail -n 5 /etc/sysconfig/network-scripts/ifcfg-eth0 BO

实验----SNAT,DNAT,转发

首先配置NAT环境: A机:桥接网卡,作为外网.IP:172.17.252.227 B机:作为NAT转换机,两个网卡都有.IP:172.17.123.224 192.168.199.138 开启转发功能: echo 1 > /proc/sys/net/ipv4/ip_forward 或者vim /etc/sysctl.conf net.ipv4.ip_forward=1 sysctl -p C机:仅主机网卡,作为内网.IP:192.168.199.142 添加路由记录route add defa

SNAT DNAT MASQUERADE 区别

SNAT,DNAT,MASQUERADE都是NATMASQUERADE是SNAT的一个特例SNAT是指在数据包从网卡发送出去的时候,把数据包中的源地址部分替换为指定的IP,这样,接收方就认为数据包的来源是被替换的那个IP的主机MASQUERADE是用发送数据的网卡上的IP来替换源IP,因此,对于那些IP不固定的场合,比如拨号网络或者通过dhcp分配IP的情况下,就得用MASQUERADEDNAT,就是指数据包从网卡发送出去的时候,修改数据包中的目的IP,表现为如果你想访问A,可是因为网关做了DN

SNAT、DNAT、NPT

SNAT 源地址转换 ------------- 内网访问外网 问题:这里我们模拟内外网的访问,网关互指,中间网关打开ip_forward,但实际的网络访问环境中,外网客户会把网关指向你公司的网关吗? 张三 李四 王五 内网 iptables 网关 外网 (其实就是模拟一个路由器) 192.168.1.128 --------------> 192.168.1.1 vmnet1 网关指向 打开ip_forward 172.16.2.9 eth0 172.16.2.10 SIP:192.168.1

IP tables防火墙:SNAT策略、DNAT策略

SNAT+DNAT 策略简介: ·SNAT(源地址转换):是Linux防火墙的一种地址转换操作,也是iptables命令中的一种数据包控制类型,其作用是根据指定调教修改数据包的源IP地址 内部地址要访问公网上的服务时(如web访问),内部地址会主动发起连接,由路由器或者防火墙上的网关对内部地址做个地址转换,将内部地址的私有IP转换为公网的公有IP,网关的这个地址转换称为SNAT,主要用于内部共享IP访问外部. ·SNAT策略只能用在nat表的POSTROUTING链,使用iptables命令编写

经典好用anti-DDos的iptables shell脚本

#!/bin/bash # Description: This script applies to both RHEL and CentOS systems.This is # a powerful firewall, anti DDOS attacks, and not limitedto this, you can # make your Linux server as router, http/ftp server etc. ,but also as # required to open

iptables防火墙配置

iptables/netfilter:    Packets Filter Firewall:          包过滤型防火墙:  Firewall:隔离工具,工作于主机或网络的边缘处,对经由的报文根据预先定义的规则(识别标准)进行检测,对于能够被规则匹配到的报文实行某种预定义的处理机制的一套组件    硬件防火墙:在硬件级别实现部分功能的:    软件防火墙:应用软件逻辑在通用硬件基础上实现:    主机防火墙:    网络防火墙: iptables/netfilter:    iptabl

Linux下的配置iptables防火墙增强服务器安全

Linux下的配置iptables防火墙增强服务器安全 实验要求 iptables常见概念 iptables服务器安装及相关配置文件 实战:iptables使用方法 例1:使用iptables防火墙保护公司web服务器 例2:使用iptables搭建路由器,通过SNAT使用内网机器上网 例3:限制某些IP地址访问服务器 例4:使用DNAT功能把内网web服务器端口映射到路由器外网 实验环境 iptables服务端:xuegod-63   IP:192.168.1.63 iptables客户端:x