iptables入门

iptables入门

ID:42562837

大小:52.51 KB

页数:6页

时间:2019-09-17

iptables入门_第1页
iptables入门_第2页
iptables入门_第3页
iptables入门_第4页
iptables入门_第5页
资源描述:

《iptables入门》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、iptables入门:邮件服务器简单防护本文针对iptables初学者。如果你刚刚学习了iptables的原理和基本语法,但还不清楚在线上服务器环境中如何实际的利用这个工具,那么建议阅读本文。iptables的两种主要工作模式对于iptables的数据包而言,有以下几个流向:PREROUTING→FORWARD→POSTROUTINGPREROUTING→INPUT→本机→OUTPUT→POSTROUTING大家可以留意下,数据包的主要两种流向(其实也是我们后面iptables的两种工作模式):一是做为NAT路由器,另一种

2、是做为主机防火墙。iptables数据流入和流出详细流程建议参考下图:图 iptables数据包流入和流出详细流程图iptables根据不同的数据包处理功能使用不同的规则表。它包括如下三个表:filter、nat和mangle。·filter是默认的表,它包含真正的防火墙过滤规则。内建的规则链包括:INPUT、OUTPUT和FORWARD。·nat表包含源和目的地址及端口转换使用的规则,内建的规则链包括PREROUTING、OUTPUT和POSTROUTING。·mangle表包含用于设置特殊的数据包路由标志的规则,这些标

3、志随后被filter表中的规则检查。内建的规则链包括:PREROUTING、INPUT、FORWARD、POSTROUTING和OUTPUT。表对应的相关规则链的功能如下:·INPUT链:当一个数据包由内核中的路由计算确定为本地的Linux系统后,它会通过INPUT链的检查。       ·OUTPUT链:保留给系统自身生成的数据包。·FORWARD链:经过Linux系统路由的数据包(即当iptables防火墙用于连接两个网络时,两个网络之间的数据包必须流经该防火墙)。·PREROUTING链:用于修改目的地地址(DNAT

4、)。·POSTROUTING链:用于修改源地址(SNAT)。iptables详细语法如下所示:iptables[-t表名]<-A

5、I

6、D

7、R>链名[规则编号][-i

8、o网卡名称][-p协议类型][-s源IP地址

9、源子网][--sport源端口号][-d目标IP地址

10、目标子网][--dport目标端口号]<-j动作>注:此语法规则详细,逻辑清晰,推荐以此公式记忆。我们在刚开始写iptables规则时就应该养成好习惯,用公式来规范脚本,这对于我们的以后工作大有帮助。这一节我们通过编写一个简单的用于邮件主机防护iptables脚

11、本来熟悉iptables语法规则。网络拓朴很简单,iptables本身机器IP为:192.168.1.101/24,另一台机器的IP为:192.168.1.102。普通的邮件主机防护脚本普通的邮件主机防护脚本比较容易实现。邮件主机主要开放二个端口:80和25,其他端口则关闭,另外由于这里没有涉及多少功能,所以模块的载入也很简单,只涉及Filter表,而且脚本的初始化也很简单。我们可以按照编写iptables的流程顺序来写脚本,脚本内容如下:(注:此服务器置于自己的机房内,所以没有开放22端口,调试时直接进机房调试。如果远程

12、操作,需要打开22端口。)#/bin/bashiptables-Fiptables-Xiptables-Z modprobeip_tablesmodprobeiptable_natmodprobeip_nat_ftpmodprobeip_conntrack iptables-PINPUTDROPiptables-PFORWARDACCEPTiptables-POUTPUTACCEPT iptables-AINPUT-ilo-jACCEPT iptables-AOUTPUT-olo-jACCEPT  iptables-AIN

13、PUT-ptcp-mmultiport--dports25,80-jACCEPTiptables-AINPUT-mstate--stateRELATED,ESTABLISHED-jACCEPT说明一下:前面三条可以将iptables初始化。modprobe这段是手动加载模块的过程。一般如果用serviceiptablesstart来启动iptables,会加载很多不必要的模块,所以这里我们采用手动加载的方式。ip_conntrack模块在平时的测试学习环境可以开启,方便追踪数据包的流向。不过,生产环境下我不建议大家开启此模

14、块,以免加重服务器的负载。默认规则下方的两条用于开启系统回环端口,以免造成不必要的麻烦。具体是什么样的麻烦?大家可以先想一想,文末会给出解答。最后一条是允许RELATED和ESTABLISHED状态的连接通过iptables。为什么要这样设置,也会在文末解答。iptables脚本开启后,我们可以用命令查

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。