歡迎光臨
每天分享高質量文章

Linux 局域網路由新手指南:第 2 部分 | Linux 中國

今天我們繼續學習更精彩的內容:局域網路由器。
— Carla Schroder


致謝
編譯自 | https://www.linux.com/learn/intro-to-linux/2018/3/linux-lan-routing-beginners-part-2 
 作者 | Carla Schroder
 譯者 | qhwdw ? ? ? ? ? 共計翻譯:112 篇 貢獻時間:199 天

上周 我們學習了 IPv4 地址[1] 和如何使用管理員不可或缺的工具 —— ipcalc,今天我們繼續學習更精彩的內容:局域網路由器。

VirtualBox 和 KVM 是測試路由的好工具,在本文中的所有示例都是在 KVM 中執行的。如果你喜歡使用物理硬體去做測試,那麼你需要三台計算機:一臺用作路由器,另外兩台用於表示兩個不同的網絡。你也需要兩台以太網交換機和相應的線纜。

我們假設這個示例是一個有線以太局域網,為了更符合真實使用場景,我們將假設有一些橋接的無線接入點,當然我並不會使用這些無線接入點做任何事情。(我也不會去嘗試所有的無線路由器,以及使用一個移動寬帶設備連接到以太網的局域網口進行混合組網,因為它們需要進一步的安裝和設置)

網段

最簡單的網段是兩台計算機連接在同一個交換機上的相同地址空間中。這樣兩台計算機不需要路由器就可以相互通訊。這就是我們常說的術語 —— “廣播域”,它表示所有在相同的網絡中的一組主機。它們可能連接到一臺單個的以太網交換機上,也可能是連接到多台交換機上。一個廣播域可以包括通過以太網橋連接的兩個不同的網絡,通過網橋可以讓兩個網絡像一個單個網絡一樣運轉。無線訪問點一般是橋接到有線以太網上。

一個廣播域僅當在它們通過一臺網絡路由器連接的情況下,才可以與不同的廣播域進行通訊。

簡單的網絡

以下示例的命令並不是永久生效的,重啟之後你所做的改變將會消失。

一個廣播域需要一臺路由器才可以與其它廣播域通訊。我們使用兩台計算機和 ip 命令來解釋這些。我們的兩台計算機是 192.168.110.125 和 192.168.110.126,它們都插入到同一臺以太網交換機上。在 VirtualBox 或 KVM 中,當你配置一個新網絡的時候會自動創建一個虛擬交換機,因此,當你分配一個網絡到虛擬虛擬機上時,就像是插入一個交換機一樣。使用 ip addr show去查看你的地址和網絡接口名字。現在,這兩台主機可以互 ping 成功。

現在,給其中一臺主機添加一個不同網絡的地址:

  1. # ip addr add 192.168.120.125/24 dev ens3

你可以指定一個網絡接口名字,在示例中它的名字是 ens3。這不需要去添加一個網絡前綴,在本案例中,它是 /24,但是顯式地添加它並沒有什麼壞處。你可以使用 ip 命令去檢查你的配置。下麵的示例輸出為了清晰其見進行了刪減:

  1. $ ip addr show

  2. ens3:

  3. inet 192.168.110.125/24 brd 192.168.110.255 scope global dynamic ens3

  4. valid_lft 875sec preferred_lft 875sec

  5. inet 192.168.120.125/24 scope global ens3

  6. valid_lft forever preferred_lft forever

主機在 192.168.120.125 上可以 ping 它自己(ping 192.168.120.125),這是對你的配置是否正確的一個基本校驗,這個時候第二台計算機就已經不能 ping 通那個地址了。

現在我們需要做一些網絡變更。添加第三台主機作為路由器。它需要兩個虛擬網絡接口並添加第二個虛擬網絡。在現實中,你的路由器必須使用一個靜態 IP 地址,但是現在,我們可以讓 KVM 的 DHCP 服務器去為它分配地址,所以,你僅需要兩個虛擬網絡:

◈ 第一個網絡:192.168.110.0/24
◈ 第二個網絡:192.168.120.0/24

接下來你的路由器必須配置去轉發資料包。資料包轉發預設是禁用的,你可以使用 sysctl 命令去檢查它的配置:

  1. $ sysctl net.ipv4.ip_forward

  2. net.ipv4.ip_forward = 0

0 意味著禁用,使用如下的命令去啟用它:

  1. # echo 1 > /proc/sys/net/ipv4/ip_forward

接下來配置你的另一臺主機做為第二個網絡的一部分,你可以通過將原來在 192.168.110.0/24 的網絡中的一臺主機分配到 192.168.120.0/24 虛擬網絡中,然後重新啟動兩個 “連網的” 主機,註意不是路由器。(或者重啟動主機上的網絡服務;我年齡大了還有點懶,我記不住那些重啟服務的奇怪命令,還不如重啟主機來得乾脆。)重啟後各台機器的地址應該如下所示:

◈ 主機 1: 192.168.110.125
◈ 主機 2: 192.168.120.135
◈ 路由器: 192.168.110.126 和 192.168.120.136

現在可以去隨意 ping 它們,可以從任何一臺計算機上 ping 到任何一臺其它計算機上。使用虛擬機和各種 Linux 發行版做這些事時,可能會產生一些意想不到的問題,因此,有時候 ping 的通,有時候 ping 不通。不成功也是一件好事,這意味著你需要動手去創建一條靜態路由。首先,查看已經存在的路由表。主機 1 和主機 2 的路由表如下所示:

  1. $ ip route show

  2. default via 192.168.110.1 dev ens3 proto static metric 100

  3. 192.168.110.0/24 dev ens3 proto kernel scope link src 192.168.110.164 metric 100

  4. $ ip route show

  5. default via 192.168.110.1 dev ens3 proto static metric 100

  6. default via 192.168.120.1 dev ens3 proto static metric 101

  7. 169.254.0.0/16 dev ens3 scope link metric 1000

  8. 192.168.110.0/24 dev ens3 proto kernel scope link

  9. src 192.168.110.126 metric 100

  10. 192.168.120.0/24 dev ens9 proto kernel scope link

  11. src 192.168.120.136 metric 100

這顯示了我們使用的由 KVM 分配的預設路由。169.* 地址是自動鏈接的本地地址,我們不去管它。接下來我們看兩條路由,這兩條路由指向到我們的路由器。你可以有多條路由,在這個示例中我們將展示如何在主機 1 上添加一個非預設路由:

  1. # ip route add 192.168.120.0/24 via 192.168.110.126 dev ens3

這意味著主機 1 可以通過路由器接口 192.168.110.126 去訪問 192.168.110.0/24 網絡。看一下它們是如何工作的?主機 1 和路由器需要連接到相同的地址空間,然後路由器轉發到其它的網絡。

以下的命令去刪除一條路由:

  1. # ip route del 192.168.120.0/24

在真實的案例中,你不需要像這樣手動配置一臺路由器,而是使用一個路由器守護程式,並通過 DHCP 做路由器通告,但是理解基本原理很重要。接下來我們將學習如何去配置一個易於使用的路由器守護程式來為你做這些事情。

通過來自 Linux 基金會和 edX 的免費課程 “Linux 入門”[2] 來學習更多 Linux 的知識。


via: https://www.linux.com/learn/intro-to-linux/2018/3/linux-lan-routing-beginners-part-2

作者:CARLA SCHRODER[4] 譯者:qhwdw 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出

赞(0)

分享創造快樂