Linux网络防火墙
,netfilter:帧过滤,内核中的过滤框架,规则生效的位置框架
,,,, iptables:附加在netfilter上,生成防火墙规则,真正实现数据报文过滤,NAT,损坏等规则生成的工具
防火墙:工作在主机或者网络的边缘,对于进出的报文进行检查监控,并根据事先定义好的规则(其中有匹配标准和处理办法),一旦符合标准,对这个报文进行相应的处理规则的组件称为防火墙
iptables的实现实际上是基于报文的过滤,实例如下:
1。IP:源地址,目标地址
TCP:源端口,目标端口
UDP:源端口,目标端口
ICMP: ICMP报文类型
发展历程:
linux2.0
andy downs表示/防火墙linux2.2
ipchain/防火墙linux2.4
iptables/netfilter
netfilter的过滤有下面五个规则链
,,,, PREROUTING
,,,,输入
,,,,向前
,,,,输出
,,,, POSTROUTING)
四种表
过滤器,过滤表
输入,输出,提出了
nat,地址转换表
PREROUTING,输出,POSTROUTING)
损坏(拆分,修改,封装),表
PREROUTING,转发,输出,POSTROUTING)
原始表
PREROUTING,输出
iptables:
500条规则
能否使用自定义链?
可以使用自定义链,但是只在被调用的时候才能发挥作用,而且如果没有自定义链中的任何规则匹配,还应该有返回机制
*用户可以删除自定义空链
*默认链无法删除
每个规则都有两个内置的计数器
被匹配的报文个数
被匹配的报文大之和
规则内包含:匹配标准,处理动作
匹配标准:
,,1.通用匹配
,,,,,,,,, s - src,源地址
,,,,,,,,, - d - dst,目标地址
,,,,,,,, - p (tcp, udp, icmp)指定协议
,,,,,,,我接口指定数据报文流入的接口(ethX)
,,,,,,,,,,,,,,可用于定义标准的链,PREROUTING,输入,提出
,,,,,,,, - o接口指定数据报文流出的接口
,,,,,,,,,,,,,,可用于标准定义的链,输出,POSTROUTING,向前,
,,2 .扩展匹配
,,,,一。隐含扩展:不用特别指明哪个模块进行的扩展,因为此时使用- p (tcp/udp/icmp)
,,,,- p tcp,指定目标端口,源端口
,,,,,,,,,,,,, tcp-flags面具comp:只检查面具指定的标志位,是逗号分隔的标志位列表;comp:此列表中出现的标记位必须为1,排版中没出现,而面具中出现的,必须为0,
,,,,可根据ACK,鳍,RST SYN等标志位的值来盘端报文的类型,例如当SYN=1,其余为0,则这个报文时TCP/IP的第一次握手
,,,-p-icmp
,,,,,,,,,,,,, icmp-type 8被ping通
,,,,,,,,,,,,, icmp-type 1能够发出平报文
,,,,-p-udp
,,,,,,,,,,,,指定目标端口以及源端口
,,b。显示扩展:必须指明由哪个模块进行的扩展,在iptables会用- m选项即可完成功能
,,,,,,,,使用额外的匹配机制
,,,,,,,,,,- m EXTENSTION——spe-opt
,,,,,,,,,,,,,,,,,状态:状态扩展,,,,,,null