iptables查询列表指令大全

频道:网站相关 日期: 浏览:40

iptables查询列表指令大全

iptables基础概念

在介绍iptables查询列表指令之前,我们先了解一些iptables基础概念。

iptables查询列表指令大全

iptables是一个在Linux系统中用于配置防火墙和过滤数据包的工具。它可以在网络接口层、传输层和应用层等不同网络层次上进行筛选和操作,以保障系统安全和网络流量能够顺畅地进行。iptables是Linux操作系统的默认防火墙,可以通过修改其规则集来进行访问控制和流量管理。

在iptables中,规则由三个部分组成:匹配条件、动作和目标。匹配条件是用来判断数据包是否符合规则要求的,可以包括数据包的来源、目标地址、端口号、协议类型等。动作是指匹配成功时iptables执行的操作,一般包括ACCEPT、DROP、REJECT等。目标是指将匹配到的数据包传输到哪里,可以是本地主机或者其他网络节点。

iptables查询列表指令

iptables查询列表指令主要用于查看iptables中已经添加的规则列表,以便于管理员进行管理和维护。下面我们介绍几个常用的iptables查询列表指令。

iptables -L

iptables -L命令可以列出iptables中当前所有的规则链和规则,包括默认规则、自定义规则和系统内置规则。该命令的输出结果可以分为四个部分:Chain、num、pkts、bytes。

Chain列显示规则链的名称,num列显示规则链中规则的编号,pkts列显示匹配该规则的数据包个数,bytes列显示匹配该规则的数据包字节数。Chain和num是必须显示的列,pkts和bytes列可以通过添加选项来进行控制。

使用iptables -L命令不带任何选项时,输出结果如下:

Chain INPUT (policy ACCEPT)

num target prot opt source destination

1 ACCEPT tcp -- anywhere anywhere tcp dpt:ssh

2 ACCEPT tcp -- anywhere anywhere tcp dpt:http

3 ACCEPT all -- anywhere anywhere

4 ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED

5 DROP all -- anywhere anywhere

Chain FORWARD (policy ACCEPT)

1 DROP all -- anywhere anywhere

Chain OUTPUT (policy ACCEPT)

1 ACCEPT all -- anywhere anywhere

INPUT、OUTPUT和FORWARD分别表示iptables中的三个默认规则链,即数据包进入本地主机、数据包从本地主机出发以及数据包在本地主机进行转发的规则链。

iptables -L -n

iptables -L -n命令可以列出当前iptables中的规则列表,但是会将所有IP地址和端口号都显示为数字形式,而不是域名和服务名称。这种形式可以加快查询速度,并且尤其适用于在没有DNS服务或者网络连接不稳定的情况下进行查询。

使用iptables -L -n命令时,输出结果如下:

1 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:22

2 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:80

3 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0

4 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED

5 DROP all -- 0.0.0.0/0 0.0.0.0/0

1 DROP all -- 0.0.0.0/0 0.0.0.0/0

1 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0

iptables -L -v

iptables -L -v命令可以列出iptables中的规则列表,并且可以显示更加详细的信息,包括匹配到规则的数据包数量和字节数等。

使用该命令时,输出结果会多出两列:pkts和bytes,分别表示匹配到该规则的数据包个数和字节数。

使用iptables -L -v命令时,输出结果如下:

Chain INPUT (policy ACCEPT 10 packets, 1037 bytes)

num pkts bytes target prot opt in out source destination

1 0 0 ACCEPT tcp -- any any anywhere anywhere tcp dpt:ssh

2 0 0 ACCEPT tcp -- any any anywhere anywhere tcp dpt:http

3 0 0 ACCEPT all -- any any anywhere anywhere

4 0 0 ACCEPT all -- any any anywhere anywhere state RELATED,ESTABLISHED

5 0 0 DROP all -- any any anywhere anywhere

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)

1 0 0 DROP all -- any any anywhere anywhere

Chain OUTPUT (policy ACCEPT 5 packets, 594 bytes)

1 5 594 ACCEPT all -- any any anywhere anywhere

iptables -L -t

iptables -L -t命令可以列出iptables中指定表格的规则列表,例如-nat表格、-mangle表格等。

在iptables中,有多个表格,用于存储不同范畴的规则。默认情况下,使用iptables -L命令时会输出filter表格的规则列表,但是如果需要查看其他表格的规则列表,就需要使用iptables -L -t命令,并指定需要查看的表格名称。

使用iptables -L -t nat命令时,输出结果如下:

Chain PREROUTING (policy ACCEPT)

1 DNAT tcp -- anywhere anywhere tcp dpt:http to:192.168.0.2:80

1 SNAT all -- anywhere 192.168.0.2 to:192.168.0.1

Chain POSTROUTING (policy ACCEPT)

可以看到,在-nat表格中,共有四个规则链:PREROUTING、INPUT、OUTPUT和POSTROUTING。

网友留言(0)

评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。