計算機網路實驗:【Cisco Packet Tracer 實驗】

逸丶羲發表於2020-12-26
  1. Cisco Packet Tracer 實驗
    本部分實驗共有 15 個,需使用 Cisco Packet Tracer 軟體完成。

請大家先了解 VLSM、CIDR、RIP、OSPF、VLAN、STP、NAT 及 DHCP 等概念,以能夠進行網路規劃和配置。

? 參考

CPT 軟體使用簡介
請使用上面的參考連結 1 ,瞭解和熟悉 CPT 軟體的使用。

直接連線兩臺 PC 構建 LAN
將兩臺 PC 直接連線構成一個網路。注意:直接連線需使用交叉線。

進行兩臺 PC 的基本網路配置,只需要配置 IP 地址即可,然後相互 ping 通即成功。

用交換機構建 LAN
構建如下拓撲結構的區域網:

各PC的基本網路配置如下表:

機器名

IP

子網掩碼

PC0

192.168.1.1

255.255.255.0

PC1

192.168.1.2

255.255.255.0

PC2

192.168.2.1

255.255.255.0

PC3

192.168.2.2

255.255.255.0

✎ 問題

PC0 能否 ping 通 PC1、PC2、PC3 ?
PC3 能否 ping 通 PC0、PC1、PC2 ?為什麼?
將 4 臺 PC 的掩碼都改為 255.255.0.0 ,它們相互能 ping 通嗎?為什麼?
使用二層交換機連線的網路需要配置閘道器嗎?為什麼?
✎ 試一試

集線器 Hub 是工作在物理層的多介面裝置,它與交換機的區別是什麼?請在 CPT 軟體中用 Hub 構建網路進行實際驗證。

交換機介面地址列表
二層交換機是一種即插即用的多介面裝置,它對於收到的幀有 3 種處理方式:廣播、轉發和丟棄(請弄清楚何時進行何種操作)。那麼,要轉發成功,則交換機中必須要有介面地址列表即 MAC 表,該表是交換機通過學習自動得到的!

仍然構建上圖的拓撲結構,並配置各計算機的 IP 在同一個一個子網,使用工具欄中的放大鏡點選某交換機如左邊的 Switch3,選擇 MAC Table,可以看到最初交換機的 MAC 表是空的,也即它不知道該怎樣轉發幀(那麼它將如何處理?),用 PC0 訪問(ping)PC1 後,再檢視該交換機的 MAC 表,現在有相應的記錄,請思考如何得來。隨著網路通訊的增加,各交換機都將生成自己完整的 MAC 表,此時交換機的交換速度就是最快的!

? 祕籍

你還可以使用 CPT 的 Simulation 模式即模擬方式進一步看清楚這個過程!

生成樹協議(Spanning Tree Protocol)
交換機在目的地址未知或接收到廣播幀時是要進行廣播的。如果交換機之間存在迴路/環路,那麼就會產生廣播迴圈風暴,從而嚴重影響網路效能。

而交換機中執行的 STP 協議能避免交換機之間發生廣播迴圈風暴。

只使用交換機,構建如下拓撲:

這是初始時的狀態。我們可以看到交換機之間有迴路,這會造成廣播幀迴圈傳送即形成廣播風暴,嚴重影響網路效能。

隨後,交換機將自動通過生成樹協議(STP)對多餘的線路進行自動阻塞(Blocking),以形成一棵以 Switch4 為根(具體哪個是根交換機有相關的策略)的具有唯一路徑樹即生成樹!

經過一段時間,隨著 STP 協議成功構建了生成樹後,Switch5 的兩個介面當前物理上是連線的,但邏輯上是不通的,處於Blocking狀態(桔色)如下圖所示:

在網路執行期間,假設某個時候 Switch4 與 Switch5 之間的物理連線出現問題(將 Switch4 與 Switch5 的連線剪掉),則該生成樹將自動發生變化。Switch5 上方先前 Blocking 的那個介面現在活動了(綠色),但下方那個介面仍處於 Blocking 狀態(桔色)。如下圖所示:

? 注意

交換機的 STP 協議即生成樹協議始終自動保證交換機之間不會出現迴路,從而形成廣播風暴。

? 祕籍

使用 CPT 的 Simulation 即模擬方式可非常清楚看到這個過程!

路由器配置初步
我們模擬重慶交通大學和重慶大學兩個學校的連線,構建如下拓撲:

說明一
交通大學與重慶大學顯然是兩個不同的子網。在不同子網間通訊需通過路由器。

路由器的每個介面下至少是一個子網,圖中我們簡單的規劃了 3 個子網:

左邊路由器是交通大學的,其下使用交換機連線交通大學的網路,分配網路號 192.168.1.0/24,該路由器介面也是交通大學網路的閘道器,分配 IP 為 192.168.1.1
右邊路由器是重慶大學的,其下使用交換機連線重慶大學的網路,分配網路號 192.168.3.0/24,該路由器介面也是重慶大學網路的閘道器,分配 IP 為 192.168.3.1
兩個路由器之間使用廣域網介面相連,也是一個子網,分配網路號 192.168.2.0/24
說明二
現實中,交通大學和重慶大學的連線是遠端的。該連線要麼通過路由器的光纖介面,要麼通過廣域網介面即所謂的 serial 口(如拓撲圖所示)進行,一般不會通過雙絞線連線(為什麼?)。

