iptables入门:邮件服务器简单防护

发表于:2011-8-26 09:51

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:抚琴煮酒    来源:51Testing软件测试网采编

  本文针对iptables初学者。如果你刚刚学习了iptables的原理和基本语法,但还不清楚在线上服务器环境中如何实际的利用这个工具,那么建议阅读本文。

  iptables的两种主要工作模式

  对于iptables的数据包而言,有以下几个流向:

  PREROUTING→FORWARD→POSTROUTING

  PREROUTING→INPUT→本机→OUTPUT→POSTROUTING

  大家可以留意下,数据包的主要两种流向(其实也是我们后面iptables的两种工作模式):一是做为NAT路由器,另一种是做为主机防火墙。

  iptables数据流入和流出详细流程建议参考下图:

图  iptables数据包流入和流出详细流程图

  iptables根据不同的数据包处理功能使用不同的规则表。它包括如下三个表:filter、nat和mangle。

  ● filter是默认的表,它包含真正的防火墙过滤规则。内建的规则链包括:INPUT、OUTPUT和FORWARD。

  ● nat表包含源和目的地址及端口转换使用的规则,内建的规则链包括PREROUTING、OUTPUT和POSTROUTING。

  ● mangle表包含用于设置特殊的数据包路由标志的规则,这些标志随后被filter表中的规则检查。内建的规则链包括:PREROUTING、INPUT、FORWARD、POSTROUTING和OUTPUT。

  表对应的相关规则链的功能如下:

  ● INPUT链:当一个数据包由内核中的路由计算确定为本地的Linux系统后,它会通过INPUT链的检查。

  ● OUTPUT链:保留给系统自身生成的数据包。

  ● FORWARD链:经过Linux系统路由的数据包(即当iptables防火墙用于连接两个网络时,两个网络之间的数据包必须流经该防火墙)。

  ● PREROUTING链:用于修改目的地地址(DNAT)。

  ● POSTROUTING链:用于修改源地址(SNAT)。

  iptables详细语法如下所示:

iptables [-t表名] <-A| I |D |R > 链名[规则编号] [-i | o 网卡名称] [-p 协议类型] [-s 源IP地址 | 源子网][--sport 源端口号] [-d 目标IP地址 | 目标子网][--dport 目标端口号] <-j 动作>

  注:此语法规则详细,逻辑清晰,推荐以此公式记忆。我们在刚开始写iptables规则时就应该养成好习惯,用公式来规范脚本,这对于我们的以后工作大有帮助。

  这一节我们通过编写一个简单的用于邮件主机防护iptables脚本来熟悉iptables语法规则。网络拓朴很简单,iptables本身机器IP为:192.168.1.101/24,另一台机器的IP为:192.168.1.102。

31/3123>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号