Linux網絡設置-CentOS由NAT模式改爲橋接模式

Linux版本:CentOS

CentOS發行版本:CentOS 8.1

虛擬機:VMware

在前面CentOS 8.1安裝教程中關於網絡配置我們默認使用的是NAT模式,這篇文章主要記錄將我們的Linux網絡設置由NAT模式改爲橋接模式(Bridged)。

需要安裝CentOS的朋友可以可以看這篇文章:

VMware 安裝 CentOS 8.1 完整教程

1】NAT與Bridged區別

  • NAT(網絡地址轉換模式)

虛擬機要聯網得先通過宿主機才能和外面進行通信。

NAT模式下的虛擬系統的TCP/IP配置信息是由VMnet8(NAT)虛擬網絡的DHCP服務器提供的,無法進行手工修改,因此虛擬系統也就無法和本局域網中的其他真實主機進行通訊。使得虛擬局域網內的虛擬機在對外訪問時,使用的則是宿主機的IP地址,這樣從外部網絡來 看,只能看到宿主機,完全看不到新建的虛擬局域網。就是虛擬系統會通過宿主機的網絡來訪問外網,而這裏的宿主機相當於有兩個網卡,一個是真實網卡,一個是虛擬網卡,真實網卡相當於鏈接了現實世界的真實路由器,而宿主機的虛擬網卡,相當於連接了一個可以認爲是虛擬交換機。

虛擬機可以上網可以ping通主機,但是主機ping不通虛擬機。

  • Bridged(橋接模式)

虛擬機和宿主機在網絡上就是平級的關係,相當於連接在同一交換機上。

需要手工爲虛擬系統配置IP地址、子網掩碼,而且還要和宿主機器處於同一網段,這樣虛擬系統才能和宿主機器進行通信。以實現通過局域網的網關或路由器訪問互聯網。使用bridged模式的虛擬系統和宿主機器的關係,就像連接在同一個Hub上的兩臺電腦。相當於在一個局域網內創立了一個單獨的主機,他可以訪問這個局域網內的所有的主機,但是需要手動來配置IP地址,子網掩碼,並且他是和真實主機在同一個網段(nat是兩個網段).

這個模式裏,虛擬機和宿主機可以互相ping通。

3】虛擬機網絡設置

右鍵點擊以管理員身份打開VMware,找到要更改網絡的虛擬機。

  • 點擊左上角【編輯虛擬機設置】→【網絡適配器】→選擇【橋接模式】,並勾選【複製物理網絡連接狀】態

  • 點擊左上角【編輯E】→【虛擬網絡編輯器】

VMnet0、VMnet1、VMnet8,分別對應了橋接模式、僅主機模式、NAT模式。

選擇【VMnet0】→【已橋接至】選擇當前電腦連接的網絡→【確定】

3】CentOS網絡設置

  • 查看自己電腦的IP網段(Win+R輸入cmd再輸入ipconfig)

將 IPv4 地址、子網掩碼 、默認網關保存後面用到。

  • 打開虛擬機,以root賬戶登錄CentOS

1.由於我安裝了圖形界面,登錄是這樣:

說明:倘若沒有設置root賬戶,但登錄的賬戶yyo擁有root權限,那就直接登陸。

2.沒有安裝圖形界面登錄簡單一些,我就不演示了。

  • 獲取權限
sudo -i
  • 編輯配置ip地址信息文件(使用vi打開,CentOS自帶vi)
vi /etc/sysconfig/network-scripts/ifcfg-ens33

可以看到我們的網絡配置文件:

i進入編輯,按方向鍵移動

修改這兩個值:

BOOTPROTO=static       #設置爲手動分配IP地址
ONBOOT=yes

ONBOOT=yes後面增加四個值(上面我們保存的ip):

IPADDR=192.168.0.107   # 配置爲局域網固定IP(IPv4 地址)
NETMASK=255.255.255.0  # 配置子網掩碼
GATEWAY=192.168.0.1    # 配置局域網網關
DNS1=8.8.8.8           # 配置首選DNS,8.8.8.8爲免費DNS服務器的IP地址

編輯完成後按esc退出,再按:wq保存(如果無法保存,就按:wq!強制保存)

  • 接下來修改第二個配置,輸入下面這個命令
vi /etc/sysconfig/network

增加這四個配置:

i進入編輯,按方向鍵移動

NETWORKING=yes
NETWORKING_IPV6=no            #關掉IPv6
HOSTNAME=localhost.localdomain
GATEWAY=192.168.0.1           #默認網關地址

編輯完成後按esc退出,再按:wq保存

  • 啓動network服務,輸入下面這個命令
service network restart

使用CentOS 8.x 版本的就會有問題了,8以下的版本到這裏就可以結束了。

事實上並沒有啓動network服務,而是:

Redirecting to /bin/systemctl reatart network.service
Failed to restart network.service: Unit network.service not found

查了很多資料才發現centos 8.x 已經替換了原來的network, 新版的叫:NetworkManager,下面給出解決辦法

  • 首先安裝NetworkManager
yum install NetworkManager*

  • 啓動NetworkManager
service NetworkManager restart
  • 開啓NetworkManager網絡服務
systemctl status NetworkManager

4】驗證網絡

  • 在Windows終端ping我們CentOS的IP:192.168.0.107,可以正常通信。

  • 在CentOS驗證一下,也是完全🆗

一番折騰下來,花費了不少時間,尤其是NetworkManager那裏,都不想寫這篇文章了,但是又想解決這個困難,希望對有需要朋友的有點幫助!

參考:

centos7輸入systemctl status network.service出現Unit network.service could not be found的解決辦法

Failed to restart network.service: Unit network.service not found

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