發新話題
打印

3Com 4500 Switch 設定與 Linux MRTG、VLAN Tag 應用

3Com 4500 Switch 設定與 Linux MRTG、VLAN Tag 應用

http://www.babyface.idv.tw/NetAdmin/202007093com4500/

3Com 4500 Switch 設定與 Linux MRTG、VLAN Tag 應用

作者:徐秉義(Albert Hsu)

此款 3Com 4500 Switch 共有 26 埠可供使用,其中第 01~24 埠是 10/100 Mbps 介面、第25、26這兩個是光纖埠(需加購 GBIC 才能使用)第27、28埠則是 Gigabit RJ45 接頭的 Port,比較需要注意到的是,第25~28埠是採兩、兩 combo 方式,意思是 25~27 二選一使用、26~28 也是二選一使用。

這款 Switch 可以堆疊(Stack)至多八台,也因此就介紹堆疊此款 Switch 相關指令與概念;另外本文也將介紹 Linux 應用 MRTG 繪製 switch 的流量圖表;以及 Linux 上使用 vconfig 指令與載入 802.1q 模組,使 Linux 懂得 VLAN Tagged 與 Switch 不同的 VLAN 做溝通等等。

連接 Com Port

此款使用的 Com Port 連接方式與一般預設值的 9600-8-N-1 稍有不同,而是 19200-8-N-1,連接上的預設帳號 admin 密碼則是空的,馬上就可以開始管理囉!

溫馨提示:在 Windows 除了「超級終端機」以外,下載 putty.exe 也可以用來連接 Com Port。

Com Port 連線

設定 IP 與遮罩

設定 IP 方式請先使用「system-view」切到系統顯示模式,使用「interface Vlan-interface 1」切換到預設的 vlan 1,使用「ip address X.X.X.X 遮罩」來設定 IP 與遮罩。

圖為設定情形快照,許多行都有按下 TAB 鍵來補齊指令,也可以按下「?」來看接下來要輸入甚麼資訊。

設定 IP

上圖中 ip 172.18.63.66 後面的 18 指的是遮罩 255.255.192.0,使用 display interface Vlan-interface 1 觀察設定好的 IP。

溫馨提示:3Com 的 display 指令像是 Cisco 的 show 指令。

設定好之後就可以使用 telnet 遠端登入 switch 做設定,也就是可以不用 Com Port 來連線了。

若要存檔請使用 save 指令,請記得要使用 quit 指令退到最上層(提示符號 <sysname>才可以使用 save 指令儲存設定)

設定密碼

可以遠端登入後,還是設定一下密碼比較安全,先至「system-view」後,輸入「local-user admin」到本地使用者 admin 層級,再使用「password simple passwd」設定密碼,本範例將密碼設定成『passwd』

溫馨提示:筆者在用 Linux telnet 設定時,遇到 Backspace 無法使用的問題,都是使用 Ctrl-h 來使用倒退鍵的功能。

設定密碼

除了 Tab 鍵用來補齊命令以外,上圖中的『?』問號鍵也是一個好幫手,能夠提示接下來的該輸入怎樣的資料與資訊。

顯示 Port 狀態

3com 4500 這台 Port 模式大概有三種:預設所有的埠皆是 access Port;若要做 VLAN trunk 就將埠設定成 trunk 模式;最後一種是 hybrid 模式,此模式應用方式較特殊,本文也就沒有提到。

25 到 28 那四個 Gigabit 埠,是採用二選一 Combo 的方式,也就是 25 與 27 一組;26 與 28 一組,每一組只能啟動一個埠號,預設值是啟用 25、26 這兩個光纖埠。

顯示 Port 狀態

VLAN 相關設定指令

在本刊第十四期中,筆者曾經介紹過 VLAN 在一般中小企業應用概況,以及 802.1Q VLAN 概念原理等等,所以這次設定 VLAN 的部份,就只介紹 3com 這個型號(4500)VLAN 相關設定指令就可以了,至於較 3com 較低階的產品採用 menu(選單模式)使用介面,本刊第十四期已經提過就不在重複。

新增、顯示、刪除 vlan

顯示有那些 VLAN:display vlan

顯示某個 VLAN Tag/Untag 埠:display vlan VLANID

新增某個 VLAN:vlan VLANID

刪除某個 VLAN:undo vlan VLANID

溫馨提示:這裡的 undo 指令類似 cisco 之 no 指令

下圖是以 VLAN 2 為範本的操作情形。

vlan 範本

將某個 access 埠設定屬於某個 vlan 且 Untag

先使用 vlan VLANID 進入此 vlan 等級

port Ethernet或GigabitEthernet 埠號(可以單獨一個埠或連續埠)

同樣的 undo port Ethernet或GigabitEthernet 埠號,則可復原成原狀。

下圖是將第 23 埠屬與 VLAN 2 且 Untag 操作情形。

vlan2 範本

下圖是將第 20 埠到 22 埠屬與 VLAN 2 且 Untag 操作情形。

vlan3 範本