下面我們以通過路由器的廣域網口連線為例來進行相關配置。請注意:我們選用的路由器預設沒有廣域網模組(名稱為 WIC-1T 等),需要關閉路由器後新增,然後再開機啟動。

說明三
在模擬的廣域網連線中需注意 DCE 和 DTE 端(連線時線路上有提示,帶一個時鐘標誌的是 DCE 端。有關 DCE 和 DTE 的概念請查閱相關資料。),在 DCE 端需配置時脈頻率 64000

說明四
路由器有多種命令列配置模式,每種模式對應不同的提示符及相應的許可權。

請留意在正確的模式下輸入配置相關的命令。

User mode:使用者模式
Privileged mode:特權模式
Global configuration mode:全域性配置模式
Interface mode:介面配置模式
Subinterface mode:子介面配置模式
說明五
在現實中,對新的路由器,顯然不能遠端進行配置,我們必須在現場通過筆記本的串列埠與路由器的 console 介面連線並進行初次的配置(注意設定位元率為9600)後,才能通過網路遠端進行配置。這也是上圖左上畫出筆記本連線的用意。

說明六
在路由器的 CLI 介面中,可看到路由器剛啟動成功後,因為無任何配置,將會提示是否進行對話配置(Would you like to enter the initial configuration dialog?),因其步驟繁多,請選擇 NO

比如交通大學路由器的初步配置可以如下:

? 注意

在我們的實驗中可不進行如下的配置,但在現實中為了安全,以下的登入及特權密碼等配置是必須的,否則每個人都可操作你的路由器或交換機!

Router>en // 從普通模式進入特權模式
Router#conf t // 進入全域性配置模式
Router(config)#interface FastEthernet0/0
Router(config-if)#ip address 192.168.1.1 255.255.255.0
Router(config-if)#no shutdown
Router(config-if)#exit
Router(config)#line vty 0 4 //可支援0-4共5個終端同時登入
Router(config-line)#password dswybs // 遠端登入密碼
Router(config-line)#login
Router(config-line)#exit
Router(config)#enable password dswybs // 特權模式密碼
Router(config)#^Z // 退出
拓撲圖中路由器各介面配置資料如下:

介面名

IP

子網掩碼

交通大學 Router2 乙太網口

192.168.1.1

255.255.255.0

交通大學 Router2 廣域網口

192.168.2.1

255.255.255.0

重慶大學 Router3 乙太網口

192.168.3.1

255.255.255.0

重慶大學 Router3 廣域網口

192.168.2.2

255.255.255.0

拓撲圖中各 PC 配置資料如下:

節點名

IP

子網掩碼

閘道器

交通大學 PC0

192.168.1.2

255.255.255.0

192.168.1.1

交通大學 PC1

192.168.1.3

255.255.255.0

192.168.1.1

重慶大學 PC2

192.168.3.2

255.255.255.0

192.168.3.1

重慶大學 PC3

192.168.3.3

255.255.255.0

192.168.3.1

交通大學路由器基本配置如下:
乙太網口:

Router>enable // 從普通模式進入特權模式
Router#configure terminal // 進入全域性配置模式
Router(config)#interface f0/0 // 進入配置乙太網口模式
Router(config-if)#ip address 192.168.1.1 255.255.255.0 // 配置該介面的 IP
Router(config-if)#no shutdown // 啟用介面
Router(config-if)#^z // 直接退到特權模式
Router#
廣域網口:

Router>en // 從普通模式進入特權模式
Router#conf t // 進入全域性配置模式
Router(config)#int s0/0 // 進入配置廣域網口模式
Router(config-if)#ip address 192.168.2.1 255.255.255.0 //配置該介面的 IP
Router(config-if)#clock rate 64000 // 其為 DCE 端,配置時脈頻率
Router(config-if)#no shutdown // 啟用介面
Router(config-if)#^z // 直接退到特權模式
Router#
重慶大學路由器基本配置如下:
乙太網口:

Router>en // 從普通模式進入特權模式
Router#conf t // 進入全域性配置模式
Router(config)#int f0/0 // 進入配置乙太網口模式
Router(config-if)#ip address 192.168.3.1 255.255.255.0 // 配置該介面的 IP
Router(config-if)#no shutdown // 啟用介面
Router(config-if)#^z // 直接退到特權模式
Router#
廣域網口:

Router>en // 從普通模式進入特權模式
Router#conf t // 進入全域性配置模式
Router(config)#int s0/0 // 進入配置廣域網口模式
Router(config-if)#ip address 192.168.2.2 255.255.255.0 //配置該介面的 IP
Router(config-if)#no shutdown // 啟用介面
Router(config-if)#^z // 直接退到特權模式
Router#
至此,路由器基本的配置完成。請按照上面 PC 配置表繼續配置各個 PC 。

✎ 問題

現在交通大學內的各 PC 及閘道器相互能 ping 通,重慶大學也類似。但不能從交大的 PC ping 通重大的 PC,反之亦然,也即不能跨子網。為什麼?

靜態路由
靜態路由是非自適應性路由協議,是由網路管理人員手動配置的,不能夠根據網路拓撲的變化而改變。 因此,靜態路由簡單高效,適用於結構非常簡單的網路。

