【實操】2:WIN10 + VMware12 Pro + CentOS7 無線上網,使用虛擬機搭建 Linux 服務器過程中遇到的網絡配置問題總結

1. 引言:為什么要寫這篇文章?

2019年報名參加了 IDO老徐的【百人計劃】第4期,準備工作中包含的一項就是需要擁有一臺自己的 Linux 服務器。老徐說過2種途徑均可:① 購買阿里云服務器;② 自己用虛擬機搭建一臺。本著想弄清楚虛擬機搭建過程的原則,暫時使用方式②。怕自己會忘,寫文章記下來,方便后期遇到同樣問題的時候可以查閱,同時也期望,能給到有遇到同樣問題的同學一些啟發。

PS. 這2種途徑有何不同呢?

我在剛開始也不明白方式①和方式②的區別,但后面聽到老徐直播中的解釋,基本也印證了我的想法,覺得特別有必要說明下:

1. 購買阿里云服務器方便,在家、公司都可以玩,只要處于聯網狀態,隨時隨地,不耽誤事;將來如果自己想搭建個博客、弄個網站什么的,還是需要買阿里云服務器的;

2. 使用虛擬機搭建經濟實惠,目前如果無商業需求,只是簡單學習使用 Linux 來說,用虛擬機搭建功能是一樣的,而且搭建過程中還可以學到一些知識,也算是一舉兩得,但離開了本機,在另一個地點就無法使用(例如如果你在辦公室電腦搭的,到家就沒法用)。


2. 重點說明

由于我也是小白一枚,因此我在學習搭建的過程中,碰到了一些比較基礎和無知的問題。因為對計算機網絡相關的基礎知識比較薄弱,照著別人的博文去操作,只知其然不知其所以然。加上技術人寫博客,有時候會存在些環境背景和上下文關聯未交待清楚的毛病(小白更甚),所以如果后面有同學恰好看到我的這篇文章或者是其他博文,請在操作之余多想一想,自己的環境跟別人文章中提到的是否有出入?如果有出入,一定要針對出入點,找其他解決辦法。下面是我的搭建環境:

Windows 版本:WIN10? 家庭中文版(64位操作系統)

虛擬機版本:VMware12 Pro?

Linux 版本:CentOS7

虛擬機的安裝就不多贅述,網上教程非常多,基本安裝不會有太大問題。接下里重點說明我搭建時的一些關鍵設置。


3. 搭建要點

那么先說下搭建的時候遇到的問題:照著百度來的文章安裝好虛擬機后,ping 百度無返回數據。


一、虛擬機設置

VMware 界面最上面,選擇虛擬機->設置:確認“網絡連接”模式,我這里是?NAT 。(其實橋接和NAT模式我到現在也沒弄清楚,但是后面設置好 DNS 之后,無論選哪個都能 ping 百度成功,因此暫時不準備花過多時間去糾結它,文末我會貼一些其他技術人的說明方便大家看):

二、查看主機 DNS 地址

win + R 輸入 cmd,啟動命令行界面,輸入 ipconfig-all,查看主機 DNS 服務器地址,如下圖所示。注意,由于本機是無線上網,此處為無線局域網的 DNS 服務器地址,記下此地址,后面有用。

三、修改 CentOS7 網絡配置文件

1.在 CentOS7 中打開終端,輸入 cd /etc/sysconfig/network-scripts/ (就是進入 network-scripts這個文件夾的意思)

2.輸入 vi ifcfg-ens33 打開網絡配置文件 ifcfg-ens33(目的是要修改它的內容):

3. 輸入 i ,出現 INSERT,代表你可以修改了。我們修改 ONBOOT= yes 并增添 DNS1=172.17.16.1,此DNS地址設為本機的DNS地址(之前記下的地址),輸入Esc:wq! 保存并退出,如下圖所示:

4.輸入?systemctl restart network?重啟網絡,沒有提示任何信息,則表示網絡重啟成功,如下圖所示:


特別說明:CentOS7中的重啟網絡的命令是?systemctl restart network ,而不是大多數博文中提到的 service network restart。不同的 Linux 版本的命令有所區別。就像我后面遇到一個問題,在安裝好的 CentOS7 里使用??cat /etc/issue 去查看當前服務器的發行版,結果輸出了一個 \S,我不明白這個\S是什么。

我就很好奇為什么不出現類似其他博文中出現的?“CentoOS release 6.5”這樣的字樣,我以為應該是出現?“CentoOS release 7”這種的,最后查找資料才知道要輸入“ cat /etc/centos-release”命令才能出來。

雖然這個問題可能在大牛看來非常無知,但確實像我這樣的小白,在碰到了這類問題的時候是比較懵的,找解決方法的時候花了一些時間,希望我的記錄能幫助后來的朋友們得到一些啟發。


