Chinaunix首页 | 论坛 | 博客
  • 博客访问: 241310
  • 博文数量: 36
  • 博客积分: 1495
  • 博客等级: 上尉
  • 技术积分: 412
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-09 13:34
文章分类

全部博文(36)

文章存档

2016年(1)

2015年(12)

2014年(2)

2012年(4)

2011年(1)

2009年(6)

2008年(10)

我的朋友

分类: LINUX

2008-09-01 21:39:10

一.理解iptables  流程图
 
-->PREROUTING-->[ROUTE]-->FORWARD-->POSTROUTING-->
mangle | mangle ^ mangle
nat | filter | nat
| |
| |
v |
INPUT OUTPUT
| mangle ^ mangle
| filter | nat
v ------>local------->| filter
2.2 链和表
􀁽 表
filter: 顾名思义,用于过滤的时候
nat: 顾名思义,用于做 NAT 的时候
NAT:Network Address Translator
􀁽 链
INPUT: 位于 filter 表,匹配目的 IP 是本机的数据包
FORWARD: 位于 filter 表,匹配穿过本机的数据包,
PREROUTING: 位于 nat 表,用于修改目的地址(DNAT)
POSTROUTING:位于 nat 表,用于修改源地址 (SNAT)
3.1 iptables 语法概述
􀁽 iptables [-t 要操作的表]
<操作命令>
[要操作的链]
[规则号码]
[匹配条件]
[-j 匹配到以后的动作]
3.2 命令概述
􀁽 操作命令(-A、-I、-D、-R、-P、-F)
􀁽 查看命令(-[vnx]L)
3.2.1 -A
-A <链名>
APPEND,追加一条规则(放到最后)
例如:
iptables -t filter -A INPUT -j DROP
在 filter 表的 INPUT 链里追加一条规则(作为最后一条规则)
匹配所有访问本机 IP 的数据包,匹配到的丢弃
3.2.2 -I
-I <链名> [规则号码]
INSERT,插入一条规则
例如:
iptables -I INPUT -j DROP
在 filter 表的 INPUT 链里插入一条规则(插入成第 1 条)
iptables -I INPUT 3 -j DROP
在 filter 表的 INPUT 链里插入一条规则(插入成第 3 条)
注意: 1、-t filter 可不写,不写则自动默认是 filter 表
2、-I 链名 [规则号码],如果不写规则号码,则默认是 1
3、确保规则号码 ≤ (已有规则数 + 1),否则报错
3.2.3 -D
-D <链名> <规则号码 | 具体规则内容>
DELETE,删除一条规则
例如:
iptables -D INPUT 3(按号码匹配)
删除 filter 表 INPUT 链中的第三条规则(不管它的内容是什么)
iptables -D INPUT -s 192.168.0.1 -j DROP(按内容匹配)
3.2.4 -R
-R <链名> <规则号码> <具体规则内容>
REPLACE,替换一条规则
例如:
iptables -R INPUT 3 -j ACCEPT
将原来编号为 3 的规则内容替换为“-j ACCEPT”
 
3.2.5 -P
-P <链名> <动作>
POLICY,设置某个链的默认规则
例如:
iptables -P INPUT DROP
设置 filter 表 INPUT 链的默认规则是 DROP
3.2.6 -F
-F [链名]
FLUSH,清空规则
例如:
iptables -F INPUT
清空 filter 表 INPUT 链中的所有规则
iptables -t nat -F PREROUTING
清空 nat 表 PREROUTING 链中的所有规则
 
阅读(1000) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~