IPtables常用命令及参数指南

运维 系统运维
IPtables常用命令及参数指南:iptables是Linux内核集成的IP信息包过滤系统,如果 Linux 系统连接到因特网或LAN、服务器或连接LAN和因特网的代理服务器,则该系统有利于在Linux上更好地控制IP信息包过滤和防火墙配置。本文讲述的是IPtables常用命令及参数指南。

  IPtables常用命令及参数指南:

  我们将要介绍所有的command以及它们的用途。command指定iptables 对我们提交的规则要做什么样的操作。这些操作可能是在某个表里增加或删除一些东西,或做点儿其他什么。 我们将要介绍所有的command以及它们的用途。command指定iptables常用命令对我们提交的规则要做什么样的操作。这些操作可能是在某个表里增加或删除一些东西,或做点儿其他什么。以下是iptables常用命令可用的command(要注意,如不做说明,默认表的是 filter表。

  1.   Command-A, --append  
  2.  
  3.   Example iptables -A INPUT ...  
  4.  

  Explanation在所选择的链末添加规则。当源地址或目的地址是以名字而不是ip地址的形式出现时,若这些名字可以被解析为多个地址,则这条规则会和所有可用的地址结合。

  1.   Command-D, --delete  
  2.  
  3.   Example iptables -D INPUT --dport 80 -j DROP或iptables -D INPUT 1  
  4.  

  Explanation从所选链中删除规则。有两种方法指定要删除的规则:一是把规则完完整整地写出来,再就是指定规则在所选链中的序号(每条链的规则都各自从1被编号)。

  1.   Command-R, --replace  
  2.  
  3.   Example iptables -R INPUT 1 -s 192.168.0.1 -j DROP  
  4.  

  Explanation在所选中的链里指定的行上(每条链的规则都各自从1被编号)替换规则。它主要的用处是试验不同的规则。当源地址或目的地址是以名字而不是ip地址的形式出现时,若这些名字可以被解析为多个地址,则这条command会失败。

  1.   Command-I, --insert  
  2.  
  3.   Example iptables -I INPUT 1 --dport 80 -j ACCEPT  
  4.  

  Explanation根据给出的规则序号向所选链中插入规则。如果序号为1,规则会被插入链的头部,其实默认序号就是1。

  1.   Command-L, --list  
  2.  
  3.   Example iptables -L INPUT  
  4.  

  Explanation显示所选链的所有规则。如果没有指定链,则显示指定表中的所有链。如果什么都没有指定,就显示默认表所有的链。精确输出受其它参数影响,如-n 和-v等参数,下面会介绍。

  1.   Command-F, --flush  
  2.  
  3.   Example iptables -F INPUT  
  4.  

  Explanation清空所选的链。如果没有指定链,则清空指定表中的所有链。如果什么都没有指定,就清空默认表所有的链。当然,也可以一条一条地删,但用这个command会快些。

  1.   Command-Z, --zero  
  2.  
  3.   Example iptables -Z INPUT  
  4.  

  Explanation把指定链(如未指定,则认为是所有链)的所有计数器归零。

  1.   Command-N, --new-chain  
  2.  
  3.   Example iptables -N allowed  
  4.  

  Explanation根据用户指定的名字建立新的链。上面的例子建立了一个名为allowed的链。注意,所用的名字不能和已有的链、target同名。

  1.   Command-X, --delete-chain  
  2.  
  3.   Example iptables -X allowed  
  4.  

  Explanation删除指定的用户自定义链。这个链必须没有被引用,如果被引用,在删除之前你必须删除或者替换与之有关的规则。如果没有给出参数,这条命令将会删除默认表所有非内建的链。

  1.   Command-P, --policy  
  2.  
  3.   Example iptables -P INPUT DROP  
  4.  

  Explanation为链设置默认的target(可用的是DROP 和ACCEPT,如果还有其它的可用,请告诉我),这个target称作策略。所有不符合规则的包都被强制使用这个策略。只有内建的链才可以使用规则。但内建的链和用户自定义链都不能被作为策略使用,也就是说不能象这样使用:iptables -P INPUT allowed(或者是内建的链)。

  1.   Command-E, --rename-chain  
  2.  
  3.   Example iptables -E allowed disallowed  
  4.  

  Explanation对自定义的链进行重命名,原来的名字在前,新名字在后。如上,就是把allowed改为disallowed。这仅仅是改变链的名字,对整个表的结构、工作没有任何影响。

  在使用iptables时,如果必须的参数没有输入就按了回车,那么它就会给出一些提示信息:告诉你需要哪些参数等等。iptables的选项-v用来显示iptables的版本,-h给出语法的简短说明。。下面将要介绍的就是部分选项,还有它们的作用。

  Table 6-3. Options

  Option(选项)-v, --verbose(详细的)

  可用此选项的命令--list, --append, --insert, --delete, --replace

  Explanation(说明)这个选项使输出详细化,常与--list 连用。与--list连用时,输出中包括网络接口的地址、规则的选项、TOS掩码、字节和包计数器,其中计数器是以K、M、G(这里用的是10的幂而不是2的幂哦)为单位的。如果想知道到底有多少个包、多少字节,还要用到选项-x,下面会介绍。如果-v 和--append、--insert、--delete 或--replace连用,iptables会输出详细的信息告诉你规则是如何被解释的、是否正确地插入等等。

  1.   Option-x, --exact(精确的)  
  2.  
  3.   Commands used with--list  
  4.  

  Explanation使--list输出中的计数器显示准确的数值,而不用K、M、G等估值。注意此选项只能和--list连用。

  1.   Option-n, --numeric(数值)  
  2.  
  3.   Commands used with--list  
  4.  

  Explanation使输出中的IP地址和端口以数值的形式显示,而不是默认的名字,比如主机名、网络名、程序名等。注意此选项也只能和--list连用。

  1.   Option--line-numbers  
  2.  
  3.   Commands used with--list  
  4.  

  Explanation又是一个只能和--list连用的选项,作用是显示出每条规则在相应链中的序号。这样你可以知道序号了,这对插入新规则很有用哦。

  1.   Option-c, --set-counters  
  2.  
  3.   Commands used with--insert, --append, --replace  
  4.  

  Explanation在创建或更改规则时设置计数器,语法如下:--set-counters 20 4000,意思是让内核把包计数器设为20,把字节计数器设为4000。

  1.   Option--modprobe  
  2.  
  3.   Commands used withAll  
  4.  

  Explanation此选项告诉iptables常用命令探测并装载要使用的模块。这是非常有用的一个选项,万一modprobe命令不在搜索路径中,就要用到了。有了这个选项,在装载模块时,即使有一个需要用到的模块没装载上,iptables也知道要去搜索。

【编辑推荐】

Linux下用iptables上网

使用Iptables进行并发连接限制

如何用IPtables限制网络流量

责任编辑:zhaolei 来源: phpzixuewang
相关推荐

2011-03-15 09:59:57

2011-03-16 10:07:00

2010-01-07 17:59:50

Ubuntu APT

2011-01-19 17:00:09

Postfix常用命令

2014-01-02 09:57:56

PostgreSQL命令

2014-07-25 10:55:36

Linux命令

2022-09-06 07:56:36

ZookeeperAPI

2010-03-19 10:08:01

linux 常用命令

2020-09-28 15:14:31

Linux常用命令实用命令

2010-03-29 10:16:39

CentOS常用命令

2015-07-23 17:09:38

Mysql启动登录常用命令

2023-12-20 14:38:50

Linux磁盘IO

2013-04-28 14:03:26

Android开发Android常用命令

2010-04-21 10:19:40

Unix Shell

2014-08-15 10:47:49

Linux命令

2010-03-02 13:14:36

LinuxYUM常用命

2010-06-29 16:57:53

SNMP协议

2009-12-01 18:19:41

Suse常用命令

2010-04-01 17:19:04

CentOS常用命令

2010-05-25 11:40:12

MySQL 常用命令
点赞
收藏

51CTO技术栈公众号