Linux-ebtables-以太网网桥防火墙

  ebtables  和 iptables 一样,主要是做数据包过滤的配置工具,  ebtables  主要工作在数据链路层, iptables主要工作IP层和第四层应用层,他们主要做配置工具,底层的数据包过滤机制还是在 netfilter  核心工作组

   和iptables  一样,  ebtables 也有表,链和动作的概念

   ebtables 有三张表,五条链和四个动作,支持自定义链,(需要 -j  链表名跳转到具体的链路)

三张表:  filter:     默认过滤表,一些常规的数据包过滤配置,包含INPUT,OUTPUT, FORWARD

                nat:       进行nat 变换的表,更改源,目的的mac地址,  PREROUTING(用来做snat),POSTROUTING(用来做dnat) ,OUTPUT

                broute:  对网桥过滤表的标记,只有一个链表 BROUTING.

   

链的过滤时机:

  • prerouting:数据进来还未查询路由表之前的规则。
  • input:由外部发往用户空间内部的规则。(
    说直白点就是负责过滤目标地址是本机的数据包)
  • forward:不进入用户空间,进行路由转发的规则。(负责转发流经主机但不进入本机的数据包)
  • postrouting:查询完路由表后,将要转发的规则。
  • output:由用户空间内部发往外部的规则。(负责处理本机发出的数据包)

过滤的动作:

  1. ACCEPT:意味着让一个帧通过
  2. DROP:意味着帧已经被dropped。注意:在BROUTING chain中,1、2有特殊的意思
  3. CONTINUE:意味着下一个规则(rule)将被检查
  4. RETURN:意味着停止遍历此链,并在前一个调用链的下一条规则中恢复。其实就是退出,和代码中的
    continue差不多,这里就是退出在此链继续遍历,直接进行后续操作
     (详见下文使用场景中的ruturn使用)

 常用命令:

Ebtables使用规则如下:
ebtables [-t table] -[ADI] chain rule-specification [match-extensions] [watcher-extensions]
-t table :一般为FORWARD链。
-ADI:A添加到现有链的末尾;D删除规则链(必须指明规则链号);I插入新的规则链(必须指明规则链号)。
-P:规则表的默认规则的设置。可以DROP,ACCEPT,RETURN。
-F:对所有的规则表的规则链清空。
-L:指明规则表。可加参数,--Lc,--Ln
-p:指明使用的协议类型,ipv4,arp等可选(使用时必选)详情见/etc/ethertypes
--ip-proto:IP包的类型,1为ICMP包,6为TCP包,17为UDP包,在/etc/protocols下有详细说明
--ip-src:IP包的源地址
--ip-dst:IP包的目的地址
--ip-sport:IP包的源端口
--ip-dport:IP包的目的端口
-i:指明从那片网卡进入
-o:指明从那片网卡出去

Ebtables基本命令
有了上面的简单介绍,再熟悉一些基本命令就可以使用了。
1. 列表:
ebtables -L
ebtables -L –Lc , 查看各rule的匹配次数以及字节数
2. 新建/删除链
ebtables -N 
ebtables -X 
3. 新建规则
ebtables -A  [ rules ]
[rules]有几种
-s 源MAC -d 目标MAC -i 入接口 -o 出接口

 

高级功能

把内核初始化的表的原始数据复制到指定的文件,可用于包过滤分析

--init-table     

--atomic-init

--atomic-save

--atomic-commit

 

SNAP协议802.3的 DSAP 和SSAP 属性的匹配

--802_3-sap

--802_3-type

 

among   将arp与mac地址进行匹配

--among-dst [!] list

--among-src [!] list

--among-dst-file [!] file

--among-src-file [!] file

 

arp

--arp-opcode [!] opcode

--arp-htype [!] hardware type

--arp-ptype [!] protocol type

--arp-ip-src [!] address[/mask]

--arp-ip-dst [!] address[/mask]

--arp-mac-src [!] address[/mask]

--arp-mac-dst [!] address[/mask]

--arp-gratuitous

 

使用限制

limit      包转发速率

--limit       

--limit-burst      包突发速率

 

标记

--mark

 

pkttype

--pkttype-type    数据包可以是 broadcast , multicast, host, otherhost

 

stp

--stp-type   bgpu  报文类型     0-255       配置bpdu=0,  tc BPDU=128

--stp-flags   拓扑变化的标志     tc=1   tca=128

--stp-root-prio    根优先级

--stp-root-addr   根mac 地址

--stp-root-cos

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值