天天看點

vlan trunk

<b>Trunking</b>

多個相同vlan跨越交換機通信,可以通過為交換機間的連接配接端口配置trunk來實作。

廢話不說,直接上指令(下面的實驗都是在Packet Tracer5.0上完成的,使用的指令也是基于IOS的)

<b>Switchport mode {trunk | nonegotiate | dynamic{atuo | desirable | }}</b>

<b>Trunk</b><b>:</b>       <b>啟用</b><b>trunk,</b><b>也發送</b><b>DTP</b><b>(</b><b>dynamic trunk protocol</b><b>)信号,比較特殊的指令</b>

<b>Nonegotiate</b><b>:</b>   <b>啟用</b><b>trunkkng</b><b>,但是禁用</b><b>DTP</b><b>,故隻能和</b><b>trunk</b><b>與</b><b>nonegotiate</b><b>組建</b><b>trunking</b>

<b>Dynamic desirable</b>:<b>主動協商建立</b><b>trunking</b><b>,發送并接收</b><b>DTP</b><b>信号</b>

<b>Dynamic auto</b>:    <b>被動協商建立</b><b>trunking</b><b>,隻接收不發送</b><b>DTP</b><b>信号</b>

<b>No switchport mode trunk </b><b>:關閉</b><b>trunking</b>

實驗拓撲如下:

vlan trunk

如上圖所示,上下pc在同一個vlan裡,共有四個(1,2,3,4)

配置如下:

首先在各交換機上建立VLAN,并為vlan1配置管理位址。

Vlan data

Vlan 1 name 001

Vlan 2 name 002

Vlan 3 name 003

Vlan 4 name 004

Int vlna 1

Ip add 10.1.1.1 255.255.255.0

No sh

下面進入正題

(Swit10)

<b>Conf  t   </b>

<b>Int fa0/1</b>

<b>Swit mod acc    </b><b>!!!</b><b>将端口模式配置為</b><b>access</b>

<b>Swit acc vlan 1   </b><b>!!!</b><b>将端口劃分到</b><b>vlan 1</b>

<b>No ip add</b>

<b>No sh</b>

<b>Exit</b>

Int fa0/2

Swit mod acc

Swit acc vlan 2

No ip add

Exit

Int fa0/3

Siwt mod add

Swit acc vlan 3

Int fa0/4

Swit acc vlan 4

(将四個端口劃分到四個vlan下)

<b>Int g1/1</b>

<b>Swit mod trunk              </b><b>!!!</b><b>将端口模式設定為</b><b>trunk</b><b> </b>

<b>Swit trunk allow vlan 1-4      </b><b>!!!</b><b>允許通信的</b><b>vlan</b><b>為</b><b>1-4</b><b></b>

<b>Swit trunk native vlan 1       </b><b>!!!</b><b>本地</b><b>vlan</b><b>設為</b><b>vlan 1</b><b>,這也是預設設定</b><b></b>

(配置trunk端口)

另一個接入2950交換機作類似配置。

下面是2960交換機的配置:

Conf  t

Int g1/1

Swit mod trunk

Swit trunk all vlan 1-4

Swit trunk native 1

另外兩個端口做類似配置

下面是路由器的配置,使用邏輯連接配接方式,配置子接口

<b>Int g1/1.1                      </b><b>!!!</b><b>建立第一個子接口</b><b></b>

<b>Encap dot1q 1 native            </b><b>!!!</b><b>封裝模式為</b><b>dot1q</b><b>,本地</b><b>vlan</b><b>為</b><b>vlan1</b><b>(很重要!)</b><b></b>

<b>Ip add 192.168.10.1 255.255.255.0  </b><b>!!!</b><b>為該接口下的</b><b>vlan</b><b>設定網關</b><b></b>

Int g1/1.2

Encap dot1q 2

Ip add 192.168.20.1 255.255.255.0

Int g1/1.3

Encap dot1q 3

Ip add 192.168.30.1 255.255.255.0

Int g1/1.4

Encap dot1q 4

Ip add 192.168.40.1 255.255.255.0

如此這般,注意些細節問題一個簡單的vlan實驗差不多就可以完成了。vlan間可以互相通信,如果去掉路由的話,vlan間無法通信,但是vlan内可通信。

vlan trunk

下面是幾個需要注意的問題:

1.       某些交換機不支援DTP,如CISCO的2950和3500XL,他們總是處于nonegotiate狀态,是以他不會和對方的端口協商,隻有對方的端口為trunk或者nonegotiate狀态時才可能形成trunk

2.       選擇一條trunk鍊路的時候還要注意其封裝模式,不同的裝置封裝情況也差異。配置封裝模式的指令為:

<b>Swit trunk encap {isl | dot1q | negotiate}</b>

ISL是在802.Q标準出現之前的許多年就被Cisco制定了并專門用于Cisco裝置的一種标準。所有一些比較老的裝置隻支援ISL。但是這些年一些新的交換機也開始支援802.Q了,對自家的ISL反而不支援了,如2960交換機。2900XL和2500XL的trunk預設為ISL,2950和一些4000交換機則隻支援802.1q,在配置的時候我們注意這點就可以了,敲幾個指令試試看可否配置,不可配置的依預設的就可以了。本實驗的幾台機器都不支援此指令,是以無法使用。

3.  native vlan 在兩台相連的裝置之間必須要設定相同,否則将有非預期的結果,在另一篇轉載文章中有說明。因尚未試驗驗證,故不敢妄下斷言。

4.特别注意使用以下指令含義:

switch trunk allow vlan 10

此時的含義是隻允許通過VLAN 10

所有當我們連續敲上這樣的兩條指令的時候

switch trunk allow vlan 20

他的結果并不是允許vlan 10 和vlan 20 通過,而是隻允許vlan 20 通過。這一點要注意!正确的輸入指令如下:

switch trunk allow vlan add 10

switch trunk allow vlan add 20

當我們對通過的vlan沒有限制要求時,可以直接使用這一句:

switch trunk allow vlan all

繼續閱讀