在當前這個簡單的拓撲結構中我們可以使用靜態路由,即直接告訴路由器到某網路該怎麼走即可。

在前述路由器基本配置成功的情況下使用以下命令進行靜態路由協議的配置:

交通大學路由器靜態路由配置:
Router>en // 從普通模式進入特權模式
Router#conf t // 進入全域性配置模式
Router(config)#ip route 192.168.3.0 255.255.255.0 192.168.2.2 // 告訴交通大學路由器到 192.168.3.0 這個網路的下一跳是 192.168.2.2
Router(config)#exit //退到特權模式
Router#show ip route //檢視路由表
重慶大學路由器靜態路由配置:
Router>en // 從普通模式進入特權模式
Router#conf t // 進入全域性配置模式
Router(config)#ip route 192.168.1.0 255.255.255.0 192.168.2.1 // 告訴重慶大學路由器到 192.168.1.0 這個網路的下一跳是 192.168.2.1
Router(config)#exit //退到特權模式
Router#show ip route //檢視路由表
檢視路由表你可看到標記為 S 的一條路由,S 表示 Static 。

至此,這些 PC 能全部相互 ping 通!

? 注意

我們的拓撲只模擬了 3 個網路。在現實中,路由器連線的網路數量非常多,我們還需要配置一條預設路由,否則其它網路皆不能到達!當然,我們的拓撲可以不考慮。

Router(config)#ip route 0.0.0.0 0.0.0.0 ... // 預設全部轉發給 ... 這個IP

動態路由 RIP
動態路由協議採用自適應路由演算法,能夠根據網路拓撲的變化而重新計算機最佳路由。

RIP 的全稱是 Routing Information Protocol,是距離向量路由的代表(目前雖然淘汰,但可作為我們學習的物件)。使用 RIP 協議只需要告訴路由器直接相連有哪些網路即可,然後 RIP 根據演算法自動構建出路由表。

因為我們模擬的網路非常簡單,因此不能同時使用靜態和動態路由,否則看不出效果,所以我們需要把剛才配置的靜態路由先清除掉。

清除靜態路由配置:
直接關閉路由器電源。相當於沒有儲存任何配置,然後各介面再按照前面基本配置所述重新配置 IP 等引數(推薦此方法,可以再熟悉一下介面的配置命令);
使用 no 命令清除靜態路由。在全域性配置模式下,交通大學路由器使用:no ip route 192.168.3.0 255.255.255.0 192.168.2.2,重慶大學路由器使用:no ip route 192.168.1.0 255.255.255.0 192.168.2.1 。相當於使用 no 命令把剛才配置的靜態路由命令給取消。
交通大學路由器 RIP 路由配置:
Router>en // 從普通模式進入特權模式
Router#conf t // 進入全域性配置模式
Router(config)#router rip // 啟用 RIP 路由協議,注意是 router 命令
Router(config-router)#network 192.168.1.0 // 網路 192.168.1.0 與我直連
Router(config-router)#network 192.168.2.0 // 網路 192.168.2.0 與我直連
Router(config-router)#^z //直接退到特權模式
Router#show ip route //檢視路由表
重慶大學路由器 RIP 路由配置:
Router>en // 從普通模式進入特權模式
Router#conf t // 進入全域性配置模式
Router(config)#router rip // 啟用RIP路由協議,注意是 router 命令
Router(config-router)#network 192.168.3.0 // 網路 192.168.3.0 與我直連
Router(config-router)#network 192.168.2.0 // 網路 192.168.2.0 與我直連
Router(config-router)#^z //直接退到特權模式
Router#show ip route //檢視路由表
檢視路由表你可看到標記為 R 的一條路由,R 表示 RIP 。

至此,這些 PC 也能全部相互 ping 通!

? 祕籍

可以在特權模式下使用 debug ip rip 開啟 RIP 診斷,此時會看到路由器之間不停傳送的距離向量資訊,以判斷網路狀態是否發生改變從而更新路由表。該命令會不停的顯示相關資訊,打擾我們的輸入,可使用 no debug ip rip 關閉 RIP 診斷

動態路由 OSPF
OSPF(Open Shortest Path First 開放式最短路徑優先)是一個內部閘道器協議(Interior Gateway Protocol,簡稱 IGP), 用於在單一自治系統(Autonomous System,AS)內決策路由。OSPF 效能優於 RIP,是當前域內路由廣泛使用的路由協議。

同樣的,我們需要把剛才配置的 RIP 路由先清除掉。

