Firewall 防火墙,工作在网络或主机的边缘,对进出本网络或主机的数据包根据事先设置好的规则进行检查并且能够在数据包匹配到之后由预置的动作进行处理的组件的组合,有规则(符合条件,就有规则指定的动作进行处理);
主机防火墙:管理本主机;
网络防火墙:管理整个网络;
防火墙的分类:
1、包过滤型防火墙:工作在TCP/IP层,根据tcp首部或ip首部数据进行判断,安全性较
低,效率较高;
1、简单包过滤;
2、带状态检测的包过滤;
1)NEW状态;-建立连接;
2)ESTABLISHED状态;-建立连接并传输数据;
3)INVALID状态(无法识别的状态);
4)RELATED(相关联的状态);
2、应用层网关防火墙:工作在应用层,根据数据包传输的实际数据进行判断,安全性较高,效率较低;
防火墙工作在内核空间,需要在内核空间开口子去定义规则(只有管理员可以定义规则,命令是否正确等),在内核上开的口子称为Netfilter(网络过滤器);
地址转换功能:NAT 网络地址转换;
1)SNAT 源网络地址转换;在POSTROUTING上做转换;
连接跟踪;
2)DNAT目标地址转换;在PREROUTING上做转换;
mangle 数据包每经过一次路由减1然后将ip首部打开修改TTL值加1,让访问用户不知
道有防火墙;
raw----没多做解释;
filter过滤在INPUT,OUTPUT和FORWARD接口上;
nat地址转换在PREROUTING,POSTROUTING,OUTPUT接口上;
mangle撕裂在PREROUTING,INPUT,FORWARD,OUTPUT,POSTROUTING接口上;
raw在PREOUTING和OUTPUT接口上;
优先级排序:raw--->mangle--->nat--->filter
iptables命令用法:
iptables [-t TABLE] COMMAND CHAIN [creteria] -j ACTION
-t {raw|mangle|nat|filter},默认filter
COMMAND的分类:
规则管理类:
-A 追加到最后一条(append);
-I # 插入第几条(insert);
-D # 表示删除第几条(delete);
-R # 表示替换某条规则;
链接管理类:
-F 清空(flush)链中规则,加链表示清空某条链;
-N 新建链(new),可以用-j跳转到这个链上;
-X 删除自己定义的空链;
-E 重命名(rename);
默认策略:
-P (policy);
清空计数器:
-Z (zero);
每条规则(包括默认策略)都有两个计算器;
1)被此规则匹配到的所有数据包的个数;
2)被此规则匹配到的所有数据包的大小之和;
查看类:
-L (list)列表的格式显示;
-L的子选项:-n (以纯数字的格式显示numeric);
-v 详细的信息(verbose),-vv或-vvv更详细;
-x 显示精确信息不做单位换算(exactly);