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 更改默认策略,将forward的accept改成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命令的主要内容,如果未能解决你的问题,请参考以下文章