15年的時候,寫過一篇部落格:VMware中網路設定之Bridged 也是關於linux下vmware橋接模式、靜態ip上外網的配置,不過當時更多的是用圖形介面來實現的,通用性不強。生產環境,極少有linux安裝圖形介面的。索性原部落格也不修改了,重新來一篇得了。這裡我用的是CentOS6.5的最小系統來演示。當前了,因為CentOS屬於紅帽系列,所以本文所講的方法對於redhat系列的linux網路配置同樣適用。
一、橋接模式之VMware設定:
VMware->【Edit】->【Virtual Network Edit】
二、橋接模式之虛擬機器設定:
三、橋接模式之設定靜態ip地址
配置成橋接網路連線模式的虛擬機器就當作主機所在乙太網的一部分,虛擬系統和宿主機器的關係,就像連線在同一個Hub上的兩臺電腦,可以像主機一樣可以訪問乙太網中的所有共享資源和網路連線,可以直接共享主機網路的網際網路接入線路訪問網際網路。主機與虛擬機器之間,以及各虛擬機器之間都可以互訪。對應虛擬機器就被當成主機所在乙太網上的一個獨立物理機來看待,各虛擬機器通過預設的VMnet0網路卡與主機乙太網連線,虛擬機器間的虛擬網路為VMnet0。這時你的虛擬機器就像區域網中的一個獨立的物理機一樣。虛擬機器中的作業系統可以PING通別的主機,反過來別的主機也可以PING虛擬機器。想讓它們相互通訊,你就需要為虛擬系統配置IP地址和子網掩碼,否則就無法通訊。
所以配置之前,我要先看一下物理主機的ip地址:(我這裡物理主機採用無線上網路卡wifi上網)
1. ipconfig 檢視物理主機的ip地址(上外網用的那個網路卡的ip地址)
2. 根據物理主機的ip地址,設定linux虛擬機器的ip地址:
vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0 #虛擬機器網路卡名稱。
TYPE=Ethernet
ONBOOT=yes #開機啟用網路配置。
NM_CONTROLLED=yes
BOOTPROTO=static #static,靜態ip,而不是dhcp,自動獲取ip地址。
IPADDR=192.168.31.77 #設定我想用的靜態ip地址,要和物理主機在同一網段,但又不能相同。
NETMASK=255.255.255.0 #子網掩碼,和物理主機一樣就可以了。
GETWAY=192.168.31.1 #和物理主機一樣
DNS1=8.8.8.8 #DNS,寫谷歌的地址就可以了。
HWADDR=00:0c:29:22:05:4c
IPV6INIT=no
USERCTL=no
我用xshell連線的linux,這樣看起來比較清晰:
重啟網路服務:
[root@xiaolyu77 ~]# service network restart
3. 在網路配置檔案 /etc/sysconfig/network 中新增閘道器地址。
[root@xiaolyu77 ~]# vim /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=xiaolyu77
GATEWAY=192.168.31.1 #閘道器地址,同物理主機的閘道器地址
4. 測試:
1)虛擬機器 ping 物理主機:
[root@xiaolyu77 ~]# ping 192.168.31.160
2) 物理主機 ping 虛擬機器
C:\Users\Administrator>ping 192.168.31.77
3) 虛擬機器測試外網:
[root@xiaolyu77 ~]# ping www.baidu.com
OK,搞定!
5. 問題: 如果還是不能上外網,出現:"ping: unknown host www.baidu.com"
如果某臺Linux伺服器ping不通域名, 如下提示:
[root@xiaolyu75 ~]# ping www.baidu.com
ping: unknown host www.baidu.com
解決方案:
首先確定已經連線上路由器,並且路由器能夠訪問外網,可以通過訪問閘道器進行確定
[root@xiaolyu75 ~]# ping 192.168.31.1
如果確定網路沒問題的情況下, 可以通過如下步驟尋找解決辦法:
1) 確定設定了域名伺服器
沒有的話, 建議設定Google的公共DNS服務, 它應該不會出問題的
[root@xiaolyu75 ~]# cat /etc/resolv.conf
將dns新增到該檔案中,在測試過程中發現這個不是必要的,網管新增到該檔案中也是可以的。
2) 確保閘道器已設定
[root@xiaolyu75 ~]# grep GATEWAY /etc/sysconfig/network-scripts/ifcfg*
我的xiaolyu75機器不能上外網,是因為網管設定的不對,我設定成了GETWAY=192.168.31.1.
如果未設定, 則通過如下方式增加閘道器:
[root@xiaolyu75 ~]# route add default gw 192.168.31.1
或者手工編寫/etc/sysconfig/network-scripts/ifcfg*檔案後, 重啟network服務:
[root@xiaolyu75 ~]# service network restart
/etc/sysconfig/network-scripts/ifcfg-eth0:GATEWAY=192.168.31.1
3) 確保可用dns解析
[root@xiaolyu75 ~]# grep hosts /etc/nsswitch.conf
#hosts: db files nisplus nis dns
hosts: files dns
4)測試:
[root@xiaolyu75 ~]# ping -c 3 www.baidu.com
OK,搞定!