溫馨提示:Untag 埠可在此層級或是在某個埠的 interface 設定(隨後介紹)但若要設定 Tagged 埠,需要進入某個埠的 Interface 層級才能設定。

例如:interface ethernet 2/0/3

port access vlan 4

「port link-type access」是用來變換 link-type 用的,type 有 access 與 trunk 比較用的到。

設定 vlan 介面 IP

若您要設定其他 vlan(例如 vlan 2)的 IP 位址,可不是在 vlan 2 模式下設定,而是要在 interface Vlan-interface 2 模式下,像類似 interface Vlan-interface 1 的動作,來設定 IP,設定完畢後使用 display interface Vlan-interface VLANID 來顯示設定,下圖為將 Vlan-interface 2 設定 IP 成 1.2.3.4 遮罩 255.255.255.0

溫馨提示:這台 4500 是 Layer 3 switch,所以每個 VLAN 介面都可設定 IP 位址。

vlan 2 設定 IP 範本

設定 trunk 埠及 Tagged VLAN

概念上要先將某個埠定義成 trunk 埠,接著設定允許那些 VLAN 的 Tagged,底下以將第 19 埠定義成 trunk 埠,並允許傳輸 VLAN 2 Tagged,至於對接的那台 Switch 也要這樣設定才會正常。

使用指令 interface Ethernet 1/0/19 切到第 19 埠介面

使用指令 port link-type trunk 將埠類型改成 trunk port

使用指令 port trunk permit vlan ? 看是要允許所有 VLAN(ALL)或是特定 VLAN(例如 2)

圖為只允許 VLAN 2 trunk 埠的設定快照

trunk

使用指令 display vlan 2 看到的情況,請注意第 19 埠 Tagged。

vlan Tagged

網路介面硬體位址(Mac)相關指令介紹

使用指令 display mac-address 可以顯示此 switch 所學到(Learned)的 Mac Address,他採用 more 做分頁,所以使用「 / 」可向下搜尋關鍵字來快速找到目標 Mac Address。

display mac

在企業環境中主機一多,難免有中毒、不小架設或啟用了 DHCP 伺服器,都會造成 IT/MIS 不小的負擔,而這些搗蛋主機,最常暴露出的就是 IP 位址,由 IP 位址查出 Mac Address 也不難(利用 arp 指令)

找到搗蛋主機位於 switch 那個 Port 後,就不難處理了,看是要關掉那個 Port,還是直接去找主機(或是主機的主人)都可以快速的解決問題,也避免災難(中毒)擴大。

堆疊(Stack)相關指令介紹

這款(4500)能夠堆疊至多八台,而有做堆疊與沒做堆疊的 Switch 在管理方面是相差很大,假設有四台 4500 switch 有堆疊與沒堆疊差異比較表如下:

 

尚未堆疊堆疊之後
switch 管理IP四個switch 管理IP一個
VLAN trunk 埠需手動管理由堆疊埠自行處理 VLAN trunk
四台獨立的 switch一大台 switch 有四個單位

堆疊概念圖

stack

筆者已經有一組堆疊好了三台,將要堆疊第四台的情形敘述如下:

概念上來說,堆疊的 switch sysname 要一樣,並且左邊的 Gigabit Port 連到上一台、右邊的 Gigabit Port 連到下一台,預設 3com 會自行調整 Unit(單位號碼)所以不一定要手動調整。

筆者是採用 Gigabit Ethernet(RJ45)接頭埠(也就是 g1/0/27 與 g1/0/28)來做堆疊,所以第一步就是將 combo Port 切換至 27 與 28(而不是預設的 25 與 26)

第一步:連至上部的 switch 使用指令 interface GigabitEthernet 3/0/28(筆者的是第三台接第四台,所以是 3/0/28)使用 undo shutdown 指令來切換啟用第 28 埠(需要重開 switch)display port combo 可顯示 combo port 在用與沒在用的是那些。

switch combo

第二步:確認 sysname 之後(筆者的是 sw01),使用指令 fabric-port GigabitEthernet 3/0/28 enable 來啟用堆疊埠。

fabric

第三步:連至下部的 switch 使用指令 interface GigabitEthernet 1/0/27 使用 undo shutdown 指令來切換啟用第 27 埠(需要重開 switch)。

undo shutdown

第四步:使用指令 fabric-port GigabitEthernet 1/0/27 enable 來啟用堆疊埠,sysname sw01,將 sysname 改成與上部 switch 一樣的 sw01。

sysname sw01

完成後就可以使用單獨一個管控介面來控制兩台以上的 switch。

使用 Linux 做 switch 網路介面 mrtg 流量圖表

3Com 4500 預設已經開啟 snmp 所以我們可以使用 Linux 做 mrtg 流量圖表,顯示這部份的相關設定在 system-view 後 display th 即可觀察到 snmp 相關設定。

snmp

第一步:我們以 RHEL5 為例,在安裝了 mrtg 套件後,使用 cfgmaker switch_IP位置 來製作 mrtg 設定檔,筆者經過多次測試後,所使用的指令與選項簡介如下:

cfgmaker --ifref=name --global 'WorkDir: /var/www/mrtg' --global 'Options[_]: bits,growright' --global 'RunAsDaemon: Yes' --zero-speed=100000000 --show-op-down '--if-filter=$default && $if_type!=1 && $if_type!=23' --output /etc/mrtg/test.cfg 172.18.63.1

--ifref=name 使用介面名稱(例 e1/0/1)來顯示

WorkDir: /var/www/mrtg 放網頁的資料在 /var/www/mrtg

bits 單位使用 bits,growright 圖形的單位走向右邊

RunAsDaemon: Yes 使用 Daemon 方式跑(不然就要使用 crontab 五分鐘跑一次)

--show-op-down 介面的狀態是 down 的依然顯示(需搭配 --zero-speed=100000000 選項)

--if-filter 那一些設定使得某些介面的流量不顯示(例如 Management Port)

--output /etc/mrtg/test.cfg 設定輸出至 /etc/mrtg/test.cfg

向 172.18.63.1 這台 switch 要到的 snmp 資訊寫成 /etc/mrtg/test.cfg 設定檔

mrtg

第二步:使用如上圖的指令 indexmaker /etc/mrtg/test.cfg --output=/var/www/mrtg/index.html 輸出網頁索引檔案於 /var/www/mrtg/index.html

第三步:使用指令 mrtg /etc/mrtg/test.cfg 暨 env LANG=C /usr/bin/mrtg /etc/mrtg/test.cfg 實際開始抓取資料繪製成圖表(Daemonizing 運作方式)

mrtg2

第四步:若是本機瀏覽使用 firefox /var/www/mrtg/index.html 即可;若是透過 Apache 則需要啟動 httpd 服務後,使用 http://主機名稱或IP/mrtg 即可看到流量網頁。

下圖是啟動不久後的 mrtg ,顯示出少部份流量的圖表,每個圖表還可以在點進去觀看詳細資料。

溫馨提示:RHEL5 Apache 預設將 http://hostname/mrtg 使用 alias 指向到 /var/www/mrtg/

graph

Layer2 Switch+Linux 搖身一變 Layer3 Switch

雖然現在 Layer3 Switch 在價格上已經漸漸的平價化,但若是 Layer2 Switch+Linux 也可以實現「單臂路由」,也不失為一個好的變通方式。

單臂路由

這個「單臂路由」名詞,是從大陸聽來的(網路上),以底下的圖為例,Layer 2 Switch 上存在多個 VLAN(假設有 VLAN 1、VLAN 2、VLAN 3)分別是 10.0.0.0/8、172.16.0.0/16、192.168.2.0/24 這三個網段。

layer 3

因為 Layer 2 Switch 沒有 routing 功能,所以我們只好借助 router 某一埠與 Switch 某一埠做 Trunk(假設 VLAN 1 untag、VLAN2 與 VLAN 3 都 tagged)之後分別在 router interface VLAN 1、2、3 上設定各自網段 IP 位址後,VLAN 之間就可透過「單臂」(就是 Router 那個埠分屬於三個 VLAN 的三個 IP)來做路由。

當我們設定 Linux 聽的懂 802.1Q VLAN Tag 後(並且記得啟動路由功能 ip_forward),功能之一是用 Linux 當路由器,就可以取代上圖那個 Router 的地位。功能二是末端節點 Linux 主機(接在 Switch Edge Port)應用此 Linux 帶 802.1Q Tag 設定方式即可同時存取兩個以上不同的 VLAN 這對於做網路管理的人員來說會是相當地方便。

溫馨提示:3Com 4500 本身就是 Layer 3 Switch ,筆者玩這個純粹是以 PC 做 Trunk 來存取不同 VLAN。

設定範例

第一步:先將接到 Linux 主機的 Switch Port 模式設定成 Trunk。

筆者是以另一台 switch 為例,下圖是設定將 g3/0/2 埠,設定成 Trunk Port,並允許 VLAN 3 Tagged

溫馨提示:指令 display th 的「th」是 this 之意,顯示的資訊精簡且效果好。

sw7750

第二步:Linux 使用 vconfig 指令來使一個網路介面(例 eth0)存取兩個以上的 VLAN

使用指令 vconfig add eth0 3 使 Linux 懂得 VLAN 3 Tagged,此時 Linux 應該會自動加掛 8021q 模組,若沒有自動載入,請自行手動使用指令 modprobe 8021q 載入此模組。

溫馨提示:SuSE 的 vconfig 指令,在套件 vlan 內。

圖為測試快照,在成功連接 VLAN 3 Tagged 後,使用 dhclient eth0.3 抓 VLAN 3 內 DHCP 伺服器取得網路設定情形(也可以設定靜態 IP 位址來連接)

vconfig

使用 ifconfig -a 可以看到此時 Linux 跨越兩個 Broadcast Domain(在此也就是 VLAN 1 與 VLAN 3)

eth0.3

溫馨提示:若 Linux 要當 router 使用則記得要開啟 ip_forward 功能。


TOP