- 1、本文档共28页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Iptables应用
Iptables应用 必备知识 Ip地址规则 路由规则及路由选择流程 三次握手流程 Tcp、udp、icmp协议 关键词 NAT IP_FORWARD SNAT DNAT MASQUERADE PREROUTING POSTROUTING Iptables学习要点 因为iptables实际是把ip通信过程细分流程化,所以对ip通信的细节流程的了解是十分重要的前提 如果ip通信细节不了解,也可以按照例子修改,了解例子的每句命令的原理 基本操作会了再去不断了解ip通信的细节,这样你就可以自己根据实际网络情况写iptables命令了 本课件重点讲述的内容 Nat表中的相应功能的实现 SNAT、DNAT、 MASQUERADE作用及区别 典型网络构架下的例子及命令说明 如何现场调试修改iptables语句 Iptables工作流程简介1 Iptables把ip通信过程划分为3个表,nat、filter、mangle分别完成不同的控制 filter主要完成包过滤功能(防火墙) Mangle主要完成TOS、TTL、MARK 的操作 Nat主要完成对ip包地址内容的修改(地址转换)。我们主要讨论nat的应用 Iptables工作流程简介2 Nat表中将ip包的操作又分为3个链 PREROUTING 链,进行路由前的操作,主要用来做DNAT操作 POSTROUTING 链,路由完成后的操作,主要用来做SNAT操作 OUTPUT 链,对从防火墙本身发出的包进行DNAT操作,这个我们应用很少不是本文讨论重点 什么是SNAT 改变包的源地址,可以隐藏你的本地网络。 比如某营业部的行情、资讯、交易服务器全部在总部部署,但是由于营业部采用的vlan隔离,只有无盘启动服务器的ip能访问总部的后台服务器,无盘站分配的ip无法访问总部的后台服务器。这个时候我们用SNAT修改无盘站发出的tcp包的源地址,使无盘站使用无盘服务器的ip访问总部后台服务器 代理服务器也是典型的SNAT应用 什么是DNAT 主要用在这样一种情况,你有一个合法的IP地址,要把对防火墙的访问重定向到其他的机子上。也就是说,我们改变的是目的地址,以使包能重路由到某台主机 例如有台linux服务器a有公网ip和内网ip,当开发部需要远程调试某内网服务器b的时候,你可以把a服务器的tcp:4899端口映射到b服务器的tcp:4899端口。这样开发部就可以通过a服务器的公网ip和端口4899远程用radmin登陆到服务b进行维护了。 什么是MASQUERADE MASQUERADE其实是SNAT的一种,只是计算机的负荷稍微多一点 MASQUERADE和SNAT最大的区别就是:SNAT转换的ip地址是固定的,而MASQUERADE转换的ip地址是不固定的需要系统查找的,主要用在拨号等没有固定ip情况下 我们应用一般是固定ip的情况,因此一般不要采用MASQUERADE方式 Ip包路由的判断 机器收到一个ip通信包,首先要判断一下包的目的地址如果是本地的包就直接接收处理,如果不是本地的包就查找路由表后进行路由(route) Linux可以配置为支持route转发,默认情况是不支持,需要修改/proc/sys/net/ipv4/ip_forward 为1才能支持route转发,这也是iptables做nat转换的基本前提 PREROUTING PREROUTING字面意思“发生在rout之前”,表示在路由(route)动作前的操作,就是在判断包的目的地址前的操作,DNAT就是在prerouting链的操作,在判断包的目的地址前修改了包的目的地址,使发往目的地址的包转发到另一个地址,从而完成了DNAT的操作,前面远程维护的例子就是该应用 POSTROUTING POSTROUTING字面意思“发生在route之后”,表示在路由(route)动作后的操作,也就是包的目的地址不是本机而完成route后,SNAT就是在postrouting链的操作,在route完成后,修改了包的源地址,使发往外部地址的包看起来像是linux服务器发出的,从而完成了DNAT的操作,前面代理的例子就是该应用 路由流程 包接收 PREROUTING修改包目的地址,DNAT Route路由 POSTROUTING修改包的源地址,SNAT 发出包 以上是一个nat包的流转过程,实际情况可能只经过了其中的某些步骤 Iptables的命令格式 iptables [-t table] command [match] [target/jump] 如果你不想用标准的表,就要在[table]处指定表名。iptables 默认使用filter表来执行所有的命令。 我们使用nat表的时候就要指明-t nat command告诉程序该
文档评论(0)