【交換機在江湖之初窺門徑】接口配置錦囊妙計之二----端口隔離
話說張飛接到諸葛神人下達的保障中軍大營信息安全的軍令後,不禁大爲撓頭。幸得姜維提醒,纔想起諸葛神人留的第二個錦囊。兩人打開錦囊,定睛觀看,只見錦帛上書:兩軍對壘,信息至上,保障安全,唯有隔離。
張飛瞪着虎目環眼,一臉茫然:“維維老弟,丞相的錦囊暗藏什麼玄機,你造不?”
姜維呵呵一笑:“飛飛不要捉急,且聽我慢慢道來。下圖是我軍的大營分佈圖。
飛飛你看,我軍的中軍大營、士兵大營和輜重大營同屬於一個VLAN且位於相同網段。默認情況下,三個大營可以互相訪問。現在,丞相要求咱們在不改變我軍網段規劃和VLAN規劃的情況下,實現:1) 中軍大營和士兵大營不能互相訪問; 2) 中軍大營可以訪問輜重大營,但輜重大營不能訪問中軍大營,且輜重大營和士兵大營始終可以互相訪問。
那麼,該如何實現呢?
這就需要咱們祭出端口隔離這個大招啦。此招一出,威力無窮,必然能夠完成丞相軍令,到時候丞相肯定誇你是個愛學習、肯動腦的好孩子,哈哈哈哈!”
姜維調侃完張飛後,開心得哈哈大笑。
張飛假裝慍怒:“維維老弟,別臭美了,你快告訴我怎麼配置端口隔離吧!”
“好,長話短說。說到端口隔離,就要引入端口隔離組的概念,交換機的端口可以加入到特定的端口隔離組中,同一端口隔離組的端口之間互相隔離,不同端口隔離組的端口之間不隔離。因此,要完成丞相的軍令,配置思路其實非常簡單。如下圖所示,在交換機上將端口GE0/0/1和GE0/0/2加入同一個端口隔離組,GE0/0/3不加入端口隔離組或者加入另一個端口隔離組就OK了。
配置步驟如下:
system-view
[Huawei] sysname Switch
[Switch] interface gigabitEthernet 0/0/1
[Switch-GigabitEthernet0/0/1] port link-type access
[Switch-GigabitEthernet0/0/1] port default vlan 10
[Switch-GigabitEthernet0/0/1] port-isolate enable group 5 //端口GE0/0/1加入到端口隔離組5
[Switch-GigabitEthernet0/0/1] quit
[Switch] interface gigabitEthernet 0/0/2
[Switch-GigabitEthernet0/0/2] port link-type access
[Switch-GigabitEthernet0/0/2] port default vlan 10
[Switch-GigabitEthernet0/0/2] port-isolate enable group 5 //端口GE0/0/2加入到端口隔離組5
[Switch-GigabitEthernet0/0/2] quit
[Switch] interface gigabitEthernet 0/0/3
[Switch-GigabitEthernet0/0/3] port link-type access
[Switch-GigabitEthernet0/0/3] port default vlan 10 //端口GE0/0/3不加入端口隔離組
[Switch-GigabitEthernet0/0/3] quit
完成配置後,端口GE0/0/1和GE0/0/2就加入同一個端口隔離組,端口GE0/0/3不加入任何端口隔離組。這樣,中軍大營和士兵大營就不能互相訪問了,但中軍大營和輜重大營、士兵大營和輜重大營仍然可以互相訪問。”
江湖小貼士:如何查看端口隔離組的配置信息呢?
執行命令display port-isolate group { group-id | all }命令就可以查看端口隔離組的配置信息啦。
張飛聞言大喜,不過他心中還壓着一個小包袱:“維維老弟,丞相還要咱們實現中軍大營可以訪問輜重大營,但輜重大營不能訪問中軍大營。這個問題也能用端口隔離解決嗎?”
姜維微微一笑,淡定地說:“端口隔離既然是大招,當然不僅僅只有端口隔離組這件殺器嘍,它的武器庫裏還要另外一件殺器——單向隔離,正好解決你提的這個問題。”
張飛有點不相信,懷疑地說:“神馬是單向隔離?有這麼神奇嗎?”
姜維笑着說:“單向隔離,顧名思義,只在單個方向上進行信息隔離。舉個栗子,在接口A上配置它與接口B之間單向隔離,則從接口A發送的報文不能到達接口B,但從接口B發送的報文可以到達接口A。就拿你提的這個問題來說吧,要實現中軍大營可以訪問輜重大營,但輜重大營不能訪問中軍大營,就可以使用單向隔離功能。如下圖所示,在端口GE0/0/3上配置單向隔離功能,並指定隔離的端口是GE0/0/1,這樣,GE0/0/3上發出的報文不能到達GE0/0/1,而GE0/0/1發出的報文可以到達GE0/0/3,從而實現中軍大營可以訪問輜重大營,但輜重大營不能訪問中軍大營。
配置步驟如下:
[Switch] interface GigabitEthernet 0/0/3
[Switch-GigabitEthernet0/0/3] am isolate gigabitethernet 0/0/1 //在GE0/0/3上配置端口隔離功能,並指定隔離的端口是GE0/0/1
[Switch-GigabitEthernet0/0/3] quit
配置單向隔離大功告成,看,就是這麼簡單!”
張飛按照諸葛神人的錦囊,輕輕鬆鬆地在交換機上配置了端口隔離功能,經過驗證,中軍大營果然不能與士兵大營互相訪問,且輜重大營不能訪問中軍大營。
第二天,張飛美滋滋地等着諸葛神人的表揚,不料,諸葛神人卻告訴張飛:“飛飛,端口GE0/0/1與端口GE0/0/2現在是二層隔離,雖然ARP啥的無法透傳過來,但是通過VLAN內Proxy ARP功能,中軍大營與士兵大營仍然能夠藉助自己的網關實現三層互訪,這就是所謂的二層隔離但是三層不隔離。”
張飛有點小鬱悶:“丞相,管它二層隔離三層隔離,只要能實現信息隔離不就行了?反正我現在看不出來二層隔離和三層隔離有啥區別。”
諸葛神人不慌不忙地搖着鵝毛扇:“事實勝於雄辯。我們做個小實驗,你就完全明白了。
實驗過程如下:
步驟1 如下圖所示,取中軍大營的主機PC1和士兵大營中的主機PC2,在PC1和PC2加入同一個端口隔離組條件下,用PC1和PC2互相Ping對方,結果兩者無法互相Ping通,說明端口隔離功能起了作用。
在PC1 Ping PC2的過程中,在交換機上抓取經過GE0/0/1和GE0/0/2的報文。
l GE0/0/1的抓包信息如圖所示:
抓包信息顯示,PC1發送了ARP請求報文(綠線框圍住的Protocol爲ARP的報文)後,並沒有收到來自PC2的ARP應答報文。
l GE0/0/2的抓包信息如圖所示:
抓包信息顯示, PC2並沒有收到來自PC1的ARP請求報文。
結論 綜合GE0/0/1和GE0/0/2的抓包信息,說明了PC1發送的ARP請求報文無法通過交換機透傳到PC2上,這樣,PC1和PC2之間就無法完成ARP學習過程,兩者之間也就無法實現相互訪問。
步驟2 PC1和PC2上配置的網關是VLANIF10的IP地址:10.10.10.250/24,我們在VLANIF10上使能VLAN內Proxy ARP功能。步驟如下:
[Switch] interface vlanif 10
[Switch-Vlanif10] ip address 10.10.10.250 24
[Switch-Vlanif10] arp-proxy inner-sub-vlan-proxy enable //在VLANIF10上使能VLAN內Proxy ARP功能
[Switch-Vlanif10] quit
然後用PC1和PC2互相Ping對方,結果兩者可以互相Ping通,這說明端口隔離功能失效了。這是怎麼回事呢?讓我們來抓包分析一下。
l GE0/0/1的抓包信息如圖所示:
首先,PC1發送ARP請求報文,尋找PC2的MAC地址(如黃線標註)。
其次,VLANIF10作爲ARP代理,代替PC2發送ARP應答報文(如藍線標註。注意:4c1f-cc6b-263c是VLANIF10的MAC地址)。
然後,PC1收到來自VLANIF10的ARP應答報文後,把ARP表項中PC2的MAC地址修改爲VLANIF10的MAC地址,如下圖所示。
最 最後,PC1發送到PC2的Ping Request報文(如綠線標註)。下圖是Ping Request報文信息, Ping Request報文的目的MAC地址是VLANIF10的MAC地址(如黃線標註),可見,Ping Request報文會首先發送到VLANIF10上。
l江 江湖小貼士:如何查看VLANIF10的MAC地址呢?
在交換機上執行display arp all命令就可以查看VLANIF10的ARP表項,ARP表項中包含VLANIF10的MAC地址。如下圖所示。
l GE0/0/2的抓包信息如圖所示:
首先,VLANIF10發送ARP請求報文,尋找PC2的MAC地址(如黃線標註)。
其次,VLANIF10收到來自PC2的ARP應答報文,獲取了PC2的MAC地址(如藍線標註)。
最後,VLANIF10將收到的來自PC1的ARP Request報文轉發到PC2(如綠線所示)。
結論 綜合GE0/0/1和GE0/0/2的抓包信息可以看出, PC1發送的Ping Request報文會發送到VLANIF10進行三層轉發,而不是進行二層轉發。PC2迴應PC1的Ping Reply報文也同樣進行三層轉發,本帖不再贅述。
張飛嚷道:“哇,PC1和PC2之間果然能夠通過三層進行通信。那麼,丞相,如何實現PC1和PC2二三層都隔離呢?”
諸葛神人微微一笑:“很簡單,只需要在系統視圖下執行port-isolate mode all命令即可實現二三層都隔離。讓我們再次實驗一下。
實驗步驟如下:
步驟1 在接口VLANIF10下保留VLAN內Proxy ARP功能的配置的同時,在系統視圖下執行port-isolate mode all命令。
[Switch] port-isolate mode all //指定端口隔離模式爲二層三層都隔離
步驟2 用PC1和PC2互相Ping對方,結果兩者不能互相Ping通。
抓包分析一下PC1和PC2無法互相Ping通的原因。
l GE0/0/1的抓包信息如圖所示:
抓包信息顯示,PC1發送ARP請求報文,收到來自接口VLANIF10的ARP應答報文。PC1發送Ping Request報文到VLANIF10進行三層轉發。
l GE0/0/2的抓包信息如圖所示:
抓包信息顯示,VLANIF10沒有發送ARP請求報文尋找PC2的MAC地址,也沒有把PC1發送的ARP Request報文轉發到PC2。
結論 VLANIF10並沒有轉發來自PC1的ARP Request報文,這樣,PC1和PC2之間也就無法實現三層互訪了。
飛飛你看,只是增加了一個小小的配置,端口隔離功能就又王者歸來了!”
張飛信服地點了點頭,讚歎道:“不愧是丞相呀,果然神機妙算!不過丞相,你看現在我們在交換機上配置了這麼多端口隔離的命令,萬一日後我們不需要端口隔離功能了,一條一條刪除這些命令多麻煩呀!”
諸葛神人誇獎張飛:“誰說飛飛有勇無謀?這個想法就很動腦子。其實,在系統視圖下執行clear configuration port-isolate命令就可以一鍵式清除設備上所有的端口隔離配置,包括端口隔離組、端口單向隔離和隔離模式相關配置。不過,飛飛,由於執行clear configuration port-isolate命令一鍵式清除的命令數量比較多,可能會影響其他業務,在使用時一定要謹慎哦!”
張飛哈哈大笑,說:“丞相,你放心吧,你不知道俺是粗中有細嗎?哈哈!”
諸葛神人笑着說:“飛飛進步越來越大了。不過最近我軍又購置了一批華爲交換機,這批交換機型號、傳輸能力都各有不同,而這些交換機需要分佈在各個營寨,與之前購買的那臺交換機直接相連。現在我們想要相連交換機的接口之間的參數一致,從而保證數據能夠正常傳輸,我們該怎麼配置,飛飛你造嗎?” 正在張飛丈二和尚摸不着頭腦的時候,不知姜維什麼時候從後面走了過來,拍了拍張飛的肩膀:“飛飛,你忘了丞相還有第三個錦囊妙計?”
張飛大笑,“速取第三個錦囊。”
欲知後事如何,請聽下回分解。
劇透:下期將帶給大家的是接口管理錦囊妙計之三——端口自協商。敬請期待!
根據諸葛家的獨門祕籍記載,小夥伴們如果還想了解端口組的定義和應用,請猛戳【交換機在江湖之初窺門徑】接口配置錦囊妙計之一---批量配置。
PS:版本支持情況
1.端口單向隔離和雙向隔離在所有版本均支持。
2.端口隔離模式配置命令port-isolate mode { l2 | all } 在S2300、S2750EI、S5700LI和S5700S-LI上述形態上是不支持配置的,即這些形態設備僅支持二層隔離三層互通,不支持二層三層均隔離。