2020-04-27 20:36:07
DNAT(Destination Network Address Translation,目的地址转换) 通常被叫做目的映谢。而SNAT(Source Network Address Translation,源地址转换)通常被叫做源映谢。
这是我们在设置Linux网关或者防火墙时经常要用来的两种方式。以前对这两个都解释得不太清楚,现在我在这里解释一下。
首先,我们要了解一下IP包的结构,如下图所示:
在任何一个IP数据包中,都会有Source IP Address与Destination IP Address这两个字段,数据包所经过的路由器也是根据这两个字段是判定数据包是由什么地方发过来的,它要将数据包发到什么地方去。而iptables的DNAT与SNAT就是根据这个原理,对Source IP Address与Destination IP Address进行修改。
然后,我们再看看数据包在iptables中要经过的链(chain):
图中正菱形的区域是对数据包进行判定转发的地方。在这里,系统会根据IP数据包中的destination ip address中的IP地址对数据包进行分发。如果destination ip adress是本机地址,数据将会被转交给INPUT链。如果不是本机地址,则交给FORWARD链检测。
这也就是说,我们要做的DNAT要在进入这个菱形转发区域之前,也就是在PREROUTING链中做,比如我们要把访问202.103.96.112的访问转发到192.168.0.112上:
iptables -t nat -A PREROUTING -d 202.103.96.112 -j DNAT --to-destination 192.168.0.112
这个转换过程当中,其实就是将已经达到这台Linux网关(防火墙)上的数据包上的destination ip address从202.103.96.112修改为192.168.0.112然后交给系统路由进行转发。
而SNAT自然是要在数据包流出这台机器之前的最后一个链也就是POSTROUTING链来进行操作
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT --to-source 58.20.51.66
这个语句就是告诉系统把即将要流出本机的数据的source ip address修改成为58.20.51.66。这样,数据包在达到目的机器以后,目的机器会将包返回到58.20.51.66也就是本机。如果不做这个操作,那么你的数据包在传递的过程中,reply的包肯定会丢失。
假如当前系统用的是ADSL/3G/4G动态拨号方式,那么每次拨号,出口IP都会改变,SNAT就会有局限性。
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE
重点在那个『 MASQUERADE 』!这个设定值就是『IP伪装成为封包出去(-o)的那块装置上的IP』!不管现在eth0的出口获得了怎样的动态ip,MASQUERADE会自动读取eth0现在的ip地址然后做SNAT出去,这样就实现了很好的动态SNAT地址转换。
iptables INPUT链使用实例说明
02-22
iptables配置只允许PHP 9000端口访问
05-08
iptables配置实例说明
06-11
9个常用iptables配置实例
03-29
Centos7将firewall防火墙换回iptables防火墙
03-12
ezhttp配置防火墙iptables
05-16
设置iptables之后不能正常访问ftp解决方法
07-21
理解SaltStack(4) – 远程执行
05-10
Bouyei.Geo 1.0 GIS 空间格式处理解析发布
04-26
利用代理解决Git命令链接GitHub过慢的问题
05-31
Android 相机开发中的尺寸和方向问题
07-10
Docker命令行参考(14) – docker attach附着到一个运行中的容器
07-19
IdeaPad Y510在windows XP中如何使用声卡的混音功能
07-18
Linux kill删除执行中的程序或工作命令详解
07-24
Vista系统中本地连接图标丢失,如何处理?
07-13
Win7如何清除资源管理器中地址栏中的历史记录
07-14
Windows 7系统中在屏幕键盘中,数字小键盘上没有按键3和按键8
06-27
docker-postfix, 在 Docker 容器中,使用smtp身份验证( sasldb ) 运行后缀
06-26
主机加电或运行过程中有噪音或有异响
07-19
使用联想MX8610MP3播放器不能识别其他MP3播放器MMC和SD卡中的MP3文件
07-20
cdr x6(图形设计软件)V16.2.0 中文版
251.8M
下载fireworks(网页作图软件) v8.0.0.77 中文版
88.4M
下载ftp上传工具(传输软件)v3.8.2.0 中文版
22.3M
下载gghost一键恢复(系统备份还原工具)v10.03.09 中文版
14.5M
下载ghost11(系统ghost工具箱)v11.0 中文版
15.8M
下载h264播放器(视频播放软件)v6.2.0 中文版
11.2M
下载activesync下载
22.72MB
下载ceb文件阅读器下载
42.6M
下载cs1.6下载
141MB
下载hwinfo32下载
10.1M
下载picture manager下载
19.46 MB
下载unlocker下载
32.1M
下载vc2005下载
6.63MB
下载winkawaks模拟器下载
2M
下载印象笔记下载
122.6M
下载