欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Linux之虛擬機和主機互通實現(xiàn)方式

 更新時間:2024年07月03日 10:15:43   作者:核桃胡子  
這篇文章主要介紹了Linux之虛擬機和主機互通實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

前言

諸如以下問題,解決問題的思路都是一樣的,看完此文后都能找到答案:

主機為何 ping 不通 虛擬機?請檢查是否在同一網段?Linux 防火墻是否為開啟狀態(tài)?

虛擬機為何 ping 不通主機?請檢查是否在同一網段?Windows 防火墻是否已經關閉?

主機能 ping 通虛擬機,但是虛擬機 ping 不通主機?Windows 防火墻是否已經關閉?

虛擬機和主機能互相 ping 通,但 ping 不通外網?檢查 VMware 虛擬網絡編輯器中對應的虛擬網卡是否已設置為同一網段?檢查 Linux DNS 是否和 物理機 DNS 設置成一致?

等等等等。。。

在三種網絡配置方式中(橋接、NAT、host_only),最容易出錯的也就是 NAT 模式,本文將會介紹三種網絡配置模式下虛擬機和主機的互通,并且會著重介紹 NAT 模式下的互通。

注意:NAT模式下,如果不打算讓 Linux 連接互聯(lián)網,而只需要 Linux 和物理機互通的話,就從第一個大標題下的第二步開始配置就可以了。

一、虛擬機配置的網絡連接方式為 NAT

簡述:

NAT 模式下的虛擬機只需要配置在和主機同一個網段,即可和主機進行通訊。

而虛擬機此時要連接互聯(lián)網的話,還需要把VMware 的虛擬網絡編輯器中的 NAT 網絡也設置為同一個網段才行。

主機和虛擬機的期望配置如下:

  • 主機:192.168.1.51
  • 虛擬機:192.168.1.52
  • 子網掩碼:255.255.255.0
  • 網關:192.168.1.X

配置之前,檢查 Linux 虛擬機是否已設置為 NAT 模式:

在這個地方選擇 NAT 模式,或者在自定義里選擇 VMnet8 都是可以的。

但是也有例外情況,如果你打開虛擬網絡適配器的時候,發(fā)現(xiàn)自己 NAT 模式下的虛擬網卡名字不是 VMnet8,而是 VMnetN,那么就進入 VMware 虛擬機設置,再網絡適配器設置中選擇自定義,然后再選擇 VMnetN 就可以了。(N 代表一個數(shù)字)

第一步:配置虛擬網絡編輯器

打開 VMware Workstation --> 編輯 --> 虛擬網絡編輯器

眾所周知,一旦在安裝 Linux 的時候選擇了以 NAT 方式進行通信,那么Linux 和主機建立連接所使用的網卡就是虛擬網卡 VMnet8。

如圖所示,我有兩張?zhí)摂M網卡分別是 VMnet1 和 VMnet8,此時我以管理員身份配置 VMnet8 就可以了。

下一步。如圖所示,一共有四個步驟需要依次配置。

  • 檢查 Windows 是否勾選了將主機虛擬適配器連接到此網絡,勾選了此選項,Windows 的“網絡連接”界面中才會出現(xiàn) VMnet8 這張?zhí)摂M網卡。
  • 將子網 IP 這一欄配置到 1 網段(和物理機中的 VMnet8 同一個網段),所以這里將其配置成 192.168.1.0
  • 子網掩碼和主機保持一致就行

下一步,進入 NAT 設置,配置網關: 

網關按需配置在同一個網段即可,這里我配置成 192.168.1.2

一般來說大眾的做法是,Linux 的網關需要和 Windows 一致,所以也可以把網關設置為 192.168.1.5。

配置完成之后點擊確定。

在主配置界面點擊應用,再點擊確定。

第二步:配置虛擬網卡 VMnet8

進入如圖所示的界面后

