IPTables五----ebtables

简介: 五、ebtablesiptables可以对ip层报文进行操作,那么以太网层面呢?linux针对以太网网桥引入了ebtables,它在功能上和iptables相似(主要就是对以太网包进行操作)。

五、ebtables

iptables可以对ip层报文进行操作,那么以太网层面呢?linux针对以太网网桥引入了ebtables,它在功能上和iptables相似(主要就是对以太网包进行操作)。它的出现为网桥设备设置防火墙带来了便利。在后文我们可以看到etables一般不会单独使用而在内核开启bridge-nf功能后和iptables一起工作。

首先在进入bridge之前会进行判定,此报文是不是需要进行bridge,当这个包不需要做bridge时刻,就直接走到Ip层的路由处理了。


img_e3c116b9fefd9c70f6938b240ab9a6a0.png

只有以太网帧需要做bridging是才会进入到网桥内部,此时ebtable才会生效。

1、主要功能(表):

过滤(filter),mac Nat和brouting

2、brouting

brouting是网桥的一种特殊工作模式,它指对于某些满足以太网包直接送入ip层(由ip层进行路由),而对于其他包继续送入到网桥内部进行以太网报文的处理。

当brouting决定送给ip 层进行routing时,routing使用的ip地址是网桥下属的物理端口的ip地址。

默认的brouting动作就是让数据包进入到bridge。

brouting是ebtable处理包的第一步。

2.1 brout表支持的链

brout表只支持brouting链,brouting链的动作有:accept,drop,redirect,return。

注意:accept表示数据包送入bridge,drop表示数据包进入brouting的route。

2.2brouting 的brouting链的redirect动作和 prerouting的prerouting链redirect动作

brouting 的redirect是将目的mac地址设置为数据包接入接口的物理mac地址;nat表的prerouting链中redirect是将数据包目标mac地址设置为虚拟网桥的mac地址。

3、filter

ebtable的filter由三个链:input(帧发送给网桥自己的),output(网桥自己发出的或者route的),forward(网桥内部转发的)

4、nat

ebtable的nat由三个链:prerouting output(网桥自己发出或route的包) postrouting

下图总结了ebtable的所有链。


img_68a7ad893f648221a3e54682186e139f.png

5、bridge-nf

ebtable最重要的应用是当内核开启了bridge-nf功能后,将iptables和ebtables都整合到二层处理里。后文将详细描述。

目录
相关文章
|
1月前
|
网络协议 Linux 网络安全
Iptables 命令完整指南
【8月更文挑战第20天】
118 0
Iptables 命令完整指南
|
网络协议 Docker 容器
dockerq启动报错(iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 9876 -j DNAT --t
dockerq启动报错(iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 9876 -j DNAT --t
268 0
|
网络协议 文件存储
Iptables详解---扩展模块速成
本篇文章是 Iptables 系列的第二篇,主要介绍Iptables的扩展模块及相关使用旨在帮助大家更好的了解和使用 iptables。 我们知道,httpd服务的默认端口为80,当我们使用curl或者浏览器访问主机时,默认会连接服务端的80端口,假设,我们现在想要使用iptables设置一条规则,拒绝来自192.168.1.100的访问请求,我们就可以拒绝100上的报文能够发往本机的80号端口,这个时候,就需要用到”目标端口”选项。
633 0
Iptables详解---扩展模块速成
|
网络协议
Iptables配置
查看iptables加载的模块 lsmod | egrep "nat|filter" iptable_filter 12810 0 ip_tables 27240 1 i...
850 0
|
网络协议 网络安全 开发工具