防火墙分类:
软件防火墙:常用于数据包的过滤,比如限制某些ip或者端口,进行某些数据的转发或者传送
硬件防火墙:防御地域攻击
软件防火墙的分类:
包过滤防火墙:控制比较宽泛,防御效果好。
应用防火墙:可以实现更细粒度的控制。
iptables
是软件防火墙,一般都是针对ip
、端口
、UDP
和TCP
进行控制。
CentOS 6
一般默认使用iptables
,iptables
是上层的操作工具,Netfilter
是内核的模块实现,运行在内核空间(kernel space)。
CentOS 7
一般默认使用firewallD
。
iptables
提供了一系列的表(tables),每个表都由若干个链(chains)组成,而每条链中可以由一条或数条规则(rule)组成,其规则又是由一些信息包过滤表组成,这些表包含内核用来控制信息包过滤处理的规则集。
iptables
规则表有四个:
filter:进行过滤
net:进行网络转换
mangle
raw
iptables
规则链:
INPUT链:当一个数据包由内核中的路由计算确定为本地的Linux系统后,它会通过INPUT链的检查。
OUTPUT链:保留给系统自身生成的数据包。
FORWARD链:经过Linux系统路由的数据包(即当iptables防火墙用于连接两个网络时,两个网络之间的数据包必须流经该防火墙)。
PREROUTING链:用于修改目的地址(DNAT)。
POSTROUTING链:用于修改源地址(SNAT)。
此文章为8月Day 14学习笔记,内容来源于极客时间《Linux 实战技能 100 讲》。