右鍵VMnet8 --> 屬性 --> 配置 IPV4 --> 選擇使用下面的 IP 地址一欄,然后手動填入如圖所示的參數(shù):

  • 說明1:子網掩碼各位可以按需填寫,我這里填 255.255.255.0,大家伙跟著我填就行。
  • 說明2:保持在同一網段說的是什么呢?在上圖中,IP 地址就處于 192.168.1 網段,網關也必須處于同一個網段下,因此網關可以和 Linux 配置成一模一樣,也可以配置成任意的處于同一網段下的網關。
  • 說明3:虛擬機要想訪問外網,需要設置 DNS 用于解析 IP 和 域名(把 Windows 和 Linux 的 DNS 設置為同一個也是可以的。一般都是設置為同一個 DNS)。上圖的 DNS 是阿里的 DNS,大伙兒按需配置就行。

注意:有的 Windows 系統(tǒng)硬件比較老舊,建議配置完之后重啟一遍 VMnet8,這個也是對老硬件以示尊重 - _ -

第三步:打開 Linux 虛擬機,配置 IP 和網關

(1)使用ifconfig 命令確認需要使用哪張網卡來配置網關

正常來說,Linux 剛裝好的時候,使用 ifconfig 查看網卡的時候是沒有 IP 地址的。這里我們使用第一張網卡 ens34 進行配置。

(2)配置 ifcfg-ens34 這個配置文件

該配置文件為 ens34 這個網卡的配置文件,該配置文件存放于 /etc/sysconfig/network-scripts/下:

使用 vim 命令編輯該文本,鍵入如下所示的代碼:

其中:IPADDR、PREFIX、GATEWAY、DNS1 為必填項。

  • 說明1:IPADDR 是綁定在該網卡上的 IP 地址,通過 ping 該 IP 地址,就能確定該網卡是否連通。這里需要配置成和物理機(也就是 VMnet8)處于同一網段。
  • 說明2:GATEWAY(網關)也需要配置成和 VMnet8 處于同一網段。
  • 說明3:DNS1 需要配置成和 VMnet8 一模一樣。

(3)配置完成之后,重啟 network 服務使網卡配置文件生效

  • Linux 6.x 使用 service restart network
  • Linux 7.x 使用 systemctl restart network.service

(4)檢查 IP 地址和默認網關

  • 使用 ifconfig 查看你修改的網卡是否已經綁定上了 192.168.1.52 這個 IP。
  • 使用 route -n 命令檢查當前所使用的默認網關

可以看到配置好后,路由表中顯示默認網關為 192.168.1.2

第四步:關閉 Windows 防火墻或者開放防火墻中的特定端口

自己上網去百度如何關閉,這里不再贅述。

第五步:嘗試在 Windows 上 ping 虛擬機(如果發(fā)現(xiàn) ping 不通,請轉到 額外 1中查看

如果像下圖中一樣能 ping 通,那請到下一步。

第六步:嘗試在虛擬機上 ping Windows

如果不能 ping 通,請將 Windows 防火墻關閉后再試

如圖所示是能 ping 通時候的樣子:

第七步:測試是否可以連接外網

測試是否可以連接百度:ping -c 5 www.baidu.com

如圖所示是可以 ping 通:

額外1: 設置完上述所有的步驟之后,如果 Windows 無法 ping 通虛擬機,可能是因為 Linux 內置防火墻的問題。

  • 關閉防火墻:systemctl stop firewalld.service
  • 如果要永久關閉防火墻,使用命令systemctl disable firewalld.service

二、虛擬機配置的網絡連接方式為橋接

在橋接模式下,虛擬機與主機之間是同等地位的,就相當于在同一個局域網

下添加了一臺 獨立的主機,虛擬機和主機ip地址需要在同一個網段,并且虛

擬機要占據(jù)局域網中的一個ip地址。此時,不管是虛擬機和虛擬機之間還是

虛擬機和其他真實主機之間,只要處于同一個網段,他們之間都可以進行相互通信。

如此推理:如果你將虛擬機的 IP 地址設置為局域網中一個正在使用的 IP 地址,那么你在測試 Windows 是否能 ping 通虛擬機的時候,局域網內的另一臺計算機就會和你的虛擬機發(fā)生 IP 地址互相搶占的情況。因此,在配置 Linux IP 地址時,請確認該 IP 地址在局域網中沒有被占用。

讓虛擬機和物理機連通的思路和 NAT 模式下的思路一樣,重點已經標紅顯示了。這里我就不測試了,因為我懶 。

三、虛擬機配置的網絡連接方式為 Host_only(僅主機模式)

hostonly 模式下,虛擬機和主機之間少了地址轉換服務(NAT),所以虛擬機只可以單獨訪問主機,且不能訪問互聯(lián)網。

此時,虛擬機要想和主機互通,配置 VMnet1 這張?zhí)摂M網卡,讓 VMnet1 的 IP 地址和 虛擬機的 IP 地址處于同一網段就可以了。