清除 RIP 路由配置:
直接關閉路由器電源。相當於沒有儲存任何配置,然後各介面再按照前面基本配置所述重新配置 IP 等引數
使用 no 命令清除 RIP 路由。在全域性配置模式下,各路由器都使用:no router rip 命令進行清除
交通大學路由器 OSPF 路由配置:
Router>en // 從普通模式進入特權模式
Router#conf t // 進入全域性配置模式
Router(config)#router ospf 1 // 啟用 OSPF 路由協議,程式號為1(可暫不理會程式號概念)
Router(config-router)#network 192.168.1.0 0.0.0.255 area 0 // 自治域0中的屬於 192.168.1.0/24 網路的所有主機(反向掩碼)參與 OSPF
Router(config-router)#network 192.168.2.0 0.0.0.255 area 0 // 自治域0中的屬於 192.168.2.0/24 網路的所有主機(反向掩碼)參與 OSPF
Router(config-router)#^z //直接退到特權模式
Router#show ip route //檢視路由表
重慶大學路由器 OSPF 路由配置:
Router>en // 從普通模式進入特權模式
Router#conf t // 進入全域性配置模式
Router(config)#router ospf 1 // 啟用 OSPF 路由協議,程式號為1
Router(config-router)#network 192.168.3.0 0.0.0.255 area 0 // 自治域0中的屬於 192.168.3.0/24 網路的所有主機(反向掩碼)參與 OSPF
Router(config-router)#network 192.168.2.0 0.0.0.255 area 0 // 自治域0中的屬於 192.168.2.0/24 網路的所有主機(反向掩碼)參與 OSPF
Router(config-router)#^z //直接退到特權模式
Router#show ip route //檢視路由表
檢視路由表你可看到標記為 O 的一條路由,O 表示 OSPF 。

至此,這些 PC 能全部相互 ping 通!

? 祕籍

可以在特權模式下使用 debug ip ospf events 開啟 OSPF 診斷(no debug ip ospf events 關閉診斷), 可看到路由器之間傳送的 Hello 資訊用以診斷當前的鏈路是否發生改變以便進行路由調整(事件觸發而非定時更新!)。

? 反向掩碼

我們常見的子網掩碼是所謂的正向掩碼,用連續的 1 和 0 來表示,其中 1 表示需精確匹配, 0 則無需,以此得到網路號。

類似的,反向掩碼也使用連續的 1 和 0 來表示,但相反,其中 0 表示需精確匹配, 1 則無需,以此得到相關的 IP,主要用於 OSPF 中。

還有一個萬用字元掩碼,也採用與反向掩碼相似的規則,主要用於訪問控制列表 ACL 中。

請參見:

https://zhuanlan.zhihu.com/p/72863128
https://www.bilibili.com/read/cv311291/
https://zhidao.baidu.com/question/1801513609594810827.html
✎ 試一試

可構造稍微複雜的拓撲(有更多的路由器即更多的路徑),檢視其路由表的生成,並且故意 down 下某介面以模擬路由器介面出現問題,或者剪掉路由器之間的連線以模擬網路連線出現故障等,從而更直觀的看看路由自動的動態改變。

基於埠的網路地址翻譯 PAT
網路地址轉換(NAT,Network Address Translation)被各個 Internet 服務商即 ISP 廣泛應用於它們的網路中,也包括 WiFi 網路。 原因很簡單,NAT 不僅完美地解決了 lP 地址不足的問題,而且還能夠有效地避免來自網路外部的攻擊,隱藏並保護網路內部的計算機。

NAT 的實現方式一般有三種:

靜態轉換: Static NAT
動態轉換: Dynamic NAT
埠多路複用: OverLoad
埠多路複用使用最多也最靈活。OverLoad 是指不僅改變發向 Internet 資料包的源 IP 地址,同時還改變其源埠,即進行了埠地址轉換(PAT,Port Address Translation)。

採用埠多路複用方式,內部網路的所有主機均可共享一個合法外部 IP 地址實現對 Internet 的訪問,從而可以最大限度地節約IP地址資源。 同時,又可隱藏網路內部的所有主機,有效避免來自 Internet 的攻擊。因此,目前網路中應用最多的就是埠多路複用方式。

我們仍然使用重慶交通大學和重慶大學兩個學校的拓撲進行 PAT 實驗。我們需要保證兩個學校的路由已經配置成功,無論使用靜態路由還是動態路由,以下我們給出完整的配置過程:設定這兩個學校的路由器使用 OSPF 協議,模擬交通大學使用內部 IP 地址(192.168.1.0/24),模擬重慶大學使用外部 IP 地址(8.8.8.0/24),兩個路由器之間使用外部 IP 地址(202.202.240.0/24),在交通大學的出口位置即廣域網口實施 PAT。

拓撲圖中各 PC 配置資料如下:

節點名

IP

子網掩碼

閘道器

交通大學 PC0

192.168.1.2

255.255.255.0

192.168.1.1

交通大學 PC1

192.168.1.3

255.255.255.0

192.168.1.1

重慶大學 PC2

8.8.8.2

255.255.255.0

8.8.8.1

重慶大學 PC3

8.8.8.3

255.255.255.0

8.8.8.1

? 請留意重慶大學兩個 PC 的網路配置發生改變,我們模擬為外部/公網 IP 地址!

拓撲圖中路由器各介面配置資料如下:

介面名

IP

子網掩碼

交通大學 Router2 乙太網口

192.168.1.1

255.255.255.0

交通大學 Router2 廣域網口

202.202.240.1

255.255.255.0

重慶大學 Router3 乙太網口

8.8.8.1

255.255.255.0

重慶大學 Router3 廣域網口

202.202.240.2

255.255.255.0

? 請留意重慶大學路由器兩個介面及交通大學廣域網口的網路配置發生改變,然後配置 OSPF 路由,最後在交通大學路由器的廣域網口實施 PAT!

交通大學路由器介面配置如下:
乙太網口:

