Linux

linux下基於MAC分配VLAN

  • February 6, 2012

是否可以根據客戶端的 MAC 地址在 Linux 上分配 VLAN?如果是這樣,怎麼做?vconfig 手冊頁似乎表明它僅在埠基礎上執行。

我正在嘗試實現無線設置,其中新客戶端被分配到“未經批准”的 vlan,他們將留在該 vlan 中,直到管理員批准它們(或者可能直到他們在本地強制門戶上註冊),此時我希望將它們重新分配給“已批准”的 vlan。

如果存在,如何在 Linux 下配置 MAC:VLAN ID 映射?

一般來說,大多數業務級接入點都有一種操作模式,稱為“動態 VLAN 分配”(這是 Cisco 品牌的術語,其他人可能會以不同的方式命名)。基本思想是根據發送的身份驗證憑據將 WLAN 客戶端放入 VLAN。您的基礎架構(包括 RADIUS 伺服器)必須為此提供服務。

主要針對有線基礎設施的“動態 VLAN”功能(同樣是思科品牌的術語)也非常接近您正在尋找的功能。

如果您沒有 Cisco 設備,還有基於 MAC 的 VLAN的術語,用於不是由 802.1q 標記建構的 VLAN,而是由客戶端的 MAC 地址簡單定義的。由於客戶端可以任意設置 MAC 地址,這種技術顯然是不安全的,但仍然可能有用。802.1q 之前的 VLAN 實現支持這種 VLAN(大約 12 到 15 年前),但如今已基本消失。

但是最近發布的針對主流 3.2.1 核心原始碼的更新檔為“macvlan”模組引入了一種新的“原始碼”模式,以實現與過去相同的基於 MAC 的 VLAN 功能。該更新檔尚未合併到核心源中,因為它仍然需要一些工作,但是如果需要,您顯然可以自己應用它。或者只是等待正式合併發生——如果程式碼好的話,用不了多久。

引用自:https://serverfault.com/questions/324925