使用路由器過濾特定 MAC Address

Post a comment

如何在路由器上設定過濾掉某個特定mac address 的流量?不希望使用這個mac address 的主機透過路由器!
當你針對一個MAC address 進行過濾的時候,這一動作發生在第二層。而路由器一般執行的是第三層路由的任務,只有很少情況下做橋接的時候才對進入的MAC address 進行過濾,所以這樣的過濾最好設定在二層交換設備上。
方法一、但這個要求對路由器來說也不是不可能的任務,可以使用以下設定達到要求的效果:
  ip cef//Rate-limit 需要cef的支援,路由器可能預設未啟用cef
  interface Ethernet0/0
  ip address 192.168.1.254 255.255.255.0
  rate-limit input access-group rate-limit 100 8000 1500 2000 conform-action drop exceed-action drop
  //如果源MAC address 為指定值則 drop(其他的都允許)
  access-list rate-limit 100 0001.0001.abcd //要限制的MAC address
這時候要注意,目標工作站到達該路由器之前不能經過其他三層設備,否則MAC address 會被改掉。
問題2:“我的路由器是Cisco 1720, 不支援CEF,怎麼辦?”
Cisco 1720路由器能夠支援CEF, 但要求是12.0(3)T以上IP PLUS版本的軟體,12.2(11)YV 起標準IP版軟體也可以支援CEF。如果路由器目前IOS軟體版本不夠,需要 Upgrade。
方法二、也可以使用橋接(IRB)的方法來解決,這種方法必須要12.0(2)T 以上標準IP版軟體。設定如下:
  bridge irb//啟用IRB支援
  interface Ethernet0/0
  no ip address//路由做到邏輯連接埠BVI 1上
  bridge-group 1//加入橋接組1
  !
  interface BVI1
  ip address 192.168.1.254 255.255.255.0//為橋接組1提供路由
  !
  bridge 1 protocol ieee//啟動 IEEE STP(Spanning Tree Protocol) 防止 Loop
  bridge 1 route ip//路由IP流量
  bridge 1 address 0001.0001.abcd discard//丟棄來著於MAC address 0001.0001.abcd的封包