iptables命令的结构 iptables命令设置
创始人
2024-07-23 07:51:28
0

iptables命令大家都经常用到,但本文要讲的是iptables命令的结构,对学习和记忆iptables命令非常有帮助!

  命令行本节列出了iptables命令行的组成部分(跟在实用工具名iptables后面的内容)。除了明确标示出来的部分之外,实用工具iptables对命令行参数的位置并没有特殊的要求。本章中的示例反映的是一种普遍接受的语法,它可以让命令行更加易于阅读、理解和维护。不是所有命令都包括全部的组成部分。

  iptables命令行中的很多符号都有两种形式:短格式(单个字母,前面还有一个连字符)和长格式(一个单词,前面有两个连字符)。为了简洁起见,大多数脚本使用短格式,而使用长格式的命令行显得有些笨重。下面的两条iptables命令行是一样的效果,本节将它们作为示例:

  表指定命令所操作的表的名称:Filter、NAT还是Mangle。可以在任何iptables命令中指定表名。如果不指定表名,那么该命令操作的就是Filter表。本章的大多数示例不指定表名,因此它们操作的是Filter表。用-ttablename或--tabletablename来指定表。

  命令用来说明命令行剩余部分的作用,比如添加或删除规则、显示规则或添加规则链。这个示例中的命令(-A和--append)将命令行指定的规则添加到指定的表和规则链中。15.7.1节列出了所有命令。

  规则链指定规则所属的规则链或命令操作的规则链的名称。规则链有INPUT、OUTPUT、FORWARD、PREROUTING、POSTROUTING,或者由用户定义的规则链。在指定规则链时,直接将规则链的名字放进命令行,不需要在前面放置任何连字符。本节开头的示例操作的是FORWARD规则链。

  匹配条件 有两种匹配条件:分组匹配条件(匹配网络分组)和规则匹配条件(匹配已有规则)。

  分组匹配条件/规则定义分组匹配条件用来识别网络分组,并实现规则,对匹配条件的分组采取相应的行动。分组匹配条件和动作的组合被称为规则定义。规则定义构成了分组过滤的基础。本节开头的第一个示例使用的规则匹配条件是--in-interfaceeth1--out-interface eth0。第二个示例使用的是同一个条件,但用的是短格式:-i eth1-oeth0。这两条规则都用来转发设备eth1上接收到的分组,并将其通过设备eth0发送到网络。

  规则匹配条件规则匹配条件识别已有的规则。iptables命令能够修改、删除或将一条新规则放置到与规则匹配条件指定的规则相邻的地方。有两种方法可以指定某条已有规则:可以使用与曾经用来建立规则相同的规则定义,也可以使用规则的序号(被称为规则编号)。规则编号从1开始,它表示的是规则链中的第一条规则,可在iptables-L(或者--line-numbers)的结果中显示。下面的第一条命令将本节开头所列的规则删除。第二条命令将INPUT规则链中编号为3的规则替换成另一条规则,将所有来自IP地址192.168.0.10的分组拒绝:

  跳转或目标用来指定内核对分组(它们匹配规则的所有匹配条件)所采取的动作。指定跳转或目标的方式为-jtarget或者--jumptarget。本节开头的示例使用命令--jump ACCEPT和-jACCEPT,来指定目标ACCEPT。

  跳转跳转将控制转移到同一个表中的不同规则链。下面的命令将一条规则添加(--append)到INPUT链,将使用TCP协议(--protocoltcp)的分组传递给用户定义链tcp_rules(--jumptcp_rules):

  当分组经过tcp_rules链的处理之后(假设还没有被丢弃或拒绝),它将从刚跳转的那条规则之后的规则继续经过INPUT链处理。

  目标目标指定内核对分组所采取的动作,最简单的动作是ACCEPT、DROP和REJECT,下面的命令向FORWARD链中添加一条规则,将来自FTP端口(/etc/services--iptables根据这个文件来确定使用哪个端口--显示FTP使用的端口是23)的分组拒绝:

  有些目标(比如LOG)并不是最终的目标:在执行该目标之后,将控制传递给下一条规则。

通过文章的详细描述,我们知道了iptables命令的结构,希望大家都能快速掌握iptables命令!

【编辑推荐】

  • Linux Iptables命令大全
  • 如何实现 iptables 端口映射
  • iptables 端口映射设置
  • iptables实现端口转发、端口映射及双向通路
  • CentOS下配置iptables防火墙
  • Centos5下安装iptables以及layer7协议
  • Centos 5.3 环境下编译iptables
  • CentOS+iptables+squid透明代理+防火墙设置

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...
2012年第四季度互联网状况报... [[71653]]  北京时间4月25日消息,据国外媒体报道,全球知名的云平台公司Akamai Te...