科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网网络频道构筑防火墙之IPtables搭建防火墙的规则

构筑防火墙之IPtables搭建防火墙的规则

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

前面介绍了iptables的基本概念和用法,下面我们就开始正式使用iptables来创建我们的防火墙。我们也可以很轻易地阻止所有流向攻击者IP地址的数据包,该命令也只是稍有不同.

作者:51cto 2007年10月14日

关键字: 防火墙 iptables 搭建 规则

  • 评论
  • 分享微博
  • 分享邮件

在本页阅读全文(共2页)

  前面介绍了iptables的基本概念和用法,下面我们就开始正式使用iptables来创建我们的防火墙。启动和停止iptables的方法取决于所使用的Linux发行版,你可以查看所使用Linux版本的文档。在Red Hat中,启动iptables用:

  #service iptables start

  

  一般情况下,iptables已经包含在了Linux发行版中,可以运行iptables --version来查看系统是否安装了iptables。在我使用的Fedora Core 1中,安装的版本是iptables v1.2.8。如果你的系统确实没有安装iptables,那么可以从以下地址下载:

  http://www.netfilter.org/

  查看规则集

  虽然上文对iptables的用法作一个简单介绍,但现实中我们可能需要知道更完整的信息,这时我们可以运行man iptables来查看所有命令和选项的完整介绍,也可以运行iptables help来查看一个快速帮助。要查看系统中现有的iptables规划集,可以运行以下命令:

  iptables list

  

  下面是没有定义规划时iptables的样子:

  Chain INPUT (policy ACCEPT)

  target  prot opt source  destination

  Chain FORWARD (policy ACCEPT)

  target  prot opt source  destination

  Chain OUTPUT (policy ACCEPT)

  target  prot opt source  destination

  

  如上面的例子所示,每一个数据包都要通过三个内建的链(INPUT、OUTPUT和FORWARD)中的一个。 filter是最常用的表,上文所示设置所有的表规则的基本语法:iptables [-t table] command [match] [target]。

  现实中,不一定要用到这里所列出的所有选项,也不一定是以这个顺序。当然,这是一种惯例,因为规则一般都比较长,为了清晰起见,最好能够按照这个顺序。

  在没有指定规则表的情况下,缺省时使用的filter表。在filter表中最常用的三个目标是ACCEPT、DROP和REJECT。DROP会丢弃数据包,不再对其进行任何处理。REJECT会把出错信息传送至发送数据包的主机。虽然有时会有一些预想不到的影响,但在很多时候它还是非常有用。

  增加规则

  本例中的规则将会阻止来自某一特定IP范围内的数据包,因为该IP地址范围被管理员怀疑有大量恶意的攻击者在活动:

  # iptables -t filter -A INPUT -s 123.456.789.0/24 -j DROP

  

  要了解有关iptables详细的参数和命令格式,请使用man iptables查看。可以说,现在我们对于网络上的恶意攻击者已经深恶痛绝,但不管怎么说,我们也不能因为憎恨它们就以同样的方法对其实行简单的报复,至少这种事情不能在你的网络里发生。因此,我们也可以很轻易地阻止所有流向攻击者IP地址的数据包,该命令也只是稍有不同:

  # iptables -t filter -A OUTPUT -d 123.456.789.0/24 -j DROP

  

  注意这里的A选项,如前所述,使用它说明是给现有的链添加规则。

  删除规则

  网络上的恶意攻击者总是在变化着的,因此我们也要不断改变IP。假设我们了解的一个网上攻击者转移到了新的IP地址,而其老的IP地址被分配给了一些清白的用户,那么这时这些用户的数据包就无法通过你的网络了。这种情况下,我们可以使用带-D选项的命令来删除现有的规则:

  # iptables -t filter -D OUTPUT -d 123.456.789.0/24 -j DROP

  

  缺省的策略

  创建一个具有很好灵活性,可以抵御各种意外事件的规则需要花大量的时间。对于那些不想这样做的人,最基本的原则就是“先拒绝所有的数据包,然后再允许需要的”。下面我们来为每一个链设置缺省的规则:

  # iptables -P INPUT DROP

  # iptables -P FORWARD DROP

  # iptables -P OUTPUT ACCEPT

  

  这里选项-P用于设置链的策略,只有三个内建的链才有策略。这些策略可以让信息毫无限制地流出,但不允许信息流入。但很多时候,我们还是需要接收外部信息的。这时可使用以下命令:

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章