科技行者

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

知识库

知识库 安全导航

至顶网网络频道实现Linux网络防火墙(5)

实现Linux网络防火墙(5)

  • 扫一扫
    分享文章到微信

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

本文主要介绍Linux提供的IPFW、Ipchains、Iptables这三种非常实用的防火墙和具体实现。

作者:51CTO.COM 2007年11月11日

关键字: 网络 防火墙 iptables ipchains ipfw Linux

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

  系统缺省的表为filter,该表包含了INPUT链(输入链)、FORWARD链(转发链)和OUTPUT链(输出链)。每一条链中可以定义一条或数条规则,每一条规则都以如下格式定义:条件/处理方式。

  当一个数据包到达一个链时,系统就会从第一条规则开始检查,看是否符合该规则所定义的条件。如果满足,系统将根据该条规则所定义的方法处理该数据包;如果不满足,则继续检查下一条规则。如果该数据包不符合该链中任一条规则,系统则会根据该链预先定义的策略(policy)来处理该数据包。

  和前面介绍的两个软件包一样,Iptables及Netfilter也是内置在Linux内核中,可以将相应的软件包编译到内核中,从而完成 Iptables防火墙的安装。Netfilter框架能够在内核2.3.5及以上版本实现。在将软件包重新编译进内核时,要求选择和Netfilter 相关的项目。这些项目通常都是位于“Networking options”子项下。以2.4.0内核为例,应该选中的项目有:

  [*] Kernel/User netlink socket

  [ ] Routing messages

  <*>Netlink device emulation

  [*] Network packet filtering (replaces ipchains)

  在“IP: Netfilter Configuration ---->”选中如下选项:

  Connection tracking (required for masq/NAT)

  FTP protocol support

  IP tables support (required for filtering/masq/NAT)

  limit match support

  MAC address match support

  Netfilter MARK match support

  Multiple port match support

  TOS match support

  Connection state match support

  Packet filtering

  REJECT target support

  Full NAT

  MASQUERADE target support

  REDIRECT target support

  Packet mangling

  TOS target support

  MARK target support

  LOG target support

  ipchains (2.2-style) support

  ipfwadm (2.0-style) support

  上面最后两个项目可以不选,如果将其选中,则可以在2.4内核中使用Ipchains或Ipfwadm。需要注意的是,Iptables和 Ipchains/Ipfwadm是相对立的,在使用Iptables时就不能同时使用Ipchains/Ipfwadm。选择完所需选项后,就可以执行编译操作了。编译成功后,这些模块文件都位于目录/lib/modules/2.4.0/kernel/net/ipv4/netfilter中。

  编译2.4.0新内核时还应该注意,要在“Processor type and features”中选择与所用CPU相对应的、正确的CPU选项,否则新内核可能无法正常工作。

  成功安装Iptables后,不能直接使用Iptables,还必须载入相关模块。使用以下命令载入相关模块:

  #modprobe iptable_tables

  modprobe命令会自动载入指定模块及其相关模块。iptables_filter模块会在运行时自动载入。

  Iptables实际上是一个操作过滤规则的工具。利用Iptables工具,可以对Netfilter中的链和规则进行操作。Iptables使用与 IP链基本相同的语法和命令格式。除了对链和规则进行操作外,Iptables还提供其它一些操作。如通过--source/--src/-s指定源地址;通过--destination/--dst/-s指定目的地址;通过--protocol/-p选项指定协议,比如-p tcp;使用--in-interface/-i或--out-interface/-o)指定网络接口;指定IP碎片等。这里不一一介绍相关语法。读者可以从HOWTO文档获得相关内容。

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

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

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