讓虛擬機和物理機連通的思路和 NAT 模式下的思路一樣,互通重點已標紅。所以這里也不寫測試了。

四、其他說明

如果安裝 Linux 的時候預裝了圖形界面的小伙伴,可以在第一個大標題的第三步使用 startx 命令進入可視化圖形界面,對 IP、網關、子網掩碼、DNS 進行修改。

五、在運維時候的實際應用

場景1

產品經理在下班后和你悄悄說:這些個客戶真的把自己當成上帝,把我們當牛馬一樣使,這樣子不行啊,我們太被動了!要不這樣吧,小王你幫我個忙,明天你到機房里去,給客戶的服務器安一個病毒包,等項目上線的時候,客戶一開機就把他心態(tài)給搞崩。

于是,明兒一早你屁顛屁顛的來到機房,接了一根網線到交換機上。

結果發(fā)現(xiàn)連不上 Linux 系統(tǒng)?這下子尷尬了。

如何把客戶解決掉?方法如下:

把客戶解決的第一步,是個神仙都得讓自己的電腦先連上服務器對不對?

公司的服務器中一般都會有好幾塊網卡,而真正用到的網卡往往只有那么幾塊。

這時候,你可以找一塊閑置的網卡,比如現(xiàn)在有一塊閑置網卡名為 eth1。那么在該網卡上綁定上一個臨時的、且和自己的筆記本的虛擬網卡在同一個網段的 IP 地址,并且自己的筆記本上也要手動設置一個和

Linux eth1 在同一個網段的 IP 地址。這樣你就可以通過網線,使筆記本連接上服務器了。

期望配置:

Windows VMnet1配置:
IP: 10.10.10.1
掩碼:255.255.255.0

Linux 空閑網卡配置:
IP: 10.10.10.10
掩碼:255.255.255.0

配置網卡有兩種方式:

方式一:臨時配置(重啟機器后會失效)

一般來說,筆記本和服務器連通使用 host-only 模式就可以了,所以Windows上要設置的網卡是 VMnet1。

Linux 使用命令行方式直接配置,不修改配置文件。

ifconfig eth1 10.10.10.10 netmask 255.255.255.0

筆記本網卡設置好后,進入 Linux 終端界面, ping VMnet1 上設置的 IP,來確認網絡是否連通。

方式二:永久配置

直接修改配置文件。

在 /etc/sysconfig/network-scripts/ 目錄下,存放著關于 Linux 機器中的網卡配置文件。

第一步:新建一個配置文件名為 ifcfg-eth1

該配置文件作為空閑網卡 eth1 的配置文件。

cp ifcfg-eth0 ifcfg-eth1

在配置 ifcfg-eth1 之前可以先把 eth1 的硬件地址拷貝下來。硬件地址(HWaddr)可以使用 ifconfig 命令查看。

第二步:修改配置文件 ifcfg-eth1

vi ifcfg-eth1

修改如圖所示的幾項: 

  • DEVICE(設備名) 設置為 eth1
  • ONBOOT(是否自啟)設為 yes

