1. 程式人生 > >虛擬機訪問互聯網的方法 -- 以RedHat系為例

虛擬機訪問互聯網的方法 -- 以RedHat系為例

路徑 網絡連接 p地址 註意 ipad etc 不能訪問外網 正常 情況下

  在虛擬機的三種網絡模式中(Host-Only、橋接、NAT),能夠實現虛擬機訪問互聯網的只有橋接與NAT模式,而Host-only主能實現虛擬機與主機兩者間的通信。
下面以RedHat系虛擬機系統為例,講述了橋接與NAT兩種方式下虛擬機訪問互聯網的實現方法:
1. 橋接模式
  首先設置虛擬機靜態IP。其一,可以用RedHat內置的setup命令調出相關參數設置界面;其二,可以在網絡配置文件中直接修改(setup的配置最終也是同步在
該配置文件中)。需要註意的是,該靜態IP應與主機IP在同一網段,掩碼以及網關與主機保持一致。另外,需要區分主機的網絡連接方式:有線or無線,以相應的
選擇橋接網卡類型及配置虛擬機的網絡參數。(網絡配置文件路徑:/etc/sysconfig/network-scripts/ifcog-eth0)
  網絡參數配置正確後,重啟網絡服務(service network restart),查看網絡參數(ifconfig)便可以看到參數已按照修改同步。接著,對主機與虛擬機進行互ping:
主機通常可以正常ping通虛擬機,虛擬機若不能ping通主機則是由於主機的防火墻沒有關閉,關閉之後一般便可以ping通了。
  橋接模式下,虛擬機其實是獨立於主機的,因此需要一個與主機IP同級的IP。由於我在實驗中用的是校園網,每個用戶是需要登錄客戶端來訪問互聯網的,根據
用戶MAC地址以DHCP方式分配給每一個用戶一個IP地址。這種情況下我的虛擬機顯然是不能上網的,事實上當我用虛擬機ping網關是也是ping不同的,其實就相當於
我的虛擬機被連接外網的路由器封鎖在了局域網內,只能與局域網的用戶通信。
  綜上,使用校園網的情況下,橋接模式只能實現虛擬機與主機或局域網內的客戶機通信而不能訪問外網。
2. NAT模式
  NAT模式下,只要主機能夠訪問互聯網,虛擬機就可以。我的網絡參數配置情況是,在虛擬機網絡編輯器的NAT模式下,設置子網IP、掩碼與主機子網IP、掩碼一致
(子網IP即為主機IP與掩碼相與&的結果)。NAT設置項中,設置虛擬機網關為主機IP,在DHCP選項中可以根據子網IP設置主機分配的動態IP的範圍。實驗中我使用了DHCP
的方式配置虛擬機IP。同樣可以用setup工具或在配置文件(/etc/sysconfig/network-scripts/ifcog-eth0)中直接配置IP網絡模式為DHCP。
  我的 /etc/sysconfig/network-scripts/ifcog-eth0 網絡配置文件內容如下:
DEVICE=eth0
BOOTPROTO=dhcp <- 該行用於配置IP方式,‘=‘右邊的參數必須小寫,這裏設置為dhcp方式,參數none表示手動設置的方式
HWADDR=00:0c:29:38:3b:ac
NM_CONTROLLED=yes
ONBOOT=yes
TYPE=Ethernet
UUID="a9654486-8d9b-409d-b35e-99a5d5b91667"

#Host With Wire Mode
#IPADDR=10.136.1.220
#NETMASK=255.255.240.0
#GATEWAY=10.136.0.1
#DNS1=172.16.7.10

IPV6INIT=no
USERCTL=no
  網絡參數配置完成,重啟網絡服務(service network restart),這樣,主機與虛擬機便可以互相ping通。然而,主機ping虛擬機時可能會存在ping不通的情況,
這可能是由於主機網絡連接裏面的虛擬適配器VMware Network Adapter VMnet8在搗鬼。前面我們已經設置了DHCP的模式配置虛擬機IP,因此,同樣需要將VMnet8
的IPv4配置為DHCP方式。
  經過上述的相關配置後,虛擬機以NAT網絡模式訪問互聯網便得以實現。

虛擬機訪問互聯網的方法 -- 以RedHat系為例