交換機組建通信子網並通過macOS共享網絡

準備材料:

  1. 三個沒有聯網的樹莓派,所裝系統爲centos7;
  2. 一個交換機;
  3. MacBook一臺;
  4. 正常連接外網的無線路由器一臺;
  5. 網線若干,根據具體情況可能還需要準備網線轉接頭;

網絡組成示例

網絡連接圖

感覺光文字描述不直觀,我隨便畫了個示意圖,大概如上圖所示:

  1. 三個樹莓派通過灰色的網線、交換機和MacBook組建成一個通信子網;
  2. MacBook通過無線(Wi-Fi)、路由器、其他個人電腦組成了另外一個通信子網;

對於交換機來說,交換機不會像路由器一樣自動分配IP地址,我們通過網線、交換機進行連接的時候,此時雖然物理上產生鏈接了,但實際上並沒有產生通信子網。

我們知道網絡連接從功能上劃分來說,分爲七層,自頂向下分別爲:

  • 第七層:應用層;
  • 第六層:表示層;
  • 第五層:會話層;
  • 第四層:傳輸層;
  • 第三層:網絡層;
  • 第二層:數據鏈路層;
  • 第一層:物理層;

此時我們只是搭好物理層、數據鏈路層,所以網絡並不會產生通路;IP協議層屬於網絡層,由於交換機不會自動分配IP地址,所以此時我們需要給主機配置IP地址,建立網絡層。這些層建好後,其他更上層的協議由操作系統進行實現,我們此時不做關注。

具體流程

樹莓派的配置

  1. 啓動網卡
ifconfig eth0 up

說明:啓用名稱爲eth0的網卡,通常來說,樹莓派也是有無線網絡的,我們在安裝系統的時候,進行初始化的時候如果沒有選擇網絡,通常網卡是沒有啓動的。可以通過

ifconfig -a

進行查看有哪些網卡,然後根據具體情況進行網卡啓動,對應的關閉網卡命令爲:

ifconfig eth0 down
  1. 配置IP
vim /etc/sysconfig/network-scripts/ifcfg-eth0

說明:此處根據具體情況,進行網卡配置文件的修改,具體可以到/etc/sysconfig/network-scripts/目錄進行查看;

  1. 修改的配置文件內容
ONBOOT=yes # 開機啓動
NM_CONTROLLED=yes
BOOTPROTO=static # IP地址方式設置爲靜態IP
IPADDR=192.168.2.1 # IP地址
NETMASK=255.255.255.0 # 子網掩碼,默認爲這個,不同的子網掩碼能用的地址數不同
GETEWAY=192.168.2.10 # 默認網關先填這個

主要是配置以上幾個參數,具體IP地址根據具體情況配置,依葫蘆畫瓢,分別設置其他幾臺樹莓派的IPADDR地址爲:

  • 192.168.2.2
  • 192.168.2.3
  1. 重啓網絡
service network restart

正常情況下,當我們給三臺主機連上後,三臺主機相互進行ping是能ping得通的,但此時我們的MacBookping不同其他三臺主機的;

MacBook的配置

MacBook的網絡設置

如圖所示,我們打開macOS的網絡設置如圖,一般來說,當我們的MacBook與交換機連上了後,此時的USB 10/....這個網卡是綠色的,表示啓用。我寫這篇文章的時候不是在連接的情況下寫的,所以是紅色的。

配置IPV4的時候,我們選擇手動.
然後分別把IP地址、子網掩碼、路由器分別配置爲:

  • 192.168.2.10
  • 255.255.255.0
  • 192.168.2.10

然後點擊應用按鈕生效,正常的話,此時我們在MacBook上ping其他主機是能ping得通的;


好了,我們整個通信子網組建好了,整套網絡之間也能互相訪問,但是網絡的通信機制決定了,不同網段的通信需要做路由器進行數據轉發,具體的網絡基礎知識如果有疑問的話,可以通過搜索引擎搜索“子網掩碼 IP地址 網關”進行了解。而對於子網來說,我們如果不能直接訪問外網的話,通常我們在做程序安裝的時候會帶來諸多不便,也會產生諸多麻煩事。所以,此時我們就需要MacBook起到一個路由的作用。

MacBook配置數據轉發

  1. 設置頁點擊 clipboard.png 按鈕;
  2. 選擇“互聯網共享”
  3. 共享來源選擇“Wi-Fi”
  4. 共享給電腦選擇“USB 10/100/1000 LAN”,這個地方根據具體情況選擇,要看交換機連接的是MacBook的哪一張網卡;

此時,正常來說,我們的MacBook就實現了網絡轉發功能,在子網的主機上可以直接上網了;但是,當我們嘗試着ping segmentfault.com 的時候卻發現ping不通;而我們可以隨便找個外網的IP進行ping,是能ping得通的;如果出現這種情況,那麼通常來說就是DNS需要配置;

子網主機配置DNS

vi /etc/resolv.conf

寫入配置

nameserver 8.8.8.8
nameserver 114.114.114.114

重啓子網主機的網絡

service network restart

此時我們再來嘗試

ping segmentfault.com

或者

yum search nginx

都能正常的進行網絡交互了。

總結

整體來說,我們做過的事情其實主要就是4件事情:

  1. 網絡物理層的連接;
  2. IP地址配置;
  3. 路由轉發配置;
  4. DNS配置;

而對於理解爲什麼需要做這些步驟,那麼就需要理解網絡七層協議的工作流程,理解網絡的構建形式以及計算機系統是怎麼實現這些協議的,然後纔可以在不同的計算機上進行網絡配置。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章