Router>en // 從普通模式進入特權模式
Router#conf t // 進入全域性配置模式
Router(config)#int f0/0 // 進入配置乙太網口模式
Router(config-if)#ip address 192.168.1.1 255.255.255.0 // 配置 IP
Router(config-if)#no shutdown // 啟用介面
廣域網口:

Router>en // 從普通模式進入特權模式
Router#conf t // 進入全域性配置模式
Router(config)#int s0/0 // 進入配置廣域網口模式
Router(config-if)#ip address 202.202.240.1 255.255.255.0 //配置 IP
Router(config-if)#clock rate 64000 // 其為 DCE 端,配置時脈頻率
Router(config-if)#no shutdown // 啟用介面
重慶大學路由器介面配置如下:
乙太網口:

Router>en // 從普通模式進入特權模式
Router#conf t // 進入全域性配置模式
Router(config)#int f0/0 // 進入配置乙太網口模式
Router(config-if)#ip address 8.8.8.1 255.255.255.0 // 配置 IP
Router(config-if)#no shutdown // 啟用介面
廣域網口:

Router>en // 從普通模式進入特權模式
Router#conf t // 進入全域性配置模式
Router(config)#int s0/0 // 進入配置廣域網口模式
Router(config-if)#ip address 202.202.240.2 255.255.255.0 // 配置 IP
Router(config-if)#no shutdown // 啟用介面
交通大學路由器 OSPF 路由配置:
Router>en // 從普通模式進入特權模式
Router#conf t // 進入全域性配置模式
Router(config)#router ospf 1 // 啟用 OSPF 路由協議,程式號為1(可暫不理會程式號概念)
Router(config-router)#network 192.168.1.0 0.0.0.255 area 0 // 自治域0中的屬於192.168.1.0/24網路的所有主機(反向掩碼)參與 OSPF
Router(config-router)#network 202.202.240.0 0.0.0.255 area 0 // 自治域0中的屬於202.202.240.0/24網路的所有主機(反向掩碼)參與 OSPF
重慶大學路由器 OSPF 路由配置:
Router>en // 從普通模式進入特權模式
Router#conf t // 進入全域性配置模式
Router(config)#router ospf 1 // 啟用 OSPF 路由協議,程式號為1
Router(config-router)#network 202.202.240.0 0.0.0.255 area 0 // 自治域0中的屬於202.202.240.0/24網路的所有主機(反向掩碼)參與 OSPF
Router(config-router)#network 8.8.8.0 0.0.0.255 area 0 // 自治域0中的屬於8.8.8.0/24網路的所有主機(反向掩碼)參與 OSPF
此時,這些 PC 能全部相互 ping 通!如在交通大學內部使用 PC0(192.168.1.2)來 ping 重慶大學的PC2(8.8.8.2)應該成功。

下面我們將重慶大學的路由器看著 Internet 中的骨幹路由器,那麼這些路由器將不會轉發內部/私有 IP 地址的包(直接丟棄)。我們通過在重慶大學路由器上實施訪問控制 ACL ,即丟棄來自交通大學(私有 IP 地址)的包來模擬這個丟包的過程。

重慶大學路由器丟包的配置:
Router>en // 從普通模式進入特權模式
Router#conf t // 進入全域性配置模式
Router(config)#access-list 1 deny 192.168.1.0 0.0.0.255 // 建立 ACL 1,丟棄/不轉發來自 192.168.1.0/24 網路的所有包
Router(config)#access-list 1 permit any // 新增 ACL 1 的規則,轉發其它所有網路的包
Router(config)#int s0/0 // 配置廣域網口
Router(config-if)#ip access-group 1 in // 在廣域網口上對進來的包實施 ACL 1 中的規則,實際就是廣域網口如果收到來自 192.168.1.0/24 IP的包即丟棄
此時,再使用交通大學內部的 PC0(192.168.1.2)來 ping 重慶大學的 PC2(8.8.8.2)就不成功了,會顯示目的主機不可到達(Destination host unreachable)資訊。

? 祕籍

ping 的同時,在 CPT 軟體中使用模擬(Simulation)方式會看得非常清楚:重慶大學路由器的廣域網口將來自交通大學的包丟棄了!

下面,我們就開始實施 PAT。即:我們將會在交通大學路由器的出口上將內部/私有 IP 地址轉換為外部/公開 IP,從而包的源 IP 發生了改變,就不會被重慶大學路由器丟棄,因此網路連通。

交通大學路由器 PAT 配置:
Router>en // 從普通模式進入特權模式
Router#conf t // 進入全域性配置模式
Router(config)#access-list 1 permit 192.168.1.0 0.0.0.255 // 建立 ACL 1,允許來自 192.168.1.0/24 網路的所有包
Router(config)#ip nat inside source list 1 interface s0/0 overload // 來自於 ACL 中的 IP 將在廣域網口實施 PAT
Router(config)#int f0/0 // 配置乙太網口
Router(config-if)#ip nat inside // 配置乙太網口為 PAT 的內部
Router(config)#int s0/0 // 配置廣域網口
Router(config-if)#ip nat outside // 配置廣域網口為 PAT 的外部
現在,再次使用交通大學內部的 PC0(192.168.1.2)來 ping 重慶大學的PC2(8.8.8.2)則OK。

