Chinaunix首页 | 论坛 | 博客
  • 博客访问: 266961
  • 博文数量: 30
  • 博客积分: 380
  • 博客等级: 一等列兵
  • 技术积分: 477
  • 用 户 组: 普通用户
  • 注册时间: 2012-05-30 21:28
文章分类

全部博文(30)

文章存档

2014年(2)

2013年(13)

2012年(15)

分类: 系统运维

2012-06-18 16:25:34

iptables 语法概述

iptables -t 要操作的表

表类型如下:
filter:用于过滤
nat:用于地址转换
            
              操作命令(-A -I -D -R -P -F);查看命令(-[vnx]L)

-A:APPEND,追加一条规则(作为最后一条规则)匹配所有访问本机IP的数据包,匹配到的丢弃。
例如:iptables -t filter -A INPUT -j DROP
在filter表的INPUT链里追加规则,匹配所有访问本机IP的数据包,匹配到的丢弃,规则放到最后。
-I:INSERT,插入一条规则
例如:iptables -I INPUT 3 -j DROP
在filter表的INPUT链里插入一条规则,插入成第三条规则
注意点:1、-I 链名 [规则号码],如果不写规则号码,则默认是1
        2、确保规则号码≤已有的规则数+1,否则报错
-D:DELETE,删除一条规则
例如:iptables -D INPUT 3     删除filter表INPUT链中的第三条规则
iptables -D INPUT -s 192.168.0.2 -j DROP     删除INPUT链中内容为"-s 192... -j DROP"的规则
注意点:1、若规则列表中有多余相同的规则时,按内容匹配只删除序号最小的一条
        2、按号码匹配删除时,确保规则号码≤已有规则数,否则报错
        3、按内容匹配删除时,确保规则存在,否则报错
-R:REPLACE,替换一条规则
例如:iptables -R INPUT 3 -j ACCEPT     将原来编号为3的规则内容替换为"-j ACCEPT"
注意点:规则号码≤已有的规则数
-P:POLICY,设置某个链的默认规则,当数据包不被任何规则匹配,按默认规则处理。唯一一个动作前不用加-j.
-F:FLUSH,清空规则
注意点:1、-F仅仅是清空链中的规则,并不影响-P 设置的默认规则
        2、-P设置了DROP后,使用-F一定要小心
        3、如果不写链名,默认清空某表里所有链里的所有规则
-L:LIST,列出规则
    v:显示详细信息,包括没搞规则的匹配包数量和匹配字节数
    x:在v的基础上,禁止自动单位换算
    n:只显示IP地址和端口号码,不显示域名和服务名称
               要操作的链
filter表的链
INPUT:匹配目的IP是本机的数据包
FORWARD:匹配穿过本机的数据包
nat表的链
PREROUTING:
POSTROUTING:
               规则号码
1
2
3...
               匹配条件
流入、流出接口(-i、-o) 按网络接口匹配 -i、-o eth0
来源、目的地址(-s、-d) -s ip net domain ; -d ip net domain
协议类型      (-p) tcp udp icmp
来源、目的端口(--sport、--dport) :3000(3000以下)
注意点:1、--sport、--dport必须联合-p使用,必须指明协议类型
        2、条件写的越多,匹配越细致,匹配范围越小
               -j 匹配到以后的动作
ACCEPT
DROP
SNAT
DNAT
MASQUERADE
 
此外还有附加模块
state 按包状态匹配
mac 匹配某个MAC地址
limit 用一定速率去匹配数据包
multiport 一次性匹配多个端口,可以区分源端口,目的端口或不指定端口,必须与-p参数一起使用
阅读(2285) | 评论(0) | 转发(0) |
0

上一篇:cacti与nagios简单对比

下一篇:scp、rsync使用

给主人留下些什么吧!~~