快速业务通道

iptables学习(2)

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-04-08

语法格式

iptables [ -t table] command [match] [target/jump]

target放在,若不指定表名,默认为filter表,command是增删或修改一个规则

match描述包的特点,可以指定IP,接口,协议类型等等

若数据包匹配match的描述,内核用target来处理,或把包发往target

Tables

nat 网络地址转换

mangle 改变不同的包的包头的内容,如TTL,TOS,或MARK,mangle有五个链:PREROUTING,POSTROUTING,OUTPUT,INPUT,FORWARD.在mangle表内不能做任何NAT

filter 专门过滤包,INPUT,OUTPUT,FORWARD

command

-A --append

末尾添加规则

-D --delete

删除规则,一是完整写出规则,二是指定规则的序号(由1开始)

-I --insert

根据序号插入规则,默认序号是1

-R --replace

替换规则,要指定序号

-L --list

显示所选链的所有规则

-F --flush

清空所选的链,不指定链会清空表的所有链

-Z --zero

把指定链(不指定是所有链)的计数器清零

-N --new-chain

根据指定的名字建新链

-X --delete-chain

删除指定的自定义链(不指定删除默认表的所有非内建链)

-P --policy

默认的target,所有不符合规则的包被强制使用这个策略.只有内建的链可以使用策略

-E --rename-chain

对自定义的链重命名

option

-v --verbose(详细的)

可以使用此选项的命令:--list --append --insert --delete --replace

-x --exact(精确的)

--list

-n --numeric(数值)

--list

--line-numbers(序号)

--list

-c --set-counters(设置计数器)

--insert --append --replace

--modprobe(探测并加载模块)

ALL

matches

五类:通用匹配,TCP匹配,UDP匹配,ICMP匹配,特殊匹配(state,owner limit等)

通用匹配:可以直接使用,不需要前提条件

-p --protocol 协议名

例:iptables -A INPUT -p tcp

1,名字不分大小写,但是/etc/protocols中定义的

2,可以使用相应的数值,ICMP是1,TCP是6,UDP是17

3,缺省是ALL,只匹配TCP,UDP,ICMP

4,可以是列表,以逗号分隔,如tcp,udp

5,可以加!取反,值范围是TCP,UDP,ICMP

-s --source --src 来源地址

iptables -A INPUT -s 192.168.1.1

1,单个地址

2,网络,192.168.1.0/24 192.168.1.0/255.255.255.0

3,加!取反

4,缺省是所有地址

-d --dst --destination 目的地址

iptables -A INPUT -d 192.168.1.1

同 -s一样

-i --in-interface 网络接口

iptables -A INPUT -i eth0

只能用于INPUT,FORWARD,PREROUTING

1,指定接口名称

2,可使用通配符,如 号匹配所有包,不考虑接口,eth 表示所有ethernet接口

3,加!取反

-o --out-interface

同 -i

-f --fragment

iptables -A INPUT -f

匹配被分片的包的第二片及以后的部分

隐含匹配

TCP matches 只能匹配TCP,有 -p tcp为前提

--sport --source-port

1,不指定表示所有端口

2,可以用服务名或端口号,服务名从/etc/services中查找,用端口号装载规则会更快

3,连续端口号,22:80=>20到80的端口号, :80 =>0到80的端口号,80: =>80到65535的端口号

4,可以加!号取反, -sport ! 22

5,不匹配连续的端口列表

--dport --destination-port

用法同sport,目的地端口

--tcp-flags

iptables -p tcp --tcp-flags SYN,FIN,ACK SYN 表示匹配仅SYN标记被设置的包

iptables -p tcp --tcp-flags ALL NONE 匹配所有标记都未设置1的包

iptables -p tcp --tcp-flags ! SYN,FIN,ACK SYN 表示FIN,ACK被设置的包

--syn

为ipchain兼容

--tcp-option

iptables -p tcp --tcp-option 16

根据TCP表头匹配

UDP matches

只有--sport --dport,用法与TCP一样

ICMP matches

--icmp

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号