分类: LINUX
2010-01-08 19:13:30
Iptables在linux中我们可以很好的使用
Iptables的组成:iptables主要是由以下的东西组成:由三张表组成iptables而每张表都有几种内置的链组成而链则是由用户根据自己实际需求制定的规则组成的所以在iptables里只指明一条规则是没有什么意义的最起码要是对某条链的某个规则特定的时候我们还要指定表默认情况下的表都是指的是filter表所以表我们可以不一定要指出来但是针对那条链的要说清楚说明白
Iptables的比对规则主要是靠的是优先级优先级就是一条规则在一条链中的序列号号越小则优先级越高
小p代表的是协议一般以tcp/udp较多只要是指定端口的都要用tcp/udp 协议而还有icmp协议ICMP协议是没有端口的这个协议里主要是一些调试命令.
常见的链主要是有三个(input Output,Forward)一般和链伴的参数有
A I这连个所以插入链时不可以忘了两个参数在iptables中有链是没有意义的在iptables中我用I指定的链的优先级比用A指定的链优先级高优先级越高则越先被执行D或者是-X则可以把一条链删除
小写I可以指定针对本机的哪个网卡设置主要是指进的方向小写o和小写i一样不过则是指定从哪个口出另外在有多个网卡接口时我们还可以用“eth+”来表示所有的网卡
P指定的默认策略主要是对不符合规则的包的处理方式这个很简单我们可以
Port不可以用any而协议则可以
我们还可以用-s(源)/-d(目标当目标没有指定时默认是任何地方任何网段)指定某个ip或者是某个网段如果是某个网段我们可以用ip/netmask的形式来表示,除了的含我们可以直接在ip/netword段前面加上“!”这个叫取反比对我们还可以在协议中注意在用!来取反操作时要在!和取反对象之间有空格
在iptables中的表有Nat,filter,mangle在mangle里有两种链(input和prerouting在新的内核里还支持forward和postrouting在Nat中也有内建的链(prerouting,postrouting,output)
Filter则是包括以下几种链(input,output,forward)这个表也是默认的不指定表时的表
我们可以用-t来指定把某个规则放到某个表中
在iptables我们可以用-j来指定某个动作主要动作有:ACCEPT,DROP,QUEUE,RETURN
遗留的问题:
Mangle
Queue
是什么意思有什么含义
在iptables里面那些TCP flags 有什么用
在iptables中我们可以用-L来查看防火墙 规则用 -X来删除某条特定的规则
用-F来删不防火墙规则
-Z是用来清空数据包计数器的
Iptables-save来保存iptables的规则.
-N来增加一条链并自己指定防火墙的规则链.
Iptables的查看我们可以用iptables —L –N 来查看我们如果要查看iptables的规则链的数量即每个规则链的行数我们可以用iptables –L –N –line-numbers来查看这个主要是在规则的删除和替换时有着重要的作用
遗留问题:
Iptables规则保存不了一重启以前保存的规则就没有了
Iptables 中-D参数的用法:主要是用于清除某条指定的规则链我们要先指定要删除的某个规则然后指名是某个规则中的那个规则链可以连整个规则链一起写进去删除也可以指定编号进行删除(注意在涉及到防火墙规则链时如果有规则number的那么我们一定要指定是那条链中的那条规则这样规则number才有意义)
Iptables -F 删除某条规则链中的所有规则
Iptables –N 防火墙规则链名(来自定义一个防火墙规则链)
多个参数时的解决办法:
多个端口如果连续我们可以用“:”来分隔起始,如果是多个不连续的端口我们可以用“,”
来分隔各个端口
在iptables里我们可以使用-E来对某个存在的规则链这个主要是改名
TCP-flags 主要是有以下几个
Iptables中我们可以用-m来匹配一个扩展的类型的匹配这个匹配可以是mac地址也可以是符合条件的包更可以是包的个数
-X来删除某条特定的规则
几个重要的东西
Closed 是代表的关闭状态他是最初是的状态
Listen是处在监听的状态等待别人的连接
Syn _Rcvd
Syn_sent
Established 是已经连接了并且正在使用
Fin_wait1
Fin_wait2
Fin_wait
Time_wait则是已经断开了连接即连接已经结束
常见协议:TCP/udp ICMP协议
比对 TCP 封包的状态旗号,参数分为两个部分,第一个部分列举出想比对的旗号,第二部分则列举前述旗号中哪些有被设定,未被列举的旗号必须是空的。TCP 状态旗号包括:SYN(同步)、ACK(应答)、FIN(结束)、RST(重设)、URG(紧急)、PSH(强迫推送) 等均可使用于参数中,除此之外还可以使用关键词 ALL 和 NONE 进行比对。比对旗号时,可以使用 ! 运算子进行反向比对。 zvB l^ u
-m可以搭配的命令选项:
Multiport –-port 这个可以指定多个端口(一般这个命令参数多是指一些非连续的端口)其中的—port还可以用—destination-port来指定目标端口