我的Host是Windows7,安裝VMware虛擬機,在虛擬機中裝了Ubuntu10.04,首先介紹下VMware下的幾個虛擬設備:
VMnet0:VMware用于虛擬橋接網絡下的虛擬交換機;
VMnet1:VMware用于虛擬Host-Only網絡下的虛擬交換機;
VMnet8:VMware用于虛擬NAT網絡下的虛擬交換機;
VMware Network Adapter VMnet1:這是Host用于與Host-Only虛擬網絡進行通信的虛擬網卡;
VMware Network Adapter VMnet8:這是Host用于與NAT虛擬網絡進行通信的虛擬網卡;
一.虛擬機和虛擬網卡之間的關系
在使用VMware Workstation創建虛擬機時,創建的虛擬機中可以包括網卡。你可以根據需要選擇使用何種虛擬網卡,從而表明想要連接到那個虛擬交換機。在VMware Workstation中,默認有3個虛擬交換機,分別是VMnet0(使用橋接網絡)、VMnet1(僅主機網絡)和VMnet8(NAT網絡),還可以根據需要添加VMnet2~VMnet7和VMnet9等7個虛擬機交換機,而在VMware Workstation 5以后的版本中,還可以使用Team中的提供的虛擬交換機。
二、橋接網絡(bridge)
在橋接模式下,VMware虛擬出來的操作系統就像是局域網中的一獨立的主機,它可以訪問網內任何一臺機器。不過你需要多于一個的IP地址,并且需要手工為虛擬系統配置IP地址、子網掩碼,而且還要和宿主機器處于同一網段,這樣虛擬系統才能和宿主機器進行通信。 如果你想利用VMware在局域網內新建一個虛擬服務器,為局域網用戶提供網絡服務,就應該選擇橋接模式。可將虛擬機模擬接入主機所在的局域網。
三、nat網絡
在NAT網絡中,會使用到VMnet8虛擬交換機,Host上的VMware Network Adapter VMnet8虛擬網卡被連接到VMnet8交換機上,來與Guest進行通信,但是VMware Network Adapter VMnet8虛擬網卡僅僅是用于和VMnet8網段通信用的,它并不為VMnet8網段提供路由功能,處于虛擬NAT網絡下的Guest是使用虛擬的NAT服務器連接的Internet的。
這時候,你的Guest和Host就可以實現互訪了,并且如果你的Host此時已經連接到了Internet,那么你的Guest也就可以連上Internet了。那么VMware Network Adapter VMnet8虛擬網卡在這里扮演了一個什么角色呢?它僅僅是為Host和NAT虛擬網絡下的Guest通信提供一個接口,所以,即便Disable掉這塊虛擬網卡,Guest仍然是可以上網的,只是Host無法再訪問VMnet8網段而已。
這種方式的時候,主機需要開啟vmdhcp和vmnat服務。
使用NAT模式,就是讓虛擬系統借助NAT(網絡地址轉換)功能,通過宿主機器所在的網絡來訪問公網。也就是說,使用NAT模式可以實現在虛擬系統里訪問互聯網。NAT模式下的虛擬系統的TCP/IP配置信息是由VMnet8(NAT)虛擬網絡的DHCP服務器提供的,無法進行手工修改,因此虛擬系統也就無法和本局域網中的其他真實主機進行通訊。采用NAT模式最大的優勢是虛擬系統接入互聯網非常簡單,你不需要進行任何其他的配置,只需要宿主機器能訪問互聯網即可。 如果你想利用VMware安裝一個新的虛擬系統,在虛擬系統中不用進行任何手工配置就能直接訪問互聯網,建議你采用NAT模式。
四、host-only
在某些特殊的網絡調試環境中,要求將真實環境和虛擬環境隔離開,這時你就可采用Host-only模式。在Host-only模式中,所有的虛擬系統是可以相互通信的,但虛擬系統和真實的網絡是被隔離開的。可以利用Windows XP里面自帶的Internet連接共享(實際上是一個簡單的路由NAT)來讓虛擬機 通過主機真實的網卡進行外網的訪問。虛擬系統的TCP/IP配置信息(如IP地址、網關地址、DNS服務器等),都是由VMnet1(Host-only)虛擬網絡的DHCP服務器來動態分配的。如果你想利用VMware創建一個與網內其他機器相隔離的虛擬系統,進行某些特殊的網絡調試工作,可以選擇Host-only模式。
在Host-Only網絡中,Host-Only網絡被用來設計成一個與外界隔絕的網絡,其實Host-Only網絡和NAT網絡非常相似,唯一不同的地方就是在Host-Only網絡中,沒有用到NAT服務,沒有服務器為VMnet1做路由,它當然就沒有辦法訪問Internet啦,可是如果我的Host要和Guest通信呢?怎么辦?對了!當然就要用到VMware Network Adapter VMnet1這塊虛擬網卡了。
可以看到,在Host-Only網絡下,Guest的Default Gateway被設置為NULL,這是由于沒有使用虛擬NAT服務器的緣故,但是,即便使用route add命令加上某個地址做它的路由,它仍然不能訪問Internet(實際上也沒有地址可加)。這樣,我的Guest雖然沒有辦法訪問Internet,但是仍然可以和我的Host進行通信。實施上,如果我們足夠BT,也可以在Host上來為VMware Network Adapter VMnet1虛擬網卡來做路由,比如,我們可以用Windows 2000的RRAS來做,這樣的話,處于Host-Only網絡下的Guest就又可以上網了,他們只需要使用route add命令把自己的Default Gateway改成VMware Network Adapter VMnet1網卡即可,不過這樣不推薦,也沒有必要。如果僅僅想讓虛擬機訪問互聯網,nat方式是最簡單的,基本上不需要做什么操作,就能自動連接上。這也是默認的設置參數。
作為開發人員,我們通常需要主機,虛擬機,開發板 具有獨立的地址,能互相訪問。那么我們可以使用下面兩種網絡配置方式,bridge and host-only。
橋接是最簡單的方式,一般是你有一個網關,你的windows主機和你VMWare里的各種unix/linux系統,都通過這個網關來通訊.
而主機方式,是在沒有網絡的情況下, windows主機操作系統能與VMWare虛擬機上的客戶操作系統正常通訊。我們從VMWare的Virtual Network Edit里可以看出,vnet0是用來實現橋接模式的,vnet1是用來實現主機模式的。主機和客戶機是直接通過vnet1通訊的。
在主機方式下,windows主機操作系統不需要配置什么了,我們打開cmd.exe,輸入ipconfig,就知道VMnet1的ip地址是什么了,因為這個ip就是VMWare虛擬機上的客戶操作系統的網關ip地址。我的VMWare虛擬機上一般裝的是redhat,因為linux系列里redhat是最常見的,公司用的有suse, slaceware,unix使用solaris,freeBSD。那么我們在客戶操作系統上配置網絡,主要注意的是,網關的IP就是你在windows主機操作系統里用ipconfig命令查看到的VMnet1的ip地址。
例如:我在windowsXP主機下用ipconfig看到VMnet1的IP地址是192.168.159.1,那我在redhat里就把網關IP配置為192.168.159.1,把redhat的IP配置為192.168.159.2。我們從windowsXP主機cmd.exe里ping 192.168.159.2,如果redhat啟動sshd服務器, 我們可以telnet 192.168.159.2 22,若連接成功則一切安裝OK,說明我們從windowsXP主機連接redhat系統沒有問題了。反之,我們怎么從redhat系統連接windowsXP主機, 從redhat系統角度來看,VMnet1的IP地址就是windowsXP主機的地址,在redhat系統里ping 192.168.159.1, 再telnet 192.168.159.1 139, 若連接成功則一切安裝OK,說明我們從redhat系統連接windowsXP主機沒有問題了。
想學習unix/linux上c/c++開發或者其它,一個好方法就是在windows系統上裝VMWare,然后在WMWare里安裝各種unix/linux系統,通過crt、winscp等shell工具來連接unix/linux系統進行操作, 這樣既不會因為沒有windows系統而做其它事不方便,又能在一臺pc機器上安裝各種unix/linux系統。
核心內容:
1. Windows 沙盒提供隔離的輕型桌面環境,可安全運行應用程序。
2. 沙盒環境中的軟件與主機隔離,狀態不會保留。關閉后,系統刪除所有內容。
3. 每次打開,獲取全新沙盒實例。主機軟件不直接出現在沙盒中。
4. Windows 沙盒屬性:
a) 自帶Windows 10專業版和企業版功能,無需下載。
b) 如全新Windows安裝,每次運行均干凈。
c) 無內容保留,關閉后丟棄所有內容。
d) 硬件虛擬化隔離內核,依賴Microsoft虛擬機監控程序。
e) 高效,采用集成內核計劃程序、智能內存管理和虛擬GPU。
f) 默認啟用網絡連接。
5. 開啟Windows 沙盒必備條件:Windows 10專業版、企業版;AMD64或ARM64體系結構;BIOS中啟用虛擬化;至少4GB內存;至少1GB硬盤空間;至少雙核CPU。
6. 查看Windows版本:win+R,輸入cmd,確定,在命令窗口輸入msinfo32;或ver;或winver。
7. 開啟沙盒:開始菜單→控制面板→程序→啟用或關閉Windows功能→Windows沙盒。
8. 沙盒軟件測試:開始菜單→Windows沙盒;下載并獨立安裝軟件,不出現在主機上;關閉沙盒,提示內容將丟失。
9. 沙盒與主機數據傳輸:無法拖拽,可以復制粘貼。
10. 沙盒網絡通信:使用Hyper-V Network,通過虛擬網卡與主機通信。網關地址指向主機Hyper-V虛擬網卡地址。
11. 沙盒不支持多開實例。
12. 自定義沙盒:使用.wsb配置文件控制沙盒vGPU、網絡、映射文件夾、登錄命令等。
13. 創建和使用配置文件:新建.wsb文件;插入<Configuration></Configuration>標簽;添加配置文本;保存為.wsb文件;雙擊使用或命令行調用。
14. 配置文件關鍵字、值和限制:vGPU、網絡、映射文件夾、登錄命令等。
15. 配置實例1:禁用網絡和vGPU,映射只讀下載文件夾,登錄命令打開下載文件夾。
16. 配置實例2:映射文件夾,登錄命令下載并運行VS Code。
17. 使用配置文件啟動沙盒:保存為.wsb文件,雙擊使用。可放在桌面或開始菜單中。
詳細內容:
Windows 沙盒提供了輕型桌面環境,可以安全地在隔離狀態下運行應用程序。 安裝在 Windows 沙盒環境下的軟件保持“沙盒”狀態,并且與主機分開運行。
沙盒是臨時的。 關閉后,系統將刪除所有軟件和文件以及狀態。 每次打開應用程序時,都會獲得沙盒的全新實例。
安裝在主機上的軟件和應用程序不會直接出現在沙盒中。 如果需要在 Windows 沙盒環境中運行特定的應用程序,則相應的應用程序必須就是安裝在沙盒環境中才行。
按下快捷鍵,win+R,輸入cmd,確定,打開命令窗口,輸入msinfo32,注意要在英文狀態下輸入,回車。然后在彈出的窗口中就可以看到系統的具體版本號了。
按下快捷鍵,win+R,輸入cmd,確定,打開命令窗口,輸入ver,回車。
按下快捷鍵,win+R,輸入winver,確定。
1,點擊開始菜單--輸入“控制面板”
2,控制面板中,打開程序
3,在程序中,點擊 啟用或關閉windows功能,找到windows沙盒,打上√。點擊確定
1,打開windows沙盒
點擊開始菜單--輸入 windows sandbox,點擊打開
2,下載安裝軟件
比如QQ,獨立安裝在windows沙盒中。并不會出現在主機上。當然主機上的軟件火絨也同樣不會出現在windows沙盒中。
3,關閉沙盒
點擊關閉windows沙盒程序,會提示,關閉windows沙盒后,其所有內容都將放棄并永久丟失。
windows沙盒和主機系統之間是無法通過拖拽傳輸數據的
可以通過復制粘貼,直接復制主機上的文件,然后粘貼在windows沙盒中即可
windows沙盒和主機之間的網絡通信,使用的是Hyper-V Network。采用了Hyper-V網絡虛擬化技術,通過虛擬網卡和主機進行通信。
windows沙盒網關地址指向主機上的Hyper-V虛擬網卡的地址。
不支持多開。運行一個windows沙盒后,再次打開Windows Sandbox。會提示如下報錯。僅允許一個運行的Windows沙盒
Windows 沙盒支持簡單的配置文件,這些文件為 Sandbox 提供最少的自定義參數集。 此功能可用于Windows 10版本 18342 或Windows 11。 Windows 沙盒配置文件的格式設置為 XML,并通過
.wsb
文件擴展名與 Sandbox 關聯。
若要創建配置文件,請執行以下操作:
<Configuration></Configuration>
若要使用配置文件,請雙擊它,根據其設置開始Windows 沙盒
。 也可以通過命令行調用它,如下所示:
C:\Temp> MyConfigFile.wsb
啟用或禁用 GPU 共享。
<vGPU>value</vGPU>
支持的值:
備注:啟用虛擬化 GPU 可能會增加沙盒的攻擊面。
啟用或禁用沙盒中的網絡。 可以禁用網絡訪問,以減少沙盒暴露的攻擊面。
<Networking>value</Networking>
支持的值:
備注:啟用網絡可以向內部網絡公開不受信任的應用程序。
一個文件夾數組,每個文件夾表示主機上將共享到指定路徑的沙盒中的位置。 目前不支持相對路徑。 如果未指定路徑,文件夾將映射到容器用戶的桌面。
<MappedFolders><MappedFolder> <HostFolder>absolute path to the host folder</HostFolder> <SandboxFolder>absolute path to the sandbox folder</SandboxFolder> <ReadOnly>value</ReadOnly> </MappedFolder><MappedFolder> ... </MappedFolder></MappedFolders>
HostFolder
:指定要共享到沙盒中的主機上的文件夾。 該文件夾必須已存在于主機上,否則容器將無法啟動。
沙盒文件夾
:指定要將文件夾映射到的沙盒中的目標。 如果文件夾不存在,則會創建該文件夾。 如果未指定沙盒文件夾,文件夾將映射到容器桌面。
ReadOnly
:如果
為 true
,則強制從容器內對共享文件夾進行只讀訪問。 支持的值:
true
/
false
。 默認值為
false
。
備注:從主機映射的文件和文件夾可能會被沙盒中的應用入侵,或者可能會影響主機。
指定在沙盒登錄后自動調用的單個命令。 沙盒中的應用在容器用戶帳戶下運行。 容器用戶帳戶應為管理員帳戶。
<LogonCommand><Command>command to be invoked</Command></LogonCommand>
命令
:容器中要在登錄后執行的可執行文件或腳本的路徑。
備注:盡管非常簡單的命令 ((例如啟動可執行文件或腳本) )有效,但應將涉及多個步驟的更復雜的方案放入腳本文件中。 此腳本文件可通過共享文件夾映射到容器,然后通過
LogonCommand
指令執行。
啟用或禁用沙盒的音頻輸入。
<AudioInput>value</AudioInput>
支持的值:
備注:向容器公開主機音頻輸入可能會有安全影響。
啟用或禁用沙盒的視頻輸入。
<VideoInput>value</VideoInput>
支持的值:
備注:向容器公開主機視頻輸入可能會產生安全影響。
將更多安全設置應用到沙盒遠程桌面客戶端,減少其攻擊面。
<ProtectedClient>value</ProtectedClient>
支持的值:
備注:此設置可能會限制用戶在沙盒中復制/粘貼文件的能力。
啟用或禁用從主機到沙盒的打印機共享。
<PrinterRedirection>value</PrinterRedirection>
支持的值:
啟用或禁用與沙盒共享主機剪貼板。
<ClipboardRedirection>value</ClipboardRedirection>
支持的值:
指定沙盒可以使用 MB (MB) 的內存量。
<MemoryInMB>value</MemoryInMB>
如果指定的內存值不足以啟動沙盒,則會自動將其增加到所需的最小量。
以下配置文件可用于輕松測試沙盒內下載的文件。 若要實現此測試,將禁用網絡和 vGPU,并允許沙盒對共享下載文件夾進行只讀訪問。 為方便起見,登錄命令會在沙盒中打開下載文件夾。
<Configuration> <VGpu>Disable</VGpu> <Networking>Disable</Networking> <MappedFolders> <MappedFolder> <HostFolder>C:\Users\Public\Downloads</HostFolder> <SandboxFolder>C:\Users\WDAGUtilityAccount\Downloads</SandboxFolder> <ReadOnly>true</ReadOnly> </MappedFolder> </MappedFolders> <LogonCommand> <Command>explorer.exe C:\users\WDAGUtilityAccount\Downloads</Command> </LogonCommand></Configuration>
對應的文件夾目錄一定要正確,否則無法打開windows sandbox,會有報錯提示。
<HostFolder>C:\Users\Public\Downloads</HostFolder>,對應你本機的文件夾目錄。
以下配置文件在沙盒中安裝Visual Studio Code,這需要稍微復雜的 LogonCommand 安裝。
兩個文件夾映射到沙盒中;第一個 (SandboxScripts) 包含 VSCodeInstall.cmd,它將安裝并運行Visual Studio Code。 (CodingProjects) 的第二個文件夾假定包含開發人員想要使用Visual Studio Code修改的項目文件。
這2個文件夾需要在主機目錄下創建。
C:\SandboxScripts
C:\CodingProjects
由于Visual Studio Code安裝程序腳本已映射到沙盒中,LogonCommand 可以引用它。
REM Download Visual Studio Codecurl -L "https://update.code.visualstudio.com/latest/win32-x64-user/stable" --output C:\users\WDAGUtilityAccount\Desktop\vscode.exeREM Install and run Visual Studio CodeC:\users\WDAGUtilityAccount\Desktop\vscode.exe /verysilent /suppressmsgboxes
<Configuration> <MappedFolders> <MappedFolder> <HostFolder>C:\SandboxScripts</HostFolder> <ReadOnly>true</ReadOnly> </MappedFolder> <MappedFolder> <HostFolder>C:\CodingProjects</HostFolder> <ReadOnly>false</ReadOnly> </MappedFolder> </MappedFolders> <LogonCommand> <Command>C:\Users\WDAGUtilityAccount\Desktop\SandboxScripts\VSCodeInstall.cmd</Command> </LogonCommand></Configuration>
運行后VSCode.wsb,沙盒中自動下載并運行vscode
完成后,保存文件并為其提供 .wsb 文件擴展名。例如,如果文本編輯器將其另存為沙盒.txt,請將其另存為 Sandbox.wsb。若要使用你的設置啟動 Windows 沙盒,請雙擊 .wsb 文件。你可以將其放在桌面上,也可以在“開始”菜單中創建它的快捷方式。
碼字不易,覺得有點用就點個贊吧