5.輸入ping www.baidu.com,有返回數據則表示成功。(終止ping命令:ctrl + c 或ctrl + z

如果大牛們發現我的文中有錯誤,歡迎評論指正,多謝!


----------------------------------------------------------------------------------分割線----------------------------------------------------------------------------------------

總結:

1. 安裝過程中對Vmware Workstation的三種上網方式不理解,不知道到底應該選哪個?

貼一些其他技術人的博文片段:

一.VM虛擬機NAT方式上網。

Vm軟件在windows7上安裝完成之后有5個服務同時安裝:先來看看這5個服務的作用是什么


第一個服務:Authorization and authentication service for starting and accessing virtual.用于啟動和訪問虛擬的授權和認證服務。簡單說就是當你操作系統需要后臺運行的時候,需要開啟這個服務。

第二個服務:DHCP service for virtual networks.虛擬網絡DHCP服務。簡單說就是一個ip自動分配服務。在網絡的7層(5層)架構中,有個DHCP協議,這個服務實現了那個協議。

第三個服務:Network address translation for virtual networks.虛擬網絡的網絡地址翻譯。我把他叫做NAT服務,為了解決IPv4地址的不足,老外搞了個NAT協議,也就是把私網的ip映射到公網的ip。

第四個服務:Arbitration and enumeration of USB devices for virtual machines。虛擬機和USB設備枚舉仲裁,這個字面意思。

第五個服務:Remote access service for registration and management of virtual machines. 虛擬機的登記和管理遠程訪問服務。

VMware的幾個虛擬設備:

VMnet0:用于虛擬橋接網絡下的虛擬交換機

VMnet1:用于虛擬Host-Only網絡下的虛擬交換機

VMnet8:用于虛擬NAT網絡下的虛擬交換機

Vmware Network Adepter VMnet1:Host用于與Host-Only虛擬網絡進行通信的虛擬網卡

Vmware Network Adepter VMnet8:Host用于與NAT虛擬網絡進行通信的虛擬網卡

橋接網絡是指本地物理網卡和虛擬網卡通過VMnet0虛擬交換機進行橋接,物理網卡和虛擬網卡在拓撲圖上處于同等地位(虛擬網卡既不是Adepter VMnet1也不是Adepter VMnet8)。那么物理網卡和虛擬網卡就相當于處于同一個網段,虛擬交換機就相當于一臺現實網絡中的交換機。所以兩個網卡的IP地址也要設置為同一網段。

在NAT網絡中,會用到Vmware Network Adepter VMnet8虛擬網卡,主機上的Vmware Network Adepter VMnet8虛擬網卡被直接連接到VMnet8虛擬交換機上與虛擬網卡進行通信。NAT網絡模式Vmware Network Adepter VMnet8虛擬網卡的作用僅限于和VMnet8網段進行通信,它不給VMnet8網段提供路由功能,所以虛擬機虛擬一個NAT服務器,使虛擬網卡可以連接到Internet。

Host-Only模式下,虛擬網絡是一個全封閉的網絡,它唯一能夠訪問的就是主機。其實Host-Only網絡和NAT網絡很相似,不同的地方就是Host-Only網絡沒有NAT服務,所以虛擬網絡不能連接到Internet。主機和虛擬機之間的通信是通過Vmware Network Adepter VMnet1虛擬網卡來實現的。



2. ping不通外網,主要是DNS沒有設置,但是如何查看主機DNS?如何設置?

WIN7命令行:ipconfig–all

vi ifcfg-ens33,添加DNS1信息


3. 不理解靜態IP上網和DHCP自動分配的區別

靜態IP是手動設置的IP地址,動態IP是通過DHCP服務器自動獲取的IP地址。DHCP是動態主機配置協議的縮寫。DNS是域名系統。

如果是用路由器上網,你必須要有一個IP地址才能上網,大部分路由器都打開了DHCP功能這樣你就可以選擇自動獲取IP地址等一會獲取后就可以上網了,如果獲取不著那說明你電腦的網卡有問題啦,當然你也可以手動設置IP地址,因為手動設置的IP地址是不變的所以稱為靜態IP地址,自動獲取的IP地址每次開機的時候獲取由路由器自動分配所以他是動態的。手動設置IP地址要注意和路由器的IP地址段在同一段,否則上不上網,所以要事先知道路由器的IP地址;


4.? ?Ifconfig、ipconfig、vim、service network restart命令失效,敲這些命令總是提示command not found,緣由:

CentOS7中取消了 ifconfig,用 nmcli 進行了代替,服務管理也升級為 systemd

要查看ip地址:輸入ipaddr

要重啟網絡:輸入systemctl restart network

要編輯文件:輸入 vi

要查找網卡信息:輸入cd /etc/sysconfig/network-scripts/ 命令,輸入dir查看目錄,找到 ifcfg-ens33(一般第一個顯示的就是你的網卡信息,也有叫ifcfg-eno16777736的,可以是cat查看或者使用vi編輯)

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容