⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 netfilter-iptables 简介.htm

📁 这是我对防火墙技术的一些见解
💻 HTM
📖 第 1 页 / 共 4 页
字号:
        <P><CODE>$ iptables -F FORWARD<BR>$ iptables -F</CODE> </P>
        <LI><B><CODE>-L</CODE> 或 <CODE>--list</CODE>:</B>列出指定链中的所有规则。<BR>示例:
        <P><CODE>$ iptables -L allowed-chain</CODE> </P></LI></UL>
      <P><A name=match><SPAN class=atitle3>匹配(match)</SPAN></A><BR>iptables 
      命令的可选 match 
      部分指定信息包与规则匹配所应具有的特征(如源和目的地地址、协议等)。匹配分为两大类:<I>通用匹配</I>和<I>特定于协议的匹配</I>。这里,我将研究可用于采用任何协议的信息包的通用匹配。下面是一些重要的且常用的通用匹配及其示例和说明:</P>
      <UL>
        <LI><B><CODE>-p</CODE> 或 
        <CODE>--protocol</CODE>:</B>该通用协议匹配用于检查某些特定协议。协议示例有 
        <CODE>TCP</CODE>、<CODE>UDP</CODE>、<CODE>ICMP</CODE>、用逗号分隔的任何这三种协议的组合列表以及 
        <CODE>ALL</CODE>(用于所有协议)。<CODE>ALL</CODE> 是缺省匹配。可以使用 <CODE>!</CODE> 
        符号,它表示不与该项匹配。<BR>示例:
        <P><CODE>$ iptables -A INPUT -p TCP, UDP<BR>$ iptables -A INPUT -p ! 
        ICMP</CODE> </P>在上述示例中,这两条命令都执行同一任务 — 它们指定所有 <CODE>TCP</CODE> 和 
        <CODE>UDP</CODE> 信息包都将与该规则匹配。通过指定 <CODE>! 
        ICMP</CODE>,我们打算允许所有其它协议(在这种情况下是 <CODE>TCP</CODE> 和 <CODE>UDP</CODE>),而将 
        <CODE>ICMP</CODE> 排除在外。 <BR><BR>
        <LI><B><CODE>-s</CODE> 或 <CODE>--source</CODE>:</B>该源匹配用于根据信息包的源 IP 
        地址来与它们匹配。该匹配还允许对某一范围内的 IP 地址进行匹配,可以使用 <CODE>!</CODE> 
        符号,表示不与该项匹配。缺省源匹配与所有 IP 地址匹配。 <BR>示例:
        <P><CODE>$ iptables -A OUTPUT -s 192.168.1.1<BR>$ iptables -A OUTPUT -s 
        192.168.0.0/24<BR>$ iptables -A OUTPUT -s ! 203.16.1.89</CODE> 
        </P>第二条命令指定该规则与所有来自 192.168.0.0 到 192.168.0.24 的 IP 
        地址范围的信息包匹配。第三条命令指定该规则将与除来自源地址 203.16.1.89 外的任何信息包匹配。 <BR><BR>
        <LI><B><CODE>-d</CODE> 或 
        <CODE>--destination</CODE>:</B>该目的地匹配用于根据信息包的目的地 IP 
        地址来与它们匹配。该匹配还允许对某一范围内 IP 地址进行匹配,可以使用 <CODE>!</CODE> 符号,表示不与该项匹配。<BR>示例:
        <P><CODE>$ iptables -A INPUT -d 192.168.1.1<BR>$ iptables -A INPUT -d 
        192.168.0.0/24<BR>$ iptables -A OUTPUT -d ! 203.16.1.89</CODE> 
      </P></LI></UL>
      <P><A name=target><SPAN 
      class=atitle3>目标(target)</SPAN></A><BR>我们已经知道,目标是由规则指定的操作,对与那些规则匹配的信息包执行这些操作。除了允许用户定义的目标之外,还有许多可用的目标选项。下面是常用的一些目标及其示例和说明:</P>
      <UL>
        <LI><B><CODE>ACCEPT</CODE>:</B>当信息包与具有 <CODE>ACCEPT</CODE> 
        目标的规则完全匹配时,会被接受(允许它前往目的地),并且它将停止遍历链(虽然该信息包可能遍历另一个表中的其它链,并且有可能在那里被丢弃)。该目标被指定为 
        <CODE>-j ACCEPT</CODE>。 <BR><BR>
        <LI><B><CODE>DROP</CODE>:</B>当信息包与具有 <CODE>DROP</CODE> 
        目标的规则完全匹配时,会阻塞该信息包,并且不对它做进一步处理。该目标被指定为 <CODE>-j DROP</CODE>。 <BR><BR>
        <LI><B><CODE>REJECT</CODE>:</B>该目标的工作方式与 <CODE>DROP</CODE> 目标相同,但它比 
        <CODE>DROP</CODE> 好。和 <CODE>DROP</CODE> 不同,<CODE>REJECT</CODE> 
        不会在服务器和客户机上留下死套接字。另外,<CODE>REJECT</CODE> 将错误消息发回给信息包的发送方。该目标被指定为 
        <CODE>-j REJECT</CODE>。<BR>示例:
        <P><CODE>$ iptables -A FORWARD -p TCP --dport 22 -j REJECT</CODE> </P>
        <LI><B><CODE>RETURN</CODE>:</B>在规则中设置的 <CODE>RETURN</CODE> 
        目标让与该规则匹配的信息包停止遍历包含该规则的链。如果链是如 <CODE>INPUT</CODE> 
        之类的主链,则使用该链的缺省策略处理信息包。它被指定为 <CODE>-jump RETURN</CODE>。示例:
        <P><CODE>$ iptables -A FORWARD -d 203.16.1.89 -jump RETURN</CODE> 
        </P></LI></UL>
      <P>还有许多用于建立高级规则的其它目标,如 
      <CODE>LOG</CODE>、<CODE>REDIRECT</CODE>、<CODE>MARK</CODE>、<CODE>MIRROR</CODE> 
      和 <CODE>MASQUERADE</CODE> 等。</P>
      <P><A name=save_rules><SPAN 
      class=atitle3>保存规则</SPAN></A><BR>现在,您已经学习了如何建立基本的规则和链以及如何从信息包过滤表中添加或删除它们。但是,您应该记住:用上述方法所建立的规则会被保存到内核中,当重新引导系统时,会丢失这些规则。所以,如果您将没有错误的且有效的规则集添加到信息包过滤表,同时希望在重新引导之后再次使用这些规则,那么必须将该规则集保存在文件中。可以使用 
      <B>iptables-save</B> 命令来做到这一点: 
      <P><CODE>$ iptables-save &gt; iptables-script</CODE> </P>
      <P></P>
      <P>现在,信息包过滤表中的所有规则都被保存在文件 iptables-script 中。无论何时再次引导系统,都可以使用 
      <B>iptables-restore</B> 命令将规则集从该脚本文件恢复到信息包过滤表,如下所示: 
      <P><CODE>$ iptables-restore iptables-script</CODE> </P>
      <P></P>
      <P>如果您愿意在每次引导系统时自动恢复该规则集,则可以将上面指定的这条命令放到任何一个初始化 shell 脚本中。</P>
      <P><A name=advantage><SPAN class=atitle2>netfilter/iptables 
      系统的优点</SPAN></A><BR>netfilter/iptables 的最大优点是它可以配置有状态的防火墙,这是 ipfwadm 和 
      ipchains 
      等以前的工具都无法提供的一种重要功能。有状态的防火墙能够指定并记住为发送或接收信息包所建立的连接的状态。防火墙可以从信息包的连接跟踪状态获得该信息。在决定新的信息包过滤时,防火墙所使用的这些状态信息可以增加其效率和速度。这里有四种有效状态,名称分别为 
      <CODE>ESTABLISHED</CODE>、<CODE>INVALID</CODE>、<CODE>NEW</CODE> 和 
      <CODE>RELATED</CODE>。</P>
      <P>状态 <CODE>ESTABLISHED</CODE> 
      指出该信息包属于已建立的连接,该连接一直用于发送和接收信息包并且完全有效。<CODE>INVALID</CODE> 
      状态指出该信息包与任何已知的流或连接都不相关联,它可能包含错误的数据或头。状态 <CODE>NEW</CODE> 
      意味着该信息包已经或将启动新的连接,或者它与尚未用于发送和接收信息包的连接相关联。最后,<CODE>RELATED</CODE> 
      表示该信息包正在启动新连接,以及它与已建立的连接相关联。</P>
      <P>netfilter/iptables 
      的另一个重要优点是,它使用户可以完全控制防火墙配置和信息包过滤。您可以定制自己的规则来满足您的特定需求,从而只允许您想要的网络流量进入系统。</P>
      <P>另外,netfilter/iptables 是免费的,这对于那些想要节省费用的人来说十分理想,它可以代替昂贵的防火墙解决方案。</P>
      <P><A name=conclusion><SPAN class=atitle2>结束语</SPAN></A><BR>最新的 Linux 内核 
      2.4.x 具有 netfilter/iptables 系统这种内置的 IP 
      信息包过滤工具,它使配置防火墙和信息包过滤变得便宜且方便。netfilter/iptables 
      系统使其用户可以完全控制防火墙配置和信息包过滤。它允许为防火墙建立可定制化的规则来控制信息包过滤。它还允许配置有状态的防火墙。</P>
      <P><A name=resources><SPAN class=atitle2>参考资料</SPAN></A> 
      <UL>
        <LI>从 <A href="http://www.netfilter.org/">Netfilter 网站</A>获取有关 
        netfilter/iptables 系统的最新信息并下载 iptables 用户空间工具。 <BR><BR>
        <LI>请访问 <A 
        href="http://www.netfilter.org/documentation/HOWTO//packet-filtering-HOWTO.html">Linux 
        2.4 Packet Filtering HOWTO Web 页面</A>,以获取关于 netfilter/iptables 的快速参考。 
        <BR><BR>
        <LI>请参考这篇<A 
        href="http://www.jollycom.ca/iptables-tutorial/iptables-tutorial.html">有关 
        netfilter/iptables 的详细教程</A>(Iptables Tutorial 1.1.9)。 <BR><BR>
        <LI>请从 <A 
        href="http://www.netfilter.org/documentation/FAQ/netfilter-faq.html">netfilter/iptables 
        FAQ</A> 获取任何有关 netfilter/iptables 问题的答案。 </LI></UL>
      <P></P>
      <TABLE cellSpacing=0 cellPadding=0 width="100%" border=0>
        <TBODY>
        <TR>
          <TD><A name=author1><SPAN class=atitle2>关于作者</SPAN><BR>Mugdha 
            Vairagade 
            是一名开发人员,有在多个组织中工作的经验。在无线应用程序开发方面,她拥有相当丰富的经验,而且专长于组件体系结构方面的工作。她对开放源码(Open 
            Source)项目特别感兴趣,并且参与了 Linux Documentation Project、Forum Nokia(WAP 
            开发人员论坛)和 W3C 的工作。她还编写了有关 Linux 和 XML 技术的技术性文章。可以通过 <A 
            href="mailto:vmugdha@indiatimes.com">vmugdha@indiatimes.com</A> 与 
            Mugdha 联系。</TD></TR></TBODY></TABLE><!-- END PAPER BODY--></TD>
    <TD width=10><IMG height=1 alt="" src="netfilter-iptables 简介.files/c.gif" 
      width=10 border=0></TD></TR></TBODY></TABLE><BR clear=all><IMG height=10 alt="" 
