通过 bridge filter 控制MAC 地址,如当我们把RouterOS设置为透明桥时,可以控制网络内的主机MAC通讯, 这样我们可以从二层上控制客户端PC。 我们通过bridge 过滤MAC 地址,必须启用bridge,并指定相应网络接口到bridgeport 中,至少需要设定一 个网络接口到Port 中,设置bridge 的操作如下 1、添加一个bridge,默认的bridge 的名称为bridge1,并设置RSTP(快速生成树协议)模式: 4 A% }. S! `/ Z+ c3 m: O+ D9 l
添加完 bridge后,我们可以在bridge列表中查看到:
4 @) V* i. G# [4 e& s, K$ f; k3 a4 O& N% o9 V
2、 我们将ether1 和wlan1 网络接口添加到bridge1 里,这样2 个网络接口就实现了桥接功能。 2 S4 d& M$ J9 f
过滤源和目标MAC 地址 1、源MAC 地址过滤 在设置完基本的bridge 后,我们进入bridge filter 中配置桥防火墙过滤,首先我们需要对指定的一台PC的MAC:00:E2:67:32:B4:81地址做过滤,不允许与bridge的外部网络连接,如下图: 5 Z, m: e* r) M4 r0 q$ u+ l
0 }% g0 _ T7 p1 x" Z
这个 MAC 是发起源,选择src-mac-address,由于这里拒绝访问bridge以外的网络,选择chain=forward,,设定action=drop。RouterOS Winbox 配置如下:
/ f& Z4 b5 Y9 q* W接下来选择Action 为drop,丢弃该MAC地址发出的数据:
9 l2 Z: n; X" K& r: s
/ D# P* v4 ^: y注意:我们设置src-mac-address 时,后面跟着MAC 掩码,这个掩码和我们IP层的子网掩码类是,只是MAC掩码是按照十六进制换算,十六进制的FF与IP掩码的255是相同,规定网络范围,因为这里是过滤一个台主机的MAC地址,所以我们设置MAC子网掩码为FF:FF:FF:FF:FF:FF。 2、目标MAC 地址 反过来从外网访问一个该主机,则是目标MAC 过滤,只是之前我们设置的是scr-mac-address,反过来填写目标的MAC,即dst-mac-address,我们还是用之前的MAC 地址做事例
v# g9 Y# d" y% S9 _# y我们添加目标MAC 地址过滤规则,选择dst-mac-address=00:E2:67:32:B4:81,dst-mac-address默认为全FF。
3 C- k' L1 M) J! m
$ X9 P5 T3 l+ t; oAction同样选择drop,丢弃到该目标MAC 的数据。 下面我们可以在filter 中看到2 条规则,分别是控制从源地址和目标地址的数据,这样设置后,我们可以理解为对00:E2:67:32:B4:81主机数据的双向过滤。 - L/ U+ }1 \- d, v' Q! }% b5 l
过滤指定厂商的MAC 地址 我们知道所有的网络设备都有一个6 位的MAC地址,前3位为生产厂商标示,后3位为设备编号,当我们在做无线网桥的时候,只允许特定某一厂商的网卡连接到RouterOS,可以通过Bridge的防火墙控制MAC地址,限制某一类的MAC不能连接到RouterOS设备,或者通过RouterOS设备。 例如,我们的一台RouterBOARD 设备要求只能允许其他RouterBOARD的设备连接,可以通过brigdefiter控制,由于每个RouterBOARD的以太网卡MAC地址都是前3位都是以00:0C:42开头,我们只需要允许前3位MAC为00:0C:42的MAC通过就可以。 在设置为bridge 的接口参数后,我们在filter中配置2条input规则,限制除了MAC地址前3位是00:0C:42能连接RouterOS,其他的都拒绝掉。 根据 RouterOS 防火墙原理,分别需要设置两条规则,一条是接受MAC地址前3位是00:0C:42的MAC地址,第二条是丢弃其他所有的MAC数据。 第一条规则,设置src-mac-address=00:0C:42:00:00:00/src-mac-mask=FF:FF:FF:00:00:00 ; e- h p- a' x
- b, N- Q1 ^/ j1 E9 c; e
在 action 中选择accpet 接受,数据通过
8 ?+ I6 Z' A2 N% |5 K2 {' |9 D& Z$ v) ]
第二条规则,是丢弃其他所有的MAC 数据 : z3 k* u5 F) r
配置完成后,如下:
; E: Z# l6 K! D# F, {6 z/ x1 L( x% F- L
|