科技行者

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

知识库

知识库 安全导航

至顶网网络频道Linux防火墙之IPtables概念与用法(1)

Linux防火墙之IPtables概念与用法(1)

  • 扫一扫
    分享文章到微信

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

iptables读取流入和流出的数据包的报头,然后将它们与规划集相比较,然后将可接受的数据包从一个网卡转发至另外一个网卡。对于被拒绝的数据包,可以被丢弃或者按照你所定义的方式来处理。

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

关键字: NAT 防火墙 iptables Linux

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

  防火墙典型的设置是有两个网卡,一个流入,一个流出。iptables读取流入和流出的数据包的报头,然后将它们与规划集(ruleset)相比较,然后将可接受的数据包从一个网卡转发至另外一个网卡。对于被拒绝的数据包,可以被丢弃或者按照你所定义的方式来处理。

  通过向防火墙提供有关对来自某个源、到某个目的地或具有特定协议类型的信息包要做些什么的指令的规则,控制信息包的过滤。通过使用iptables系统提供的特殊命令 iptables,建立这些规则,并将其添加到内核空间的特定信息包过滤表内的链中。关于添加、除去、编辑规则的命令的一般语法如下:

  iptables [-t table] command [match] [target]

  现实中,为了易读,我们一般都用这种语法。大部分规则都是按这种语法写的,因此,如果看到别人写的规则,你很可能会发现用的也是这种语法。

  如果不想用标准的表,就要在[table]处指定表名。一般情况下没有必要指定使用的表,因为iptables 默认使用filter表来执行所有的命令。也没有必要非得在这里指定表名,实际上几乎可在规则的任何地方指定表名。当然,把表名放在开始处已经是约定俗成的标准。尽管命令总是放在开头,或者是直接放在表名后面,我们也要考虑到底放在哪儿易读。

  “command”告诉程序该做什么,比如:插入一个规则,还是在链的末尾增加一个规则,还是删除一个规则。下面会仔细地介绍。

  “match”细致地描述了包的某个特点,以使这个包区别于其它所有的包。在这里,我们可以指定包的来源IP 地址、网络接口、端口、协议类型,或者其他什么。下面我们将会看到许多不同的match。

  最后是数据包的目标所在“target”。若数据包符合所有的match,内核就用target来处理它,或者说把包发往target。比如,我们可以让内核把包发送到当前表中的其他链(可能是我们自己建立的),或者只是丢弃这个包而不做任何处理,或者向发送者返回某个特殊的应答。下面我们来逐个讨论这些选项:

  表(table)

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

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

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