src="netfilter-iptables 简介.files/c.gif" width=100 border=0><BR>
<TABLE cellSpacing=0 cellPadding=0 width="100%" border=0>
  <TBODY>
  <TR vAlign=top>
    <TD align=right width="100%"><A 
      href="http://www-900.ibm.com/developerWorks/cn/linux/network/s-netip/index.shtml#top">到页首</A></TD>
    <TD width=5><IMG height=1 alt="" src="netfilter-iptables 简介.files/c.gif" 
      width=5 border=0></TD></TR>
  <TR vAlign=top>
    <TD bgColor=#000000 colSpan=2><IMG height=1 alt="" 
      src="netfilter-iptables 简介.files/c.gif" width=100 border=0></TD></TR>
  <TR vAlign=top>
    <TD bgColor=#ffffff colSpan=2><IMG height=8 alt="" 
      src="netfilter-iptables 简介.files/c.gif" width=100 
border=0></TD></TR></TBODY></TABLE>
<TABLE cellSpacing=0 cellPadding=10 width="100%" border=0>
  <TBODY>
  <TR vAlign=top>
    <TD>
      <FORM action=/developerWorks/cn/cnratings.nsf/RateArticle?CreateDocument 
      method=post><INPUT type=hidden value="netfilter/iptables 简介" 
      name=ArticleTitle> <INPUT type=hidden value=linux name=Zone> <INPUT 
      type=hidden value=/developerWorks/cn/thankyou/feedback-linux.html 
      name=RedirectURL> <A name=rating><B>您对这篇文章的看法如何?</B></A> 
      <TABLE cellSpacing=0 cellPadding=0 width=600 border=0>
        <TBODY>
        <TR>
          <TD colSpan=5><IMG height=8 alt="" 
            src="netfilter-iptables 简介.files/c.gif" width=100 border=0></TD></TR>
        <TR vAlign=top>
          <TD width="16%"><INPUT type=radio value=5 name=Rating>真棒!(5)</TD>
          <TD width="20%"><INPUT type=radio value=4 name=Rating>好文章 (4)</TD>
          <TD width="24%"><INPUT type=radio value=3 name=Rating>一般;尚可 (3)</TD>
          <TD width="22%"><INPUT type=radio value=2 name=Rating>需提高 (2)</TD>
          <TD width="18%"><INPUT type=radio value=1 name=Rating>太差! 
        (1)</TD></TR></TBODY></TABLE><BR><B>意见?</B><BR><TEXTAREA name=Comments rows=5 wrap=virtual cols=60></TEXTAREA><BR><BR><INPUT type=submit value=提交反馈意见></FORM></TD></TR>
  <TR vAlign=top>
    <TD bgColor=#ffffff><IMG height=8 alt="" 
      src="netfilter-iptables 简介.files/c.gif" width=100 
