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

準備材料:

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

網絡組成示例

網絡鏈接圖

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

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

對於交換機來講,交換機不會像路由器同樣自動分配IP地址,咱們經過網線、交換機進行鏈接的時候,此時雖然物理上產生連接了,但實際上並無產生通訊子網。shell

咱們知道網絡鏈接從功能上劃分來講,分爲七層,自頂向下分別爲:vim

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

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

具體流程

樹莓派的配置

  1. 啓動網卡
ifconfig eth0 up

說明:啓用名稱爲eth0的網卡,一般來講,樹莓派也是有無線網絡的,咱們在安裝系統的時候,進行初始化的時候若是沒有選擇網絡,一般網卡是沒有啓動的。能夠經過centos

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地址爲:centos7

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

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

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配置;

而對於理解爲何須要作這些步驟,那麼就須要理解網絡七層協議的工做流程,理解網絡的構建形式以及計算機系統是怎麼實現這些協議的,而後才能夠在不一樣的計算機上進行網絡配置。

備註

這裏的網段爲何設置爲192.168.2.0 ~ 192.168.2.255這個網段是由於macOS的網絡共享時候產生的bridge100網絡橋接所屬的網段就是這個,這個是一個坑,爲後續屢次配置過程當中才發現的。網絡上也有資料說能夠修改這個網段,可是爲找了不少資料進行操做,沒有成功。切記。

相關文章
相關標籤/搜索