本文由ilanniweb提供友情贊助,首發於爛泥行天下linux
想要得到更多的文章,能夠關注個人微信ilanniwebweb
前幾天給一個客戶作遠程項目實施,客戶那邊的服務器是Windows OS的,咱們這邊的業務運行須要linux OS,因此就在Windows OS下安裝VMWare。centos
可是在配置VM的IP地址時,遇到了雙網卡配置IP地址的問題。宿主機是雙網卡,一塊網卡鏈接內網,一塊網卡鏈接外網。服務器
通過摸索終於把在VMWare上VM雙網卡配置IP地址的事情搞定了,下面記錄大體的配置過程。微信
PS:VM的兩塊網卡的IP地址分別是192.168.0.90、192.168.3.250。網絡
其中192.168.0.90是內網地址,192.168.3.250是外網地址。ide
本文中牽涉到的192.168.33.250是專線鏈接的遠程機器IP地址。測試
首先咱們來查看宿主機的兩塊網卡與其對應的IP地址。以下:spa
經過上圖,咱們能夠看到宿主機的兩塊網卡,在Windows OS下顯示的是本地鏈接和本地鏈接2,其中本地鏈接是外網網卡配置,以下:3d
本地鏈接2是內網網卡配置,以下:
注意:本地鏈接的描述是Yukon,而本地鏈接2的描述是I217-LM。
下面咱們開始配置VM的網卡與IP。
要配置VM網卡和IP地址,首先咱們要從新配置VMWare的網卡,以下:
VMWare的VMnet0橋接到宿主機的本地鏈接,即外網網卡。
而後咱們再添加一個新的網卡VMnet2,而且把VMnet2橋接到宿主機的本地鏈接2,即內網網卡。
VMWare兩塊網卡添加配置完畢後,咱們來給VM配置網卡,以下:
VMnet0外網網卡對應該VM網卡的MAC地址爲:00:0C:29:3C:78:41。
VMnet2外網網卡對應該VM網卡的MAC地址爲:00:0C:29:3C:78:4B。
以上配置完畢後,咱們開始配置該VM的eth0和eth1網卡,以下:
在該VM中eth0網卡配置爲外網IP地址,對應VMWare的VMnet0網卡,網關是192.168.3.1。
eth1網卡配置內內網IP地址,對應VMWare的VMnet2網卡,網關是192.168.0.1。
如今咱們登陸到該VM測試與外網的連通性,以下:
經過上圖,咱們能夠很容易的看到該VM與外網通訊是正常的。
如今咱們切換到宿主機上,測試該VM與宿主機的網絡連通性,以下:
經過上圖,咱們能夠很容易的看到該VM與宿主機通訊是正常的。
綜合上述咱們能夠很明顯的看到,VMWare的雙網卡配置已經成功。
對於VM雙網卡配置,咱們在實際使用過程會發現,若是遠程的主機與該VM雙網卡進行通訊時,是沒法進行通訊的,因此咱們的問題來了。
如何讓遠程的主機與該VM進行通訊呢?
其實很簡單,咱們只須要在該VM上配置一條到遠程主機的靜態路由就能夠了。
下面分享一個例子,該例子中遠程主機的IP地址是192.168.33.250。
如今咱們來給該VM添加靜態路由,以下:
route add -net 192.168.33.0/24 gw 192.168.0.1 dev eth1
該條命令的意思把須要發往192.168.33.0/24網段來的數據包所有經過192.168.0.1網關進行轉發,而且是經過eth1網卡轉發出去。
固然若是咱們要刪除已經添加的靜態路由的話,可使用以下命令:
route del -net 192.168.33.0/24 gw 192.168.0.1
靜態路由添加完畢後,咱們能夠在該VM上經過traceroute命令追蹤到遠程主機的路徑,以下:
traceroute 192.168.33.250
對於centos來講,若是沒有安裝traceroute命令的話,可使用以下命令安裝:
yum -y install traceroute
經過上圖,咱們能夠很容易的看出從該VM到遠程主機192.168.33.250的第一條路由是192.168.0.1,這個和咱們剛剛配置的靜態路由恰好進行匹配。
下面咱們再切換到遠程主機上,該遠程主機是Windows OS,咱們可使用tracert命令追蹤到該VM的路徑,以下:
tracert 192.168.0.90