1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
| [root@bogon ~]# iptables -t filter -L Chain INPUT (policy ACCEPT) target prot opt source destination ACCEPT all -- anywhere anywhere ctstate RELATED,ESTABLISHED
Chain FORWARD (policy ACCEPT) target prot opt source destination ACCEPT all -- anywhere anywhere ctstate RELATED,ESTABLISHED
Chain OUTPUT (policy ACCEPT) target prot opt source destination OUTPUT_direct all -- anywhere anywhere # 列出filter表的所有规则 # 报文发往本机时,会经过PREROUTING链与INPUT链。所以,如果我们想要禁止某些报文发往本机,我们只能在PREROUTING链和INPUT链中定义规则,但是PREROUTING链并不存在于filter表中,因为PREROUTING链没有过滤功能,所以,只能在INPUT链上定义
root@bogon ~]# iptables -L INPUT Chain INPUT (policy ACCEPT) target prot opt source destination ACCEPT all -- anywhere anywhere ctstate RELATED,ESTABLISHED #只查看指定表中的指定链规则。可以省略-t filter,当没有使用-t选项指定表时,默认为操作filter表
[root@bogon ~]# iptables -vL INPUT Chain INPUT (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination 1894 144K ACCEPT all -- any any anywhere anywhere ctstate RELATED,ESTABLISHED # 使用-v选项可以显示更多信息。字段含义如下: # pkts:对应规则匹配到的报文的个数。 # bytes:对应匹配到的报文包的大小总和。 # target:规则对应的target(目标),往往表示规则对应的"动作",即规则匹配成功后需要采取的措施。 # prot:表示规则对应的协议,是否只针对某些协议应用此规则。 # opt:表示规则对应的选项。 # in:表示数据包由哪个接口(网卡)流入,我们可以设置通过哪块网卡流入的报文需要匹配当前规则。 # out:表示数据包由哪个接口(网卡)流出,我们可以设置通过哪块网卡流出的报文需要匹配当前规则。 # source:表示规则对应的源头地址,可以是一个IP,也可以是一个网段。 # destination:表示规则对应的目标地址。可以是一个IP,也可以是一个网段。 # source与destination为anywhere是因为做了名称解析
[root@bogon ~]# iptables -nvL INPUT Chain INPUT (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination 1918 146K ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 ctstate RELATED,ESTABLISHED # 在规则非常多的情况下如果进行名称解析,效率会比较低。可以使用-n选项,表示不对IP地址进行名称反解,直接显示IP地址
[root@bogon ~]# iptables --line-number -nvL INPUT Chain INPUT (policy ACCEPT 0 packets, 0 bytes) num pkts bytes target prot opt in out source destination 1 1971 150K ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 ctstate RELATED,ESTABLISHED # 使用--line-numbers即可显示规则的编号。--line-numbers选项并没有对应的短选项,不过我们缩写成--line # Chain INPUT (policy ACCEPT 0 packets, 0 bytes)的含义如下: # policy表示当前链的默认策略,policy ACCEPT表示INPUT的链的默认动作为ACCEPT,默认接受通过INPUT关卡的所有请求 # packets表示当前链(上例为INPUT链)默认策略匹配到的包的数量,0 packets表示默认策略匹配到0个包。 # bytes表示当前链默认策略匹配到的所有包的大小总和。
[root@bogon ~]# iptables --line -xnvL INPUT Chain INPUT (policy ACCEPT 5557 packets, 332K bytes) num pkts bytes target prot opt in out source destination 1 2012 153468 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 ctstate RELATED,ESTABLISHED # 其实,我们可以把packets与bytes称作"计数器",上例中的计数器记录了默认策略匹配到的报文数量与总大小,"计数器"只会在使用-v选项时,才会显示出来。当被匹配到的包达到一定数量时,计数器会自动将匹配到的包的大小转换为可读性较高的单位。如果你想要查看精确的计数值,而不是经过可读性优化过的计数值,那么你可以使用-x选项,表示显示精确的计数值
|