「運維實戰家」專欄,從技術到實踐,和您聊聊運維的那些事兒,講述運維人的「昨天、今天和明天」
在進行無線網絡部署時,如果AP VLAN和STA VLAN使用相同VLAN時為何會出現無線用戶會獲取不到IP位址?如果STA VLAN為1而上聯交換機配置的Native VLAN不是1時為何無線用戶會獲取到錯誤的IP位址?
在無線本地轉發的環境下會有小夥伴遇到上述的問題,卻不太清楚如何處理,今天為大家剖析下以上兩個場景下會出現無線用戶無法獲取IP位址或獲取到錯誤的IP位址的原因,以及如何解決以上問題。
講解之前,先帶大家回顧下交換機接口模式及報文處理方式
交換機接口模式:
Access:接口只屬於一種VLAN,只能接受和發送特定VLAN
Trunk:接口可以接受和發送多個VLAN的幀,只允許預設 VLAN的報文發送時不打標籤,下圖為大家整理了Trunk接口收發幀處理方式,本文分享場景涉及需重點理解
Hybrid:接口可以接受和發送多個VLAN的幀,可以允許多個VLAN的報文發送時不打標籤
Native VLAN:作用在Turnk和Hybrid埠,所有未劃分VLAN的埠默認自動劃分到Native VLAN中,交換機的默認Native VLAN是VLAN 1
首先我們先來看下在AP VLAN與STA VLAN不同場景下,正常無線報文轉發流程。在該場景下AP默認Native VLAN 1,上聯交換機配置的Native VLAN是AP的VLAN為VLAN 10,無線用戶的VLAN是20。用戶發送802.11幀達到AP後,AP 將802.11幀轉換成乙太網幀並插入用戶VLAN的TAG,交換機收到數據包後透傳TAG 20的數據包向上層交換機轉發。
圖2:AP VLAN和STA VLAN不同場景下無線上行報文轉發流程
數據包返回後,TAG 20的數據包通過交換機轉發到AP,AP把帶有TAG 20的乙太網數據包封裝成802.11數據幀轉發給用戶,該場景下用戶收發數據包正常。
圖3:AP VLAN和STA VLAN不同場景下無線下行報文轉發流程
接下來我們看下在AP VLAN和STA VLAN相同的場景下數據包轉發會出現什麼問題。在該場景下AP默認Native VLAN 1,上聯交換機配置的Native VLAN是AP的VLAN為VLAN10,無線用戶的VLAN也是10。用戶發送802.11幀報文達到AP後,AP 將802.11幀轉換成乙太網幀並插入用戶VLAN的TAG上送交換機,交換機正常接收帶有TAG 10的幀,並通過上聯正常轉發TAG 10的幀(上聯默認Native VLAN是1,保留原TAG標籤轉發)。
圖4:AP VLAN和STA VLAN相同場景下無線上行報文轉發流程
數據包返回後,交換機正常接收帶有TAG 10的幀,由於該TAG是下聯Native VLAN,所以交換機將會剝離TAG進行轉發,將不帶標籤的下行數據包轉發給AP,由於AP的默認Native VLAN是1,所以不帶TAG的幀就打上TAG 1的標籤,AP查找用戶的VLAN信息無VLAN 1將報文丟棄,導致無線用戶無法收到回包,導致用戶出現無法獲取IP位址、無法上網的的現象。
圖5:AP VLAN和STA VLAN相同場景下無線下行報文轉發流程
該場景下根據報文轉發流程我們找到了問題所在,那該如何解決呢?有兩個解決辦法,第一個方法是修改AP的Native VLAN為10,修改後下行數據被交換機剝離TAG返回AP時,不帶TAG的幀會被AP打上TAG 10的標籤轉發給用戶,讓用戶正常獲取到 VLAN 10所在的IP位址。
Ruijie(config)# ap-config ap-name
Ruijie(config-ap)# ap-vlan 10
圖6:AP VLAN和STA VLAN相同場景下修改AP Native VLAN後無線下行報文轉發流程
第二個方法是將用戶的 VLAN改為1,修改後上行數據AP以UNTAG 1標籤轉發,到達交換機後,交換機對不帶TAG的幀,打上Native VLAN 10的標籤,然後正常轉發。
下行數據交換機正常接收帶有TAG 10的幀,由於該TAG是下聯Native VLAN,所以交換機將會剝離TAG後轉發給AP,AP將不帶TAG的幀打上Native VLAN 1的標籤轉發,匹配到用戶映射的VLAN 1,,這樣用戶實際也能獲得VLAN 10所在的IP位址。
圖7:AP VLAN和STA VLAN相同場景下修改用戶VLAN後無線上行報文轉發流程
圖8:AP VLAN和STA VLAN相同場景下修改用戶VLAN後無線下行報文轉發流程
場景三:
STA VLAN為1而上聯交換機Native VLAN不是1場景
最後我們看下在STA VLAN為1而上聯交換機Native VLAN不是1的場景下會出現什麼問題。在該場景下AP默認Native VLAN 1,上聯POE交換機配置的Native VLAN是AP的VLAN為VLAN10,無線用戶的VLAN也是1。用戶發送802.11幀報文達到AP後,由於AP上行口默認Native VLAN是1,導致AP 解封裝成802.3幀上送到接入交換機數據是UNTAG 1的標籤,交換機對不帶TAG的幀打上Native VLAN 10的標籤進行轉發,導致用戶獲取到AP所屬的VLAN 10的IP位址,而不是所屬的VLAN 1的IP位址。
圖9:STA VLAN是1而上聯交換機Native VLAN不是1場景無線上行報文轉發流程
與場景二相同,我們同樣可以通過修改AP的Native VLAN解決該問題。將AP的Native VLAN修改為非VLAN 1後(根據習慣一般可選用 AP的VLAN),用戶上下行數據包在網絡中均以TAG 1的標籤進行轉發,用戶可正常獲取VLAN 1的IP位址。
Ruijie(config)# ap-config ap-name
Ruijie(config-ap)# ap-vlan 10
圖10:STA VLAN是1而上聯交換機Native VLAN不是1場景修改AP Native VLAN後無線上行報文轉發流程
圖11:STA VLAN是1而上聯交換機Native VLAN不是1場景修改AP Native VLAN後無線下行報文轉發流程
本文作者與大家聊了銳捷AP預設VLAN和用戶VLAN那些事兒,在實際項目作者不建議將用戶VLAN 與AP VLAN規劃在同一個網段中。如果較多AP都部署在同一個VLAN中,則一個AP和其STA的ARP廣播報文將會發送給另一個AP,造成AP收到大量的廣播報文衝擊AP的CPU,甚至可能導致AP網關的ARP報文湮沒在其他AP的ARP報文中造成ARP老化,使得AP通訊異常。因此部署該功能時也需要注意不要將大量的AP部署在同一個VLAN內(建議不要超過2個C類地址)。
最後作者給大家留一個小問題可以結合本文所講進行思考:
在一個無線網絡中,規劃的無線用戶VLAN是10,但網絡中使用的POE交換機是不可網管的交換機不可劃分VLAN,那配置無線用戶的VLAN時候,無線用戶的VLAN配置成多少?為什麼?
歡迎您的留言,我們將選出留言中答案解釋最全面、最快速的一條送出小米手環一枚~