防火墙机制介绍122.228.84
Centos5.X 6.X的防火墙机制为什么称为iptables呢? 因为这个防火墙软件里面有多个表格(table),每个表格都定义自己的默认策略与规则,且每个表用途都不同。
Centos5.X 6.X 主要表格(table)有三个 Filter(过滤器) NAT(地址转换) Mangle(破坏者)。
默认情况下,Iptables根据功能和表的定义划分包含三个表,Filter、NAT、Mangle,其中每个表又包含不同的操作链。
下面的表格展示了表和链的对应关系:
01
常用命令介绍110.42.7
1) 关闭或开启防火墙,永久性生效,重启后不会复原
开启:chkconfig iptables on
关闭:chkconfig iptables off
2) 关闭或开启防火墙,即时生效,重启后复原
开启:service iptables start
关闭:service iptables stop
3)查看防火墙的状态
service iptables status
chkconfig --list iptables
02
图解命令及参数 举例103.36.167
对图中一些参数注解
· Table:filter #意思是查看的为filter(过滤器)这个表,这个有一般有至少有两个链(chain)INPUT OUTPUT。
· Chain INPUT (policy ACCEPT) #Chain是链 这个链与INPUT(想要进入主机的数据包)有关,policy就是默认策略,默认策略为可接受。
· target #代表要进行的操作 ACCEPT放行 REJECT拒绝 DROP丢弃
· prot #代表使用的数据包协议,主要有TCP UDP ICMP 3种数据包格式。
· opt #额外选项说明
· source #代表此规则针对哪个来源IP限制。
· destination #代表此规则针对哪个目标IP进行限制。
图中5条规则做下解释:
1),只要数据包状态为 state、RELATED、ESTABLISHED 就予以接受。
2),只要是数据包协议是ICMP类型的,就予以放行。
3),无论任何来源的(0.0.0.0/0)且要去任何目标的数据包,不论任何数据包格式(prot为all),一律都接受。
4),只要是传给端口22的主动式连接TCP数据包就接受。5)6)同理。
5)全部数据包信息一律拒绝。
注意:有趣的是第三条规则,怎么会所有的数据包信息都予以接受呢,如果都接受的话,那么后面的规则就根本没有用了。其实那个规则是仅针对每部主机都有的内部循环测试网络(lo)接口,没有列出接口就很容易搞错。可以使用iptables-save这个命令来查看防火墙规则,它会列出完整的防火墙规则,只是并没有格式化输出而已。如上图。
03
iptables 详解一
软件在/etc/sysconfig/目录内
iptables [-AI 链名][-io 网络接口 ][-p 协议][-s 来源IP/网络][-d 目标IP/网络]
-j [ACCEPT|DROP|REJECT]
-AI 链名 针对某条链进行规则的“插入”或“累加”
-A:新增一条规则,该规则增加在原规则的最后面。例如原来已经有四条规则,使用-A就可以加上第五条规则
-I:插入一条规则。如果没有指定此规则顺序,默认是插入变成第一条规则。
-D:删除一条规则。#iptables –D INPUT 3 意思是删除第三条规则
链:有 INPUT、OUTPUT、FORWARD
-io 网络接口:设置数据包进出的接口规范
-i:数据包所进入的那个网络接口,例如 eth0、lo等接口。需与INPUT链配合
-o:数据包所传出的那个网络接口,需与OUTPUT链配合
-p 协定:设置此规则适用于哪种数据包格式
主要数据包格式有:tcp、udp、icmp、及all。
-s 来源 IP/网络:设置此规则之数据包的来源地,可指定单纯的IP或网络,例如:
IP:192.168.0.100 网络:192.168.0.0/24 或 192.168.0.0/255.255.255.0 均可。
若规范为“不许”时,则加上“!”即可,例如:
-s ! 192.168.0.0/24 表示不接受 192.168.0.0/24发来的数据包;
-d 目标 IP/网络:同 –s,只是这里指的目标的IP或网络。
-j 后面接操作主要操作有、接受(ACCEPT)、丢弃(DROP)、拒绝(REJECT)、记录(LOG)
--dport:目的端口 --sport:来源端口 --icmp-type 类型