王海軍老師講解無線本地轉發問題

之前筆者遇到一個無線本地轉發的問題,簡化的大致的拓撲圖如下圖所示:

王海軍老師講解無線本地轉發問題

AC通過G0/3接口連接SW的交換機,SW的交換機使用G0/2接口連接AP設備,用戶接入AP之後所屬的vlan是20。在AC上配置DHCP功能,並且AC作為DHCP服務器,SW開啟DHCP中繼功能,作為DHCP的中繼設備。此時AP可以通過中繼從服務器上獲取IP地址,並且通過DHCP上配置option 138來讓AP獲取到AC的信息(設備為銳捷設備)。註冊的配置過程此處忽略。註冊成功的現象如下所示:

配置成功的現象

DHCPserver(config)#show capwap stateCAPWAP tunnel state, 1 peers, 1 is run:Index Peer IP Port State Mac Address 1 192.168.10.2 10000 Run 0074.9c64.a7cc

在AC上開啟DHCP功能,給AP下的用戶分配vlan20的192.168.20.0/24網段的地址信息。配置成功之後AP下的用戶STA1和STA2都能夠獲取到IP地址。但是此時在AC上開啟本地轉發功能(備註:在WLAN網絡中,AC通過CAPWAP協議控制管理下聯的AP,CAPWAP為AC和AP之間提供通信隧道,通常情況下無線用戶所有流量都需要先經過AC才能進行轉發。這種集中轉發的模型有可能會改變客戶的流量模型,客戶希望無線用戶流量不走AC直接通過AP進行轉發,這就是本地轉發功能。)

DHCPserver(config)#wlan-config 1DHCPserver(config-wlan)#tunnel local

並且在SW上把G0/2接口配置成了trunk端口,端口所屬vlan是100,允許AP所在的vlan20的報文通過,配置如下所示:

DHCPrelay(config)#vlan 20DHCPrelay(config)#interface gigabitEthernet0/2DHCPrelay(config-if-GigabitEthernet0/2)#switchport mode trunkDHCPrelay(config-if-GigabitEthernet0/2)#switchport trunk native vlan 100DHCPrelay(config-if-GigabitEthernet0/2)#switchport trunk allowed vlan only 20,100

但是配置成功本地轉發之後,AP下連接的用戶PC可以接入無線網絡,但是獲取不到IP地址。但是關閉本地轉發功能之後,PC可以正常獲取到vlan20下的IP地址。

此時在SW的交換機上配置vlan20的三層虛接口的IP地址,並且在接口上配置ip address dhcp,發現SW上vlan20沒有獲取到IP地址。並且分析AC上進入的報文,發現開啟本地轉發功能之後,AC上沒有收到PC的DHCP報文。此時把AC和SW上把互連的G0/3接口,在trunk端口原有配置的基礎上,允許vlan 20的報文通過,如下所示:

DHCPserver(config-if-GigabitEthernet 0/3)#show this switchport mode trunk switchport trunk native vlan10 switchport trunk allowed vlanonly 10,20 DHCPrelay(config-if-GigabitEthernet 0/3)#show this switchport mode trunk switchport trunk native vlan10 switchport trunk allowed vlanonly 10,20

此時STA在接入時可以獲取到IP地址,問題解決。

原有流量轉發:

王海軍老師講解無線本地轉發問題


王海軍老師講解無線本地轉發問題


現有流量轉發:


王海軍老師講解無線本地轉發問題


此時注意:開啟本地轉發功能之後,用戶的流量就不需要經過AC來進行轉發,也就不經過capwap隧道通信,此時PC獲取地址的DHCP報文也是一樣,需要通過SW到AC的轉發,而不使用capwap隧道,所以需要把AC和SW的二層接口允許vlan20的報文通過才行。


分享到:


相關文章: