您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > protocol技术建立Linux和
February2006Linuxguide17利用VLANprotocol技術建立Linux和Cisco設備之間的完善互動VLANprotocol與Cisco設備的介接關係與設定對於一個剛跨進IT的領域的初學者(rookies),需要學習的領域包括網路、系統和程式設計,而且每一個領域都必須花費相當多的時間去熟悉。其實在IT業界中的面試分類,通常也是根據這三類來應徵人員。在業界待了十幾年的筆者,往往發現熟悉網路的工程師不擅長系統和程式設計,瞭解系統的管理員不諳網路與程式設計,而程式設計高手對網路及系統生疏。究其原因,在於一頭栽進某項工作之後,如果想要轉換到另一個截然不同的領域時,幾乎就是重新開始,有多少人能夠承受原本的高薪降為低薪、原本受人推崇的經驗變得一文不值呢?因此,轉換跑道的意願就逐漸降低,甚至打消念頭。不過,如果在IT業界想要往上爬的話,深入了解網路、系統、程式設計三項領域,是不可或缺的先決條件。有鑒於在台灣對於網路和Linux深度結合的文章並不多,因此Ben哥以及奇科電腦教育的學員們特別以上課內容為基礎並輔以圖文表現的方式,針對VLAN在Linux設備上的運用加以解說,務求各位讀者完全了解其中的設定方式,並講解VLAN與Cisco設備的連結方式與技巧。本技術文件實驗所需的設備清單如下:◆Linux機器乙台(具備100Mb/s以上的乙太網路卡)◆Cisco2950系列第二層交換器◆乙太網路線乙條文◎奇科電腦教育資深網路技術顧問Ben哥&CCNA專測學員SpecialReport特別企劃18LinuxguideFebruary2006何謂VLAN(虛擬區域網路)VLAN就是能夠在乙太網路交換器、第三層交換器(Layer3Switch)、路由器或其他支援VLAN的設備中,區隔區域網路的一種設定。以IEEE的定義來解釋VLAN,或許過於生硬且不易了解,以下透過較為生活化的方式進行解說:讀者們早期做網路連結時,必定都用過集線器(HUB)。集線器的功能是傳遞或加強電氣訊號,是以OSI七層定義中的第一層(物理層)為基礎所用的設備,現在已經鮮少出現在市面上,取而代之的是所謂的集線交換器(SWITCHHUB),也就是最基本的交換器。為什麼叫SWITCHHUB呢?其實這和技術一點關係也沒有,純粹是行銷上的一種名詞定義。那SWITCH跟HUB又有什麼差異呢?HUB不用多做解釋,因為剛剛已經做了最簡單的定義,而SWITCH,可解析OSI七層中第二層(資料鏈結層)的資料,簡單來說,就是能夠學習和記憶連接機器的MAC(MediaAccessControl)位址,根據MAC位址來過濾封包的目的(Forwarding/Filtering),進而提升連接機器之間的傳輸效率。各位讀者如果曾經使用過以上的產品,會發現每一台連接的機器都必須在同一個區域網路(network)內,才能進行資料交換,如果想要讓一台HUB或是SWITCHHUB能夠擁有兩個或兩個以上完全獨立的區域網路,是辦不到的。因此一般的解決方案是,使用兩個或是兩個以上的HUB或SWITCHHUB來解決。但如果改用支援VLAN的交換器,便可以只使用一台設備區隔多個區域網路。舉例來說,Cisco的小型交換器——2950、3550、3650、3750等系列的交換器,每一台至少都提供了50個以上的連接埠,而每個連接埠都可以設定成不同的區域網路。在接下來的例子裡就表示有50個以上的VLAN存在於交換器內,藉由VLAN的標準與不同廠牌的交換器,以trunk達成資料交換。▲Linux主機I(個人PC,內建100Mb/s速率以上的乙太網路卡)▲Linux主機II(機櫃中的Linux主機,具備100Mb/s速率以上的乙太網路卡)▲乙太網路線▲Cisco2950系列第二層交換器Febrary2006Linuxguide19認識802.1QIEEEStandardsforLocalandMetropolitanAreaNetworks:VirtualBridgedLocalAreaNetworks文件編號為802.1Q-1998,於西元1998年12月8日定稿,明確地定義了「虛擬橋接區域網路」(VirtualBridgedLANs)的架構以及所提供的服務,同時詳細說明了服務所需要的其他協定(protocols)和演算法(algo-rithms)。在IT業界裡,經常使用專有名詞802.1Q和VLAN協定,來代表VLAN的功能。因此,當有人談到802.1Q時指的是VLAN,提到VLAN就代表802.1Q。基本上,802.1Q最大的作用是,在乙太網路框架(Frame)的表頭上加上一個標記(Tag),藉此分辨來自不同VLAN的封包。VLAN的設定選項位於〔Networkingoptions〕控制項目內,點選進入後,將捲軸往下拉,就可以看到802.1QVLAN選項。請在實驗之前先點選〔Help〕,概略了解一下VLAN的相關訊息來源,以及設定VLAN時所需的命令設定。接著,將VLAN功能設定成為模組。有一點必須注意的是,如果VLAN模組沒有載入核心,就無法由「dmesg」指令的輸出訊息,或是從「/var/log/messages」檔案的內容得知該核心是否能夠支援VLAN功能。當核心模組編譯完成之後,802.1Q模組的檔案名稱是「8021q.o」。說到這裡,各位已經了解使用VLAN之前,首先必須確定目前的系統核心是否支援VLAN功能,這可以經由兩種方式查證:一是使用「dmesg」命令,二是查看「/proc/net/vlan」目錄是否存在。準備Linux的設備VLAN在IT業界的應用極為廣泛,幾乎所有中高級網路或是電腦設備都提供該項功能。除了使用硬體ASIC(Application-SpecificIntegratedCircuit)支援VLAN功能的設備以外,VLAN亦可以透過軟體的方式安裝在作業系統內,讓不同的作業系統都能擁有VLAN的功能。例如,在微軟視窗系統上,Intel網路卡的驅動程式就可以支援VLAN,如果是Linux系統,只要使用的Linux系統核心支援VLAN,那麼任何一款網路卡都可以使用。接下來,讓我們看看VLAN的功能位於系統核心選項的何處。以下是在Linux核心2.4.31版本下執行「makexconfig」命令後的選項畫面。VLANprotocol與Cisco設備的介接關係與設定20LinuxguideFebruary2006SpecialReport特別企劃檢查「/proc/net/vlan」檔案是否存在:核心如果沒有提供VLAN功能,「/proc/net/vlan」目錄是不存在的,如圖所示。若核心支援VLAN功能,將會出現下列的輸出訊息。截至目前為止,我們已經學會了如何判斷核心是否支援VLAN的功能。接下來,看看該如何將802.1Q模組載入核心:使用「modprobe」模組命令載入「802.1q.o」模組,並且利用「lsmod」命令確認模組是否已經載入到核心內,如圖所示。dmesg命令搭配grep所得的輸出訊息:在核心不提供VLAN功能的情況下,執行「dmesg|grep-i802」命令是不會出現任何與802.1Q相關的輸出。而當核心支援VLAN功能時,則會出現類似以下畫面的輸出訊息。確定目前使用的Linux核心已經支援VLAN功能之後,接下來開始設定。一般安裝Linux的過程中,都會安裝VLAN相關的命令「vconfig」。如果沒有的話,可以安裝相關的rpm套件,套件名稱通常以「vconfig」開頭,例如「vconfig-1.6-2.i386.rpm」。此外,也可以從「~greear/vlan.html」或「」下載原始碼安裝,目前最新的版本是1.9版。緊接著,介紹vconfig的設定選項和使用方法,只須執行「vconfig」命令即可顯示相關的解說畫面。VLAN以數字來做編號,也就是所謂的VLANID,使用的方法非常的簡單,只需一行命令就可以建立一個VLAN。VLAN介面的形式為「網路卡介面‧VLANID」,請特別注意,網路卡介面與VLANID之間有一個句點,有別於IPAlias的冒號(:)。如果想在eth0介面卡上設立VLAN介面的話,以下兩點須特別注意:1.eth0介面卡必須是啟用(up)的狀態,也就是說當我們執行「ifconfig」命令時可以看到eth0。如果沒有顯示,可以使用「/sbin/ifconfigeth0up」命令加以啟動。2.eth0介面卡不能設定IP位址,只有VLAN介面卡才可以設定。稍後,將會詳細介紹如何在VLAN介面上設定IP位址。February2006Linuxguide21一個實體介面卡上可以建立相當多的VLAN介面。接著,配合commandscript建立其他的VLAN。緊接著,設定每一個VLAN介面的IP位址。同樣地,使用commandscript來加快設定過程。以上就是在Linux設備中設定VLAN時所需的操作步驟。確認目前使用的核心是否具備VLAN的功能選定Linux設備上的介面卡啟動實體介面卡,並確認未設定IP位址建立並啟動VLAN介面卡在每一個VLAN介面卡上設定IP位址準備完成CiscoCatalyst2950/3550/3650/3750交換器的設定剛剛在Linux設備上建立了9個VLAN,其ID分別是10、20、30、40、50、60、70、80、90,所以在網路設備上,也必須建立相同的VLANID才可以和Linux的設備作介接,此次實驗採用的設備是Cisco2950T-24的第二層交換器,下頁圖中顯示的是其使用的版本。藉由以下圖片說明如何在Linux的介面卡上設定VLAN。首先執行「ifconfigeth0up」命令啟動eth0介面卡,然後使用「ifconfigeth0」命令觀察eth0是否已經設定IP位址。圖中的eth0介面卡資訊內沒有出現IP位址,接下來使用「vconfigaddeth06」命令建立一個VLAN,VLANID設為6。然後,利用ls指令查看「/proc/net/vlan」目錄下有何變化,發現多了一個名為「eth0.6」的檔案,並且可使用「ifconfigeth0.6」命令來確定VLAN介面是否存在。增加VLAN介面之後,接著介紹如何移除VLAN介面。以「vconfig」命令搭配「rem」選項,再以VLAN介面為其引數即可移除,完整命令為「vconfigremeth0.6」。VLANprotocol與Cisco設備的介接關係與設定22LinuxguideFebruary2006SpecialReport特別企劃在這裡順道說明一下,Cisco絕大部分的交換器和路由器所使用的作業系統稱為IOS(InternetworkOperatingSystem),此為Cisco設備的核心價值所在,Cisco生產的設備之所以能在市場擁有高達85%以上的佔有率,IOS功不可沒,這也清楚說明了程式設計和系統調校的確非常重要。接下來示範如何在IOS中建立VLAN。首先必須進入「enable」模式,在「enable」模式下才能取得設定的基本權限。先查看目前這個交換器內有哪些既有的VLAN,然後進入vlandatabase建立想要的VLAN。想要讓Cisco交換器與Linux設備作介接,必須先選定一個連接埠。在目前這個交換器上,FastEthernet0/22並未被使用,所以就利用這個連接埠與Linux設備上的介面卡作介接。先看看FastEthernet0/22的狀態如何。各位應該沒想到一個簡單的連接埠竟然有如此多的屬性和資訊可以參考,這也正反映了普通和高規格的網路設備之間,為何有驚人價差的原因了。以上顯示的IOS命令輸出訊息中,並沒有發現在Linux設備上所建立的VLANID,所以必須進入IOS的vlandatabase建立這些VLAN,然後執行「exit」命令離開vlandatabase,如下圖所示。Febrary2006Linuxguide
本文标题:protocol技术建立Linux和
链接地址:https://www.777doc.com/doc-1229032 .html