iptables命令

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iptables命令相关的知识,希望对你有一定的参考价值。

  • iptables命令

 iptables [-t table] {-A|-D} chainrule-specification

 iptables [-t table] -I chain [rulenum]rule-specification

 iptables [-t table] -R chain rulenumrule-specification

 iptables [-t table] -D chain rulenum

 iptables [-t table] -S [chain [rulenum]]

 iptables [-t table] {-F|-L|-Z} [chain[rulenum]] [options...]

 iptables [-t table] -N chain

 iptables [-t table] -X [chain]

 iptables [-t table] -P chain target

 iptables [-t table] -E old-chain-namenew-chain-name

 

iptables[-t table] SUBCOMMAND(指明一个子命令) CHAIN(指明作用在哪个链上) -j TARGET(处理动作)

       -t table:

                      filter,nat, mangle, raw

       链管理:

              -F:flush,清空规则链;省略链,表示清空指定表上的所有的链;

              -N:new, 创建新的自定义规则链;

              -X:drop, 删除用户自定义的空的规则链;

             -Z:zero,清零,置零规则计数器;

             -P:Policy,为指定链设置默认策略;对filter表中的链而言,默认策略通常有ACCEPT接收,DROP丢弃, REJECT拒绝;

              -E:rEname,重命令自定义链;引用计数不为0的自定义链,无法改名,也无法删除;

       规则管理:

              -A:append,将新规则追加于指定链的尾部;

              -I:insert,将新规则插入至指定链的指定位置;

              -D:delete,删除指定链上的指定规则;

                      有两种指定方式:

                              (1)指定匹配条件;

                              (2)指定规则编号;

              -R:replace,替换指定链上的指定规则;

       查看:

              -L:list,列出指定链上的所有规则;

                      -n:numberic,以数字格式显示地址和端口号;

                      -v:verbose,显示详细信息;

                              -vv,-vvv

                      --line-numbers:显示规则编号;

                      -x:exactly, 显示计数器计数结果的精确值;

# iptables -t filter -N IN_putlic 创建自定义规则链

Chain IN_putlic (0 references)

# iptables -t filter -E IN_putlic IN_public 自定义规则链改名

target引用自定义链

# iptables -t filter -P FORWARD DROP 更改默认策略,将forwardaccept改成drop

 匹配条件:

       基本匹配:

              [!] -s, --src, --sourceIP|Netaddr:检查报文中源IP地址是否符合此处指定的地址范围;

              [!] -d, --dst,--destination IP|Netaddr:检查报文中源IP地址是否符合此处指定的地址范围;

             -p, --protocol{传输层tcp|udp|icmp}:检查报文中的协议,即ip首部中的protocols所标识的协议;

             -i, --in-interfaceIFACE:数据报文的流入接口;仅能用于PREROUTING, INPUT及FORWARD链上;

              -o, --out-interfaceIFACE:数据报文的流出接口;仅能用于FORWARD, OUTPUT及POSTROUTING链上;

隐式扩展:

扩展匹配:-mmacth_name --spec_options

例:-myvp --fpoty 33

对-pprotocol指明的协议进行的扩展,可省略-m选项;

              -p tcp

                      --dportPORT[-PORT]:目标端口,可以是单个端口或连续多个端口;

                      --sportPORT[-PORT]

                      --tcp-flagsLIST1LIST2:检查LIST1所指明的所有标志位,且这其中,LIST2所表示出的所有标记位必须为1,而余下的必须为0;没有LIST1中指明的,不作检查;

                                      SYN,ACK, FIN, RST, PSH, URG

                                      --tcp-flagsSYN,ACK,FIN,RST SYN

                      --syn:

              -p udp

                      --dport

                      --sport

                      -picmp

                              --icmp-type

                                      可用数字表示其类型:

                                              0:echo-reply

                                              8:echo-request

   显式扩展: 必须使用-m选项指定使用的扩展;

目标:

              -j TARGET:jump至指定的TARGET

                      ACCEPT:接受

                      DROP:丢弃

                      REJECT:拒绝

                      RETURN:返回调用链

                      REDIRECT:端口重定向

                      LOG:记录日志

                      MARK:做防火墙标记

                      DNAT:目标地址转换

                      SNAT:源地址转换

                      MASQUERADE:地址伪装

                      ...

                      自定义链:由自定义链上的规则进行匹配检查

# iptables -t filter -A INPUT -s 0.0.0.0(可省略) -d 172.16.100.9 -p tcp -jACCEPT 添加新规则

 

本文出自 “勤能补拙” 博客,请务必保留此出处http://echoroot.blog.51cto.com/11804540/1963957

以上是关于iptables命令的主要内容,如果未能解决你的问题,请参考以下文章

linux命令:编译安装iptables

iptables命令

Linux iptables命令详解

Iptables - iptables命令的基本用法

linux命令:编译安装iptables

Linux 命令(216)—— iptables-save 命令