UUID 刪除,因為不同網卡的 UUID 是不一樣的,此項為非必填項。

  • NM_CONTROLLED(是否可通過網絡控制)默認就行
  • BOOTPROTO(網絡分配方式)有 static、dhcp、none 幾種,none 代表由用戶自己決定如何分配。本例中默認配成 none 就行。
  • HWADDR(硬件地址)換成自己需要替換的網卡的硬件地址即可(為非必填項)
  • IPADDR(IP地址)你需要綁定哪個 IP 到網卡上,就在這里填
  • PREFIX(子網掩碼)默認24位
  • GATEWAY(網關)一般和 IP 地址設置為同一個網段,本例中設置為 10.10.10.1
  • DEFROUTE(默認路由) 可以刪掉。為非必填項。
  • IPV4_FAILURE_FATAL(IPV4獲取失敗的話就禁用當前網卡)刪掉。為非必填項。
  • IPV6INIT(是否打開IPV6)相關設置可以刪掉。
  • NAME 本例中改為 System eth1,這里按需更改。

第三步:重啟網絡服務

重啟 network 服務之后,才可以使用 ifconfig 命令查看到新增加的 eth1 網卡配置。

  • Linux 6.x 使用命令 service network restart
  • Linux 7.x 使用命令 systemctl restart network.service

設置完成之后,可以通過在 Linux 終端 ping Windows 虛擬網卡VMnet1 的 IP 地址的方式,來測試 Linux 是否和 Windows 連通。

場景2

現(xiàn)在公司有一套成熟的軟件系統(tǒng),需要把系統(tǒng)分布式部署在3臺虛擬機上。由于考慮到部署的過程中需要用到y(tǒng)um來安裝許多軟件,因此需要讓虛擬機暫時先連上互聯(lián)網。

三臺虛擬機的IP分別為:192.168.0.44、46、47

路由器分配出可上網的網段為192.168.1 網段。

此時,需要讓筆記本在聯(lián)網的同時能訪問內網虛擬機,那么筆記本的真實網卡配置如下:

需要配置一個192.168.0 網段的IP 和一個 192.168.1 網段的IP,同時綁定到真實網卡上。

第二步: 配置IP 地址綁定到網卡 eth0上

說明:該操作是讓虛擬機能夠連通外網。

  • 方法一:臨時綁定IP地址(重啟后失效)

到其中一臺虛擬機的終端輸入命令:

ifconfig eth0:1 192.168.1.130 netmask 255.255.255.0

然后添加一條可以訪問任意 IP的路由:

route add default gw 192.168.1.1

需要注意的是,192.168.1.130 這個 IP 在重啟 Linux 后就失效了。網關同樣如此。

如果機器有默認的網關,導致連不上互聯(lián)網,可以先臨時刪除默認的網關。

route del default gw xxx.xxx.xxx.xxx

同樣的,在另外兩臺虛擬機上也執(zhí)行上面的操作。不過不能和 192.168.1.130 沖突。

  • 方法二:設置永久性配置

如果需要使配置的 IP 永久生效,我們需要在虛擬機的

/etc/sysconfig/network-scripts/ifcfg-eth0 中配置

IPADDR2=192.168.1.xxx 和 NETMASK2=255.255.255.0。

修改完成之后需要重啟 network 服務。

最后使用 route add default gw 192.168.1.1 就可以連通外網了。

注意:上述兩種方法中,由于新增的默認網關 192.168.1.1 沒有添加進配置文件,所以機器重啟后就失效了,每次重啟機器后要再次添加默認網關。

如果要永久添加默認網關,則執(zhí)行下列命令:

vim /etc/sysconfig/network-scripts/route-eth0

然后添加如下代碼:

0.0.0.0/0 via 192.168.1.1 metric 20
或者
0.0.0.0/0 via 192.168.1.1 dev eth0

保存后重啟網絡服務:systemctl restart network.service

一句話總結

要想讓虛擬機能和主機互通,一定要讓 虛擬機主機 中的 IP、網關 處在同一個網段下。

  • 如果是橋接模式,就讓主機的真實網卡虛擬機的網卡處于同一網段下。
  • 如果是 NAT 模式,就讓主機的 VMnet8虛擬機的網卡處在同一網段下。
  • 如果是 host-only 模式,就讓主機的 VMnet1虛擬機的網卡處在同一網段下。

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

最新評論