border=0></TD></TR></TBODY></TABLE>
<TABLE cellSpacing=0 cellPadding=0 width="100%" border=0>
  <TBODY>
  <TR>
    <TD align=right>(c) Copyright IBM Corp. 2001, (c) Copyright IBM China 
      2001, All Right Reserved</TD></TR>
  <TR vAlign=top>
    <TD class=bbg height=21>&nbsp;&nbsp;<A class=mainlink 
      href="http://www-900.ibm.com/developerWorks/cn/cgi-bin/click.cgi?url=www-900.ibm.com/cn/ibm/index.shtml&amp;origin=dwhead">关于 
      IBM</A><SPAN class=divider>&nbsp;&nbsp;|&nbsp;&nbsp;</SPAN><A 
      class=mainlink 
      href="http://www-900.ibm.com/developerWorks/cn/cgi-bin/click.cgi?url=www-900.ibm.com/cn/ibm/privacy/index.shtml&amp;origin=dwhead">隐私条约</A><SPAN 
      class=divider>&nbsp;&nbsp;|&nbsp;&nbsp;</SPAN><A class=mainlink 
      href="http://www-900.ibm.com/developerWorks/cn/cgi-bin/click.cgi?url=www-900.ibm.com/cn/ibm/legal/index.shtml&amp;origin=dwhead">使用条款</A><SPAN 
      class=divider>&nbsp;&nbsp;|&nbsp;&nbsp;</SPAN><A class=mainlink 
      href="http://www-900.ibm.com/developerWorks/cn/cgi-bin/click.cgi?url=www-900.ibm.com/cn/ibm/contact/index.shtml&amp;origin=dwhead">联系 
      IBM</A></TD></TR></TBODY></TABLE>
<SCRIPT language=JavaScript1.2 src="netfilter-iptables 简介.files/stats.js" 
type=text/javascript></SCRIPT>
<NOSCRIPT><IMG height=1 alt="" 
src="C:\Documents and Settings\hlm\My Documents\文档\防火墙技术\netfilter-iptables 简介.files\c(1).gif" 
width=1 border=0></NOSCRIPT> </A></BODY></HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -