無線網路 SSID 的設定

介紹 SSID與BSSID, 並設定 OpenWRT 無線網路的 SSID

SSID, BSSID 以及 ESSID

在 WLAN 網路架構中,分成兩種不同的網路識別方式: BSSID 和 ESSID。BSSID (basic service set identifiers) 用以標記 BSS (basic service set),而每一個 BSS 表示一群裝置,使用相同的介面存取 (medium access) 設定,換句話說,其 MAC 層和 PHY 層的設置一致。在 802.11 中,BSSID 為 48 位元的 MAC 位址,通常就是 WiFi AP 的 MAC 位址。 ESSID (extended service sets identifiers) 則用以表示 ESS (extended service sets),ESS 為一個邏輯上的網路,像是一個 VLAN,或是一個 IP subnet。事實上,在 802.11 中,ESSID 並沒有被正式的定義。在 802.11 中,一個邏輯網路 (可以是一個 ESS,或是一個獨立的 BSS) 使用 SSID (service set identifiers) 作為識別符號。SSID 可以為 0-32 Bits 的字串,通常以字串定義。

考慮到一個較大型的 WiFi 網路佈建,我們可能有多個 WiFi AP,每一個 WiFi AP 就對應到一個 BSS,若我們將這些 WiFi AP 設定屬於同一個 ESS (相同的 SSID、同樣的邏輯網路設定),則使用者的裝置可以在這些WiFi AP 間切換,稱為 WiFi Roaming,為了完成換手的功能,通常會保留兩個相鄰的 WiFi AP 有約 15% 的覆蓋交疊範圍,如下圖所示:

在 OpenWRT 的 WiFi AP 上支援將一個實體的 WiFi AP 虛擬出多個 SSID,對應於多個 ESSID,因此,可以切分不同的使用者的網路服務於多個 ESS 中。

在 OpenWRT 上設定多個 SSID

在 OpenWRT 架構下,關於無線網路的設定被存放於: /etc/config/wireless 文件中。舉例來說,一個基本的設定檔可以是:

~# cat /etc/config/wireless
config wifi-device 'radio0'
        option type 'mac80211'
        option channel '149'
        option hwmode '11a'
        option path 'pci0000:00/0000:00:00.0'
        option htmode 'VHT80'
        option doth '0'
        option txpower '20'
        option band '5G'
        option disabled '0'

config wifi-iface 'default_radio0'
        option device 'radio0'
        option network 'lan'
        option mode 'ap'
        option encryption 'psk-mixed'
        option ifname 'wlan0'
        option wds '1'
        option ssid 'WiSDON-TEST-5G'
        option key 'mbwcl711'
        option disabled '0'

config wifi-device 'radio1'
        option type 'mac80211'
        option path 'platform/qca956x_wmac'
        option txpower '20'
        option noscan '1'
        option htmode 'HT40'
        option band '2G'
        option disabled '0'
        option hwmode '11g'
        option channel '6'

config wifi-iface 'default_radio1'
        option device 'radio1'
        option network 'lan'
        option mode 'ap'
        option encryption 'psk-mixed'
        option wds '1'
        option ifname 'wlan1'
        option ssid 'WiSDON-TEST-2.4G'
        option key 'mbwcl711'
        option disabled '0'

其中,設定檔分成兩部分: wifi-devicewifi-ifacewifi-device 是實體的網卡,關於實體層的設定,像是傳輸功率、傳輸頻帶等設定都在此修改。wifi-iface 則用來設定像是 SSID, 加密模式, 等資訊,其中,我們可以看到 wifi-iface 的設定透過 device 欄位的設定和 wifi-device 連在一起。

在上面的設定中,雖然兩個 wifi-iface 的 SSID 是不同的,但是實際上兩者可以設定一致。事實上,針對不同 AP、不同網卡都可以設置相同的 SSID,當使用者連上時,會自動選擇訊號最強的進行連接。

反過來,假使我們需要對一個 WiFi AP 建立多個 SSID 應該如何設定呢? 比如說我們希望在 2.4GHz 上切出一個 SSID,提供開放的無線接取,就可以加入以下的設定:

config wifi-iface 'default_radio2'
        option device 'radio1'
        option network 'lan'
        option mode 'ap'
        option ifname 'wlan2'
        option encryption 'none'
        option ssid 'WiSDON-FREE'
        option disabled '0'

這種獨立切出來的 WiFi 網路可以進一步的提供服務品質的控管,例如,我們可以藉由 maxassoc這個參數的設定,限制此 SSID 網路下的使用者數量,或是藉由 maxrate的參數設定,來切分不同 SSID 的頻寬,避免開放網路影響 WiFi 的效能。

