192.168.1.1-路由器设置 > 192.168.1.1 > 192.168.1.101 >

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

文章摘要

如果你刚刚学习了iptables的原理和基本语法,但还不清楚在线上服务器中如何实际的利用这个工具,那么阅读本文。iptables一般有两种工作模式,一种用作NAT路由器,一种作为主机防火墙。本文我们会介绍一个简单的邮件服务器主机防护脚本。 AD: 本文针对iptables初学者。请看如下

 

  如果你刚刚学习了iptables的原理和基本语法,但还不清楚在线上服务器中如何实际的利用这个工具,那么阅读本文。iptables一般有两种工作模式,一种用作NAT路由器,一种作为主机防火墙。本文我们会介绍一个简单的邮件服务器主机防护脚本。

  AD:

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

  iptables的两种主要工作模式

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

  PREROUTING→FORWARD→POSTROUTING

  PREROUTING→INPUT→本机→OUTPUT→POSTROUTING

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

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

  src=http://os.51cto.com/art/201108/

  说明一下:

  前面可以将iptables初始化。

  modprobe这段是手动加载模块的过程。一般如果用serviceiptablesstart来启动iptables,会加载很多不必要的模块,所以这里我们采用手动加载的方式。ip_conntrack模块在平时的测试学习可以,方便追踪数据包的流向。不过,生产下我不大家此模块,以免加重服务器的负载。

  默认规则下方的两条用于系统回环端口,以免造成不必要的麻烦。具体是什么样的麻烦?大家可以先想一想,文末会给出解答。

  最后一条是允许RELATED和ESTABLISHED状态的连接通过iptables。为什么要这样设置,也会在文末解答。

  iptables脚本后,我们可以用命令查看一下结果,如下所示:

  ftp 192.168.1.101iptables-nv-L

  看到这个结果说明iptables生效了。

  另外,对刚刚学习iptables的朋友提供一个。一开始玩iptables很容易犯的一个错误就是把自己锁在服务器外面了。针对这种情况,我们可以编写一个crontab计划任务,每5分钟关闭一次防火墙,等完全调试完后再关闭此crontab任务:

  vim/etc/crontab/5/etc/init.d/iptablesstop

  以上只是初级的防护脚本。至于其它的SYN和Ping及其它,等大家熟悉了解其原理后,可以在此脚本的基础上添加。

  以下是上文中两个问题的解答:

  一、为什么要打开系统回环接口?

  Linux系统默认会有一块名为lo的环回网络接口,而真正的网卡一般则被Linux系统识别成名为eth0,eth1这样的网络接口。

  一般,lo接口对应的ip地址为127.0.0.1。

  当你从一台linux主机向自身发送数据包时,实际上的数据包是通过虚拟的lo接口来发送接受的,而不会通过你的物理网卡eth0/eth1。

  如果lo接口被墙,会发生ping/telnet/ssh本机(本机域名、localhost和127.0.0.1)不通的情况,会给调试带来一些麻烦。

  二、为什么要设置RELATED、ESTABLISHED状态检测?

  相对于纯IP过滤,状态防火墙更加智能,效率更高。这个比较适合FTP服务器。有关iptables的状态机制,可这篇文章:

  【编辑推荐】

分享到:

tags:ftp 192.168.

最近更新-关于我们 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明
CopyRight2009-2011 All Rights Reserved 192.168.1.1 路由器设置jmqy.com