Linux版本:CentOS
CentOS發行版本:CentOS 8.1
虛擬機:VMware
在前面CentOS 8.1安裝教程中關於網絡配置我們默認使用的是NAT模式,這篇文章主要記錄將我們的Linux網絡設置由NAT模式改爲橋接模式(Bridged)。
需要安裝CentOS的朋友可以可以看這篇文章:
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