maxassoc 和 maxrate 的設定和使用的 WiFi 晶片相關,不是每一個晶片都可以支援,其他參數設定可以參考: https://openwrt.org/docs/guide-user/network/wifi/basic

查看 SSID 的設定

透過上述設定之後,我們在同一個 WiFi AP 上設定了兩個 WLAN 網路: WiSDON-TEST 以及 WiSDON-FREE。我們可以透過iwinfo的指令查看其 WLAN 的資訊:

# iwinfo
[...]
wlan0     ESSID: "WiSDON-TEST"
          Access Point: E6:95:6E:45:A0:FB
          Mode: Master  Channel: 149 (5.745 GHz)
          Tx-Power: 20 dBm  Link Quality: unknown/70
          Signal: unknown  Noise: -104 dBm
          Bit Rate: unknown
          Encryption: mixed WPA/WPA2 PSK (CCMP)
          Type: nl80211  HW Mode(s): 802.11nac
          Hardware: 168C:0050 0000:0000 [Generic MAC80211]
          TX power offset: unknown
          Frequency offset: unknown
          Supports VAPs: yes  PHY name: phy0
          
wlan1     ESSID: "WiSDON-TEST"
          Access Point: E6:95:6E:45:A0:FA
          Mode: Master  Channel: 6 (2.437 GHz)
          Tx-Power: 20 dBm  Link Quality: 55/70
          Signal: -55 dBm  Noise: -86 dBm
          Bit Rate: 6.5 MBit/s
          Encryption: mixed WPA/WPA2 PSK (CCMP)
          Type: nl80211  HW Mode(s): 802.11bgn
          Hardware: unknown [Generic MAC80211]
          TX power offset: unknown
          Frequency offset: unknown
          Supports VAPs: yes  PHY name: phy1
          
wlan2     ESSID: "WiSDON-FREE"
          Access Point: E2:95:6E:45:A0:FA
          Mode: Master  Channel: 6 (2.437 GHz)
          Tx-Power: 20 dBm  Link Quality: unknown/70
          Signal: unknown  Noise: -86 dBm
          Bit Rate: unknown
          Encryption: none
          Type: nl80211  HW Mode(s): 802.11bgn
          Hardware: unknown [Generic MAC80211]
          TX power offset: unknown
          Frequency offset: unknown
          Supports VAPs: yes  PHY name: phy1
[...]

在此網路設定中,我們可以看到 ESS 和 BSS 是獨立的設定,wlan0 和 wlan1 因為不同的接取 (2.4GHz 和 5GHz) 使用兩個 BSSID,或是兩個不同的 MAC 位址,但是使用相同的 ESSID (SSID: WiSDON-TEST)。另一方面,對於 wlan1 和 wlan2 而言,使用相同的接取以及 BSSID,但是,卻分屬不同的 ESS (SSID: WiSDON-TEST 以及 WiSDON-FREE)。

對於透過網路連上的裝置,我們可以透過arp來查詢 MAC 位址和 IP 位址的對應關係,例如:

# arp
IP address       HW type     Flags       HW address            Mask     Device
192.168.10.185   0x1         0x0         38:d5:47:50:ff:16     *        br-lan
192.168.10.248   0x1         0x2         c4:85:08:9e:41:ca     *        br-lan
10.0.0.54        0x1         0x0         48:2c:a0:6c:f8:ec     *        wlan2
10.0.0.90        0x1         0x0         54:a0:50:a0:13:bd     *        wlan2
10.0.0.99        0x1         0x0         04:92:26:7e:bd:f3     *        wlan2
10.0.0.80        0x1         0x0         a4:02:b9:cd:70:c6     *        wlan2
192.168.10.135   0x1         0x0         0c:84:dc:11:4f:7d     *        br-lan
10.0.0.98        0x1         0x0         04:92:26:7e:bd:f3     *        wlan2
10.0.0.59        0x1         0x0         e4:2b:34:a7:a7:58     *        wlan2
10.0.0.68        0x1         0x0         18:f0:e4:e2:39:29     *        wlan2
192.168.1.1      0x1         0x2         00:50:7f:3c:81:40     *        eth0.2
192.168.10.149   0x1         0x2         30:5a:3a:f0:7f:1e     *        br-lan
192.168.10.130   0x1         0x0         a4:02:b9:cd:70:c6     *        br-lan

其中,我們可以看到其 IP 位址分屬於兩個子網域: 192.168.10.x (br-lan) 以及 10.0.0.x (wlan2)。其中,br-lan就對應到 SSID 為 WiSDON-TEST 的 ESS (由於此網路和有線網路以一個 bridge 相連,因此顯示為br-lan),wlan2則對應於 SSID 為 WiSDON-FREE 的 ESS,由於分屬不同的 ESS 以及不同的子網域設定,兩者所分配到 IP 位址也不相同。

Last updated