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

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)

分享創造快樂