相信大家對vmware都非常熟悉。它可以用來在一臺PC中實現多PC的效果,又稱虛擬機。虛擬機軟件既省錢又安全,對想學*nix的朋友來說很方便。我是一名軟件公司的技術支持工程師,公司的日常運作和FreeBSD不沾邊,所以在公司的時候沒有在真實環境下玩FreeBSD的硬件和網絡條件,平時需要帶筆記本上下班,我便是vmware的受益者之一。前段時間看了powerplane兄弟寫的"一種窮人利用vmware玩FreeBSD的方法",感覺不錯。今天就由我為大家介紹我的使用心得。
使用環境:
1、筆記本使用的Windows 2000 Advanced Server在公司可以通過局域網訪問Internet。
2、Win2000在實際局域網中的IP地址是192.168.0.240;網關是192.168.0.254;DNS是210.52.149.2;
3、我使用的是vmware3,VMNet1的IP地址是192.168.171.1;DHCP服務器地址是192.168.171.254;
VMNet8的IP地址是192.168.34.1;DHCP服務器地址是192.168.34.254;
4、Brigde方式安裝的FreeBSD的IP地址是192.168.0.179;網關是192.168.0.254;DNS是210.52.149.2;
實現功能:
1、我在公司的局域網內部使用我的FreeBSD維護著一個PHPBB論壇;
2、FreeBSD在公司的時候需要能上網,進行FTP、Ports安裝軟件等;
3、回到家中需要Win2000與FreeBSD連通;
4、回到家中需要維護PHPBB論壇及其數據庫,并需要用Win2000的IE進行瀏覽;
存在的問題1:
細心的朋友可能會發現以上需求中的矛盾。vmware中的guestos與外界通訊方式有3種:Bridge、Nat和Host-Only。如果要FreeBSD中的論壇能夠被公司局域網內部的其他機器訪問,則此FreeBSD在vmware中一定要使用Bridge方式。而回到家中在沒有實際局域網的環境下Win2000要是能與FreeBSD連通的話,則FreeBSD在vmware中一定要使用Host-Only方式。而此時如果還要在沒有物理網絡的情況下用Win2000去瀏覽PHPBB論壇即訪問Bridge方式安裝的FreeBSD,我們說這是不可能的,vmware中的Bridge方式在沒有局域網的情況下是不可能與外界通訊的,因為以Bridge方式安裝的FreeBSD與Win2000都相當于局域網中兩臺獨立的機器,所以我們說兩臺獨立的機器之間如果沒有網線的話是不能通訊的。那么怎么解決呢?
#p#副標題#e#
解決方法:
從以上需求我們可以看出,重點在與怎樣讓Win2000在沒有物理網絡的情況下能夠訪問到PHPBB論壇。而此時Win2000只能使用Host-Only方式安裝的FreeBSD,那么我們按照這個思路,來把我們的Bridge方式的 FreeBSD轉變成Host-Only方式的FreeBSD。首先新建一個虛擬機,選擇自定義安裝;Guest OS選擇FreeBSD;為新虛擬機起一個容易識別的名字;
網絡連接選則Host-Only方式;在選擇disk的界面,選擇一個已經存在的disk,此時按照實際路徑找到我們先前安裝的Bridge方式的FreeBSD的.vmdk文件,此時注意一般安裝好的虛擬機文件都會有大約FreeBSD.vmdk、FreeBSD-02.vmdk等順序命名的文件,在這里我們選擇FreeBSD.vmdk,根據我的實驗結果選擇FreeBSD-02.vmdk或者別的.vmdk文件都是不行的,系統會提示"The specified file is not a valid VMware disk.",我想可能這就是FreeBSD.vmdk與其他.vmdk文件的區別吧;在Disk Mode的界面,我選擇Persistent即永久改變,其他兩個選項分別是Undoable即關閉此虛擬機前詢問是否保存對借用的Bridge方式FreeBSD的虛擬機文件的修改,Nonpersistent即關閉此虛擬機前不保存對借用的Bridge方式FreeBSD的虛擬機文件的修改,選好后,單擊完成按鈕。至此,我們就新建了一個Host-Only方式的FreeBSD。
效果說明:
經過本人的反復試驗,可以證明用以上方法創建的FreeBSD與原來的Bridge方式的FreeBSD在內容上是完全一致的,包括原FreeBSD的一個重要參數——IP地址。大家可以放心使用。
存在的問題2:
我們說這個Host-Only方式的FreeBSD還是不能為Win2000提供WEB瀏覽服務。因為FreeBSD保留原來的IP地址192.168.0.179,而Win2000此時是使用VMNet1來與FreeeBSD進行通訊,IP地址是192.168.171.1。所以我們的第二個問題是IP地址的問題。
#p#副標題#e#
解決方法:
在Win2000的網絡及撥號連接里面將VMNet1的DHCP服務去掉,并為它分配192.168.0.0網段的IP地址。
效果說明:
這樣就使Win2000的物理網卡綁定的IP地址、FreeBSD的IP地址以及VMNet1的IP地址都處于同一網段。這樣就方便多了。有的朋友可能會問,要是在公司的時候VMNet1的IP地址與公司現有IP沖突怎么辦,經過我的實驗,可以證明,VMNet1的IP與實際物理網絡的IP是不會沖突的,因為VMNet在物理網絡中是不參與通訊的,所以您可以盡情使用。
好了大功告成了,哈哈,這樣如果要實現我上面敘述的需求的話,只需要在公司的時候打開Bridge方式的FreeBSD、在家的時候打開Host-Only方式的FreeBSD即可,所達到的效果都是一模一樣的。
寫這篇文章的初衷是因為我在學習BSD的過程中遇到的最大障礙是沒有一個很好的網絡環境。曾經我為了怎樣在沒有物理網絡的情況下實現HOSTOS與GUESTOS之間的通訊而犯愁,現在好了,不但HOSTOS與GUESTOS之間暢通無阻,而且還能在不同環境下操作相同的FreeBSD,真是兩全其美。有條件使用真實環境的朋友可能體會不到這種感覺。我想在眾多的BSDer中一定有很多朋友也遇到與我相同的問題,您不妨參考一下,希望您能有所收獲。也希望各位vmware高手批評指正
總結:
本文很好地解決了將實際的物理網絡和使用vmware軟件創建的虛擬網絡進行無逢連接的問題,故文章命名為"vmware-虛擬與現實的完美結合。