Linux系统中使用ebtables技术
ebtables就是以太网桥防火墙,以太网桥工作在数据链路层(MAC层),ebtables主要过滤数据链路层数据包,ebtables能过滤桥接流量。ebtables每个阶段的过滤时机都比iptables早。
ebtables的配置分为表、链和规则三级。
表:内置固定的,共三种:filter,nat,broute,用-t选项指定。filter最常用,不设置-t默认就是这个表。filter过滤本机流入流出的数据包,是默认使用的表,nat用于地址转换-mac地址,broute用于以太网桥-产生一个桥路由器。
链:有内置和自定义两种。不同的表内置的链不同,所谓自定义的链也是挂接在对应的内置链内的,使用-j让其跳转到新的链中。如果以太网帧没有匹配到当前的规则,就会去检查下一个规则。数据包从进入系统到离开系统,要经过preroute,input,forward,postroute,output这五个阶段:
preroute:数据进来还未查询路由表之前的规则;
input:由外部发往用户空间内部的规则;
forward:不进入用户空间,进行路由转发的规则;
postrouting:查询完路由表后,将要转发的规则;
output:由用户空间内部发往外部的规则。
规则:也叫目标(targets),每个链中有一系列规则,每个规则定义了一些过滤选项。每个数据包都会匹配这些项,一但匹配