Linux防火墙配置工具iptables中MASQUERADE的含义
IPtables中可以灵活的做各种网络地址转换(NAT),网络地址转换主要有两种:SNAT和DNAT。
在路由模式下,包从路由器的lan侧出去的时候,会经过nat表的POSTROUTING链,去做SNAT,然后才能发送至外网,如下图所示:
SNAT是source networkaddress translation的缩写,即源地址目标转换。比如,多个PC机使用ADSL路由器共享上网,每个PC机都配置了内网IP,PC机访问外部网络的时候,路由器将数据包的报头中的源地址替换成路由器的ip,当外部网络的服务器比如网站web服务器接到访问请求的时候,他的日志记录下来的是路由器的ip地址,而不是pc机的内网ip,这是因为,这个服务器收到的数据包的报头里边的“源地址”,已经被替换了,所以叫做SNAT,基于源地址的地址转换。
DNAT是destination networkaddress translation的缩写,即目标网络地址转换,典型的应用是,有个web服务器放在内网配置内网ip,前端有个防火墙配置公网ip,互联网上的访问者使用公网ip来访问这个网站,当访问的时候,客户端发出一个数据包,这个数据包的报头里边,目标地址写的是防火墙的公网ip,防火墙会把这个数据包的报头改写一次,将目标地址改写成web服务器的内网ip,然后再把这个数据包发送到内网的web服务器上,这样,数据包就穿透了防火墙,并从公网ip变成了一个对内网地址的访问了,即DNAT,基于目标的网络地址转换。
MASQUERADE,地址伪装,算是snat中的一种特例,可以实现自动化的snat。
在iptables中有着和SNAT相近的效果,但也有一些区别,但使用SNAT的时候,出口ip的地址范围可以是一个,也可以是多个,例如:
如下命令表示把所有10.8.0.0网段的数据包SNAT成192.168.5.3的ip然后发出去,
iptables-t nat -A POSTROUTING -s 10.8.0.0/255.255.255.0 -o eth0 -j SNAT --to-source192.168.5.3
如下命令表示把所有10.8.0.0网段的数据包SNAT成192.168.5.3/192.168.5.4/192.168.5.5等几个ip然后发出去
iptables-t nat -A POSTROUTING -s 10.8.0.0/255.255.255.0 -o eth0 -j SNAT --to-source192.168.5.3-192.168.5.5
这就是SNAT的使用方法,即可以NAT成一个地址,也可以NAT成多个地址,但是,对于SNAT,不管是几个地址,必须明确的指定要SNAT的ip,假如当前系统用的是ADSL动态拨号方式,那么每次拨号,出口ip192.168.5.3都会改变,而且改变的幅度很大,不一定是192.168.5.3到192.168.5.5范围内的地址,这个时候如果按照现在的方式来配置iptables就会出现问题了,因为每次拨号后,服务器地址都会变化,而iptables规则内的ip是不会随着自动变化的,每次地址变化后都必须手工修改一次iptables,把规则里边的固定ip改成新的ip,这样是非常不好用的。
MASQUERADE就是针对这种场景而设计的,他的作用是,从服务器的网卡上,自动获取当前ip地址来做NAT。
比如下边的命令:
iptables-t nat -A POSTROUTING -s 10.8.0.0/255.255.255.0 -o eth0 -j MASQUERADE
如此配置的话,不用指定SNAT的目标ip了,不管现在eth0的出口获得了怎样的动态ip,MASQUERADE会自动读取eth0现在的ip地址然后做SNAT出去,这样就实现了很好的动态SNAT地址转换。
Linux防火墙配置工具iptables中MASQUERADE的含义相关推荐
- Linux 防火墙配置(iptables和firewalld)
目录 防火墙基本概念 Iptables讲解 Iptables表 Iptables规则链 Iptables控制类型 Iptables命令配置 firewalld讲解 Firewalld区域概念 Fire ...
- Linux防火墙配置
目录 一.实验目的及要求 二.实验环境 三.实验原理 1.防火墙的概念 2.防火墙的分类 3.Linux防火墙 (1):netfilter (2):iptables 4.iptables的规则表.规则 ...
- linux防火墙常用控制协议,linux防火墙配置及管理.doc
linux防火墙配置与管理2 ufw防火墙简介 我们在工作中使用防火墙保护服务器的网络服务,实际上是通过防火墙来拒绝对服务器的访问.iptable 工具根据系统管理员编写的一系列规则筛选网络数据包对于 ...
- Linux防火墙配置入门
Linux防火墙配置入门必学 RedHat Linux 为增加系统安全性提供了防火墙保护.防火墙存在于你的计算机和网络之间,用来判定网络中的远程用户有权访问你的计算机上的哪些资源.一个正确配置的防火墙 ...
- linux显示 防火墙配置文件,怎么查看Linux防火墙配置方法
当Linux系统的防火墙的状态和信息时候,我们可以用哪些命令查看呢.下面由学习啦小编为大家整理了查看Linux系统防火墙的命令详解,希望对大家有帮助! 查看Linux系统防火墙的命令详解 查看Linu ...
- SuSE Linux防火墙配置
SuSE Linux防火墙配置 SuSE Linux防火墙配置文件路径:/etc/sysconfig/SuSEfirewall2; 启动.关闭.重启防火墙: rcSuSEfirewall2 start ...
- Linux防火墙Firewall和Iptables的使用
Linux防火墙Firewall和Iptables的使用 原创: 梦想de星空 macrozheng 6月6日 Linux中有两种防火墙软件,ConterOS7.0以上使用的是firewall,Con ...
- iptables防火墙配置工具ShoreWall的安装和使用实例
shorewall不是一个daemon的程序,它是一个加载iptables指令的套件,所以请别指望使用ps -aux这类的指令来查询它的行程,接下来的部份就分别说明各个设定文件的功能及格式. 本质上来 ...
- CentOS Linux防火墙配置及关闭
最近在CentOS Linux下安装配置 ORACLE 数据库的时候,总显示因为网络端口而导致的EM安装失败,遂打算先关闭一下防火墙. 偶然看到防火墙的配置操作说明,感觉不错.执行"setu ...
- linux禁用防火墙配置,CentOS Linux防火墙配置及关闭
最近在CentOS Linux下安装配置 Oracle 数据库的时候,总显示因为网络端口而导致的EM安装失败,遂打算先关闭一下防火墙. 偶然看到防火墙的配置操作说明,感觉不错.执行"setu ...
最新文章
- Google AI的焦虑:拆分搜索和人工智能部门,Jeff Dean任AI业务负责人
- Unix/Linux提权漏洞快速检测工具unix-privesc-check
- MyBatis学习--简单的增删改查
- iOS中本地化字符串
- SIGIR 2019 eBay高精度召回任务挑战赛冠军团队DeepBlueAI技术分享
- 魅族 C++ 微服务框架技术内幕揭秘
- kali linux下安装TOR
- npm更换成淘宝镜像源以及cnpm
- 服务器部署 配置jetty运行参数_Zookeeper+websocket实现对分布式服务器的实时监控...
- Sharepoint学习笔记—Ribbon系列
- 计算机教案画圆形和方形,画方形和圆形的教案
- mysql innodb文件_MySQL的InnoDB文件介绍
- Qt工作笔记-QDialog模式对话框传递数据给主窗口
- LINQ to SQL集成到应用程序中需考虑的一些问题
- 记Python的一些用法
- 一道学吧上的题 ^ 题目:不允许重复的实验 - 从数字1、2、3、4、5中随机抽取3次数字(不允许重复)组成一个三位数,则其各位数字之和等于n的概率为________ 输入整数 输出一个小数(保留
- java unbox_java base-05-Box UnBox 自动装拆箱
- 学习笔记——数据的度量
- Sketch for UX Design Sketch UX设计教程 Lynda课程中文字幕
- C# 操作现有Word表格详细教程