1. 程式人生 > >業務通 對交換機的管理不通的問題

業務通 對交換機的管理不通的問題

環境介紹:

該問題所涉及的拓撲先畫出來,如上所示,另外核心交換機可以接pc對拓撲中的其它裝置進行管理,工業交換機處只畫了一臺,其實是代表了很多臺,另外工業交換機上下掛比較多的攝像頭。可能還會連有其它交換機成環狀。

配置及要求:

1,作為5800的匯聚交換機,配置vlan轉換功能,vlan10和vlan42直接互相轉換,同時可起到vlan10 和vlan42直接進行廣播域隔離的作用。

2,所有交換機包括核心9800 和5800 還有工業交換機側的交換機,都只能配置在一個網段的ip(192.168.42.0/16),雖然有兩個vlan,但是現場的拓撲就是這樣設計的,我們不能左右。其實感覺兩個網段中間使用靜態路由是蠻好的。

3,對於以5800為分隔的上邊核心處客戶方不允許做改動,工業交換機是我們自己生產的交換機,我們自己可以改動。另外全部在一個網段內也是一個原則不能變更。

問題:

從核心的pc,到工業交換機下掛的攝像頭,之間的業務是通的。但是從核心側去管理工業交換機卻無法管理到(和工業交換機不通,不能登入web進行配置管理)。

核心原因:

我們的工業交換機是二層的交換機,對於管理訊息上cpu的是不區分vlan的,我們交換機的處理是報文一進入交換機剝離tag後再送到linux協議棧處理,arp icmp都不攜帶vlan資訊,因此報文返回時也無法預知該攜帶哪個vlan的tag發出去。三層裝置不會存在這樣的問題,從5800下來的報文如果打了tag(交換機的管理報文是這樣的)就沒法上交換機的cpu,也就沒法通起來。

解決方法:

原來也遇到類似的現場問題,當時涉及到了單臂路由,也是因為路由器下來的報文打了tag,交換機沒法識別,導致對交換機不能管理上(原因同核心原因裡的描述)。曾經解決過這樣的問題,因此將上次解決的問題部分的程式碼,用巨集開啟,既可解決這個問題了。

實際上的解決是將linux核心通過make menuconfig進行配置,開啟起802.1q的功能模組。再做相應命令的配置,相當於arp報文和icmp報文上到裝置cpu包含了vlan的資訊,不通vlan的arp和icmp會在不通的vlan中進行處理。

我們的支援工程師,建立了模擬測試的環境,初步證明是可以達到專案需求方所要求的效果的。

具體程式碼和原理的修改細節,我將在下一篇播客,關於解決單臂路由問題的部落格中和大家分享。