? 祕籍

ping 成功後,在交通大學路由器特權配置模式下使用 show ip nat translations 可檢視這個翻譯的過程!

虛擬區域網 VLAN
在實際網路中(如我校的網路),你可看到路由器一般位於網路的邊界,而內部幾乎全部使用交換機連線。

前面我們分析過,交換機連線的是同一個子網! 顯然,在這樣一個大型規模的子網中進行廣播甚至產生廣播風暴將嚴重影響網路效能甚至癱瘓。

另外我們也已經知道,其實學校是劃分了 N 多個子網的,那麼這些交換機連線的就絕不是一個子網!這樣矛盾的事情該如何解釋呢?我們實際上使用了支援 VLAN 的交換機!而前述的交換機只是普通的 2 層交換機(或者我們把它當作 2 層交換機在使用。

VLAN(Virtual Local Area Network)即虛擬區域網。通過劃分 VLAN,我們可以把一個物理網路劃分為多個邏輯網段即多個子網。

劃分 VLAN 後可以杜絕網路廣播風暴,增強網路的安全性,便於進行統一管理等。

在 CPT 中構建如下圖所示拓撲:

Cisco 2960 交換機是支援 VLAN 的交換機,共有 24 個 100M 和 2 個 1000M 乙太網口。預設所有的介面都在 VLAN 1 中,故此時連線上來的計算機都處於同一 VLAN,可以進行通訊。

下面我們就該交換機的 24 個 100M 介面分為 3 個部分,劃分到 3 個不同的 VLAN 中,id 號分別設為 10、20、30,且設定別名(computer、communication、electronic)以利於區分和管理。

交換機 VLAN 配置:
Switch>en
Switch#conf t
Switch(config)#vlan 10 // 建立 id 為 10 的 VLAN(預設的,交換機所有介面都屬於VLAN 1,不能使用)
Switch(config-vlan)#name computer // 設定 VLAN 的別名
Switch(config-vlan)#exit
Switch(config)#int vlan 10 // 該 VLAN 為一個子網,設定其 IP,作為該子網閘道器
Switch(config-if)#ip address 192.168.0.1 255.255.255.0
Switch(config-if)#exit
Switch(config)#vlan 20 // 建立 id 為 20 的 VLAN
Switch(config-vlan)#name communication //設定別名
Switch(config-vlan)#exit
Switch(config)#int vlan 20
Switch(config-if)#ip addr 192.168.1.1 255.255.255.0
Switch(config-if)#exit
Switch(config)#vlan 30 // 建立 id 為 20 的 VLAN
Switch(config-vlan)#name electronic // 設定別名
Switch(config-vlan)#exit
Switch(config)#int vlan 30
Switch(config-if)#ip add 192.168.2.1 255.255.255.0
Switch(config-if)#exit
Switch(config)#int range f0/1-8 // 成組配置介面(1-8)
Switch(config-if-range)#switchport mode access // 設定為存取模式
Switch(config-if-range)#switchport access vlan 10 // 劃歸到 VLAN 10 中
Switch(config-if-range)#exit
Switch(config)#int range f0/9-16
Switch(config-if-range)#switchport mode access
Switch(config-if-range)#switchport access vlan 20
Switch(config-if-range)#exit
Switch(config)#int range f0/17-24
Switch(config-if-range)#switchport mode access
Switch(config-if-range)#switchport access vlan 30
Switch(config-if-range)#^Z
Switch#show vlan // 檢視 VLAN 的劃分情況
至此,在該交換機上我們就劃分了 3 個 VLAN(不包括預設的 VLAN 1)。

各 VLAN 下 PC 的網路配置及連線的交換機介面如下表:

機器名

連線的介面

所屬VLAN

IP

子網掩碼

閘道器

PC0

F0/1

VLAN 10

192.168.0.2

255.255.255.0

192.168.0.1

PC1

F0/2

VLAN 10

192.168.0.3

255.255.255.0

192.168.0.1

PC2

F0/17

VLAN 30

192.168.2.2

255.255.255.0

192.168.2.1

PC3

F0/9

VLAN 20

192.168.1.2

255.255.255.0

192.168.1.1

PC4

F0/10

VLAN 20

192.168.1.3

255.255.255.0

192.168.1.1

PC5

F0/18

VLAN 30

192.168.2.3

255.255.255.0

192.168.2.1

PC6

F0/19

VLAN 30

192.168.2.4

255.255.255.0

192.168.2.1

此時可以使用 ping 命令進行測試,你會發現只有在同一 VLAN 中的 PC 才能通訊,且廣播也侷限於該 VLAN。

✎ 思考

分析一下當前為何不同 VLAN 中的 PC 不能通訊?閘道器在此起什麼作用?我們的閘道器又在何處?如何發起廣播測試?

虛擬區域網管理 VTP
前一個實驗我們在交換機上進行了 VLAN 的規劃和劃分。但在實際應用中,我們絕不允許在這些支援VLAN的交換機上進行隨意的 VLAN 劃分,如此將造成管理混亂!VLAN的劃分必須得到統一的規劃和管理,這就需要 VTP 協議。

VTP(VLAN Trunk Protocol)即 VLAN 中繼協議。VTP 通過 ISL 幀或 Cisco 私有 DTP 幀(可查閱相關資料瞭解)保持 VLAN 配置統一性,也被稱為虛擬區域網幹道協議,它是思科私有協議。 VTP 統一管理、增加、刪除、調整VLAN,自動地將資訊向網路中其它的交換機廣播。

此外,VTP 減小了那些可能導致安全問題的配置,只要在 VTP Server 做相應設定,VTP Client 會自動學習 VTP Server 上的 VLAN 資訊。

為演示 VTP,重新構建如下拓撲結構:

? 注意:

作為幹線,兩個 2960 交換機和核心的 3560 交換機應該使用 Gbit 口相連。這雖然不是必須,但現實中這樣連線效能最好。

3560 交換機是網路中的核心交換機,我們將其作為 VTP Server,VTP 域及 VLAN 將在其上建立和管理。

兩個 2960 交換機是是區域網中的匯聚層/接入層交換機,將作為 VTP Client,可決定加入的 VTP 域和 VLAN。

目前該網路都屬於 VLAN 1,也即這些 PC 是可以相互通訊的。前面說過,無論對於效能、管理還是安全等而言,現實中我們必須進行 VLAN 劃分。

現在我們的要求是:新建兩個 VLAN,然後讓 PC0 和 PC1 屬於 VLAN 2,PC1 和 PC3 屬於 VLAN 3。

我們將在核心交換機 3560上進行如下工作:

設定為 server 模式,VTP 域為 cqjtu
新建 VLAN 2,網路號 192.168.1.0/24,閘道器 192.168.1.1
新建 VLAN 3,網路號 192.168.2.0/24,閘道器 192.168.2.1
3560 VTP Server 配置:
Switch>en
Switch#conf t
Switch(config)#hostname 3560 // 更改交換機名稱(可選)
3560(config)#vtp domain cqjtu // 設定 VTP 域名稱為 cqjtu
3560(config)#vtp mode server // 設定其為 VTP 伺服器模式
3560(config)#vlan 2 // 新建VLAN 2
3560(config-vlan)#name computer // 設定 VLAN 2 的別名(可選)
3560(config-vlan)#exit
3560(config)#vlan 3 // 再建 VLAN 3
3560(config-vlan)#name communication //設定 VLAN 2 的別名(可選)
3560(config-vlan)#exit
3560(config)#int vlan 2 // 配置介面 VLAN 2,它將是該子網(左邊)的閘道器
3560(config-if)#ip address 192.168.1.1 255.255.255.0
3560(config-if)#exit
3560(config)#int vlan 3 // 配置介面 VLAN 3,它將是該子網(右邊)的閘道器
3560(config-if)#ip address 192.168.2.1 255.255.255.0
我們將在左邊交換機 2960A 上進行如下工作:

加入名為 cqjtu 的 VTP 域
配置與核心交換機 3560 連線的千兆介面 g0/1 為 trunk 模式
將介面 f0/1 劃分到 VLAN 2 中
將介面 f0/2 劃分到 VLAN 3 中
2960A(左邊) VTP Client 配置:
Switch>en
Switch#conf t
Switch(config)#hostname 2960A // 更改交換機名稱(可選)
2960A(config)#vtp domain cqjtu // 加入名為 cqjtu 的 VTP 域
2960A(config)#vtp mode client // 設定模式為 VTP 客戶
2960A(config)#int g0/1 // 配置與核心交換機 3560 連線的 g0/1 千兆介面
2960A(config-if)#switchport mode trunk // 設定該介面為中繼(trunk)模式
2960A(config-if)#switchport trunk allowed vlan all // 允許為所有的 VLAN 中繼
2960A(config-if)#exit
2960A(config)#int f0/1 // 配置介面 1
2960A(config-if)#switchport mode access // 設定該介面為正常訪問模式
2960A(config-if)#switchport access vlan 2 // 將介面劃分到 VLAN 2
2960A(config-if)#exit
2960A(config)#int f0/2 // 配置介面 2
2960A(config-if)#switchport mode access // 設定該介面為正常訪問模式
2960A(config-if)#switchport access vlan 3 // 將介面劃分到 VLAN 3
我們將在右邊交換機 2960B 上進行同樣的工作:

加入名為 cqjtu VTP 域
配置與核心交換機 3560 連線的千兆介面 g0/1 為 trunk 模式
將介面 f0/1 劃分到 VLAN 2 中
將介面 f0/2 劃分到 VLAN 3 中
2960B(右邊) VTP Client 配置:
Switch>en
Switch#conf t
Switch(config)#hostname 2960B // 更改交換機名稱(可選)
2960B(config)#vtp domain cqjtu // 加入名為 cqjtu 的 VTP 域
2960B(config)#vtp mode client // 設定模式為 VTP 客戶
2960B(config)#int g0/1 // 配置與核心交換機 3560 連線的 g0/1 千兆介面
2960B(config-if)#switchport mode trunk // 設定該介面為中繼(trunk)模式
2960B(config-if)#switchport trunk allowed vlan all // 允許為所有的 VLAN 中繼
2960B(config-if)#exit
2960B(config)#int f0/1 // 配置介面 1
2960B(config-if)#switchport mode access // 設定該介面為正常訪問模式
2960B(config-if)#switchport access vlan 2 // 將介面劃分到 VLAN 2
2960B(config-if)#exit
2960B(config)#int f0/2 // 配置介面 2
2960B(config-if)#switchport mode access // 設定該介面為正常訪問模式
2960B(config-if)#switchport access vlan 3 // 將介面劃分到 VLAN 3
至此,各交換機配置完畢。

? 祕籍

此時在 3 個交換機的特權模式下,都可使用show vtp status命令檢視 VTP 狀態,使用show vlan命令檢視 VLAN 狀態

各 PC 連線的交換機和介面以及網路配置如下:

機器名

連線的交換機和介面

所屬VLAN

IP

子網掩碼

閘道器

PC0

2960A-F0/1

VLAN 2

192.168.1.2

255.255.255.0

192.168.1.1

PC1

2960A-F0/2

VLAN 3

192.168.2.2

255.255.255.0

192.168.2.1

PC2

2960B-F0/1

VLAN 2

192.168.1.3

255.255.255.0

192.168.1.1

PC3

2960B-F0/2

VLAN 3

192.168.2.3

255.255.255.0

192.168.2.1

至此,VTP 配置完成。同 VLAN 可以 ping 通,而不同 VLAN 不行(即使在同一交換機下,如從 PC0 到 PC1),且能夠方便的統一規劃和管理。

✎ 試一試

使用 PC0(192.168.1.2) ping PC1(192.168.2.2) 的結果如何?使用 PC0 ping PC2 的結果如何?想想為什麼?

VLAN 間的通訊
VTP 只是給我們劃分和管理 VLAN 提供了方便,由上面的測試得知,目前我們仍然不能在 VLAN 間通訊。

因為預設的,VLAN 間是不允許進行通訊,此時我們需要所謂的獨臂路由器在 VLAN 間為其進行轉發!

我們使用的核心交換機 3560 是個 3 層交換機,可工作在網路層,也稱路由交換機,即具有路由功能,能進行這種轉發操作。

3560 交換機配置:
3560>en
3560#conf t
3560(config)#int g0/1 // 配置連線左邊 2960A 交換機的介面
3560(config-if)#switchport trunk encapsulation dot1q // 封裝 VLAN 協議
3560(config-if)#switchport mode trunk // 設定為中繼模式
3560(config-if)#switchport trunk allowed vlan all // 在所有 VLAN 間轉發
3560(config-if)#exit
3560(config)#int g0/2 // 配置連線右邊 2960B 交換機的介面
3560(config-if)#switchport trunk encapsulation dot1q //封裝 VLAN 協議
3560(config-if)#switchport mode trunk // 設定為中繼模式
3560(config-if)#switchport trunk allowed vlan all // 在所有 VLAN 間轉發
3560(config-if)#exit
3560(config)#ip routing // 啟用路由轉發功能
至此,各 VLAN 中的 PC 可以正常通訊。

✎ 試一試

現在再使用 PC0(192.168.1.2) ping PC1(192.168.2.2) 的結果如何?使用 PC0 ping PC2 的結果如何?

? 獨臂路由的缺陷

當使用 CPT 的模擬方式進行上面的測試時( PC0 ping PC1),你會非常清楚的看到 ICMP 包全部都由 3560 交換機在轉發,非常容易形成瓶頸。

現實中,我們一般不使用這種方式,而是真正使用其三層轉發功能,即"一次路由多次交換",請查閱相關資料。

DHCP、DNS及Web伺服器簡單配置
動態主機配置 DHCP、域名解析 DNS 以及 Web 服務在日常應用中作用巨大,我們構建如下簡單的拓撲來進行練習。

該拓撲中,伺服器及客戶機都連在同一交換機上。為簡單起見,伺服器 Server-PT 同時作為 DHCP、DNS 以及 Web 伺服器,各客戶機無需配置,將自動獲取網路配置。

點選 CPT 拓撲圖中的 Server 圖示,設定其靜態 IP 地址為 19.89.6.4/24,然後選擇 Service 進行如下相關配置:

機器名

配置專案

說明

Server

HTTP

開啟即可

Server

DNS

19.89.6.4:www.google.com、www.baidu.com

Server

DHCP

地址池開始地址:19.89.6.10/24,並返回DNS地址

PC

網路配置

自動獲取

✎ 試一試

先檢視各 PC,看看是否獲得網路配置
因為我們在 DNS 伺服器中把谷歌和百度的 IP 都設為了 19.89.6.4,即 Server-PT,所以,如果開啟 PC0 的瀏覽器,輸入 www.google.com 或者 www.baidu.com,我們都應該看到預設的 Server-PT 這個 Web 伺服器的主頁(你也可進行編輯)
WLAN初步配置
WLAN 即 WiFi 當前也是廣泛的應用在各種場景。

我們通過構建如下拓撲的一個家庭 WLAN 來練習一下其相關的配置:

? 祕籍

筆記本及桌上型電腦預設只有有線網路卡,請先關機,在關機狀態下刪除有線網路卡,新增無線網路卡,然後再開機。

一般地,我們需要配置無線路由器的基本網路配置(IP、掩碼、閘道器、DNS 等,現實中多為自動獲取),然後再配置無線路由器的無線訪問部分如連線密碼及加密型別等,並開啟 DHCP 功能等。有關配置請參考相關資料。

相關文章