關(guān)鍵字
Windows; Window 10; VirtualBox; Ubuntu 16.04; 互ping;外網(wǎng)
每次電腦重裝系統(tǒng)或者到一個(gè)新的環(huán)境币砂,需要使用linux時(shí)开瞭,經(jīng)常會(huì)選擇裝虛擬機(jī)坚芜,畢竟工作生活主要環(huán)境還是Windows凶掰。每次安裝虛擬機(jī)以后吴汪,總會(huì)不可避免的涉及到主機(jī)與虛擬機(jī)通信钞楼,以及虛擬機(jī)上網(wǎng)等需求喇闸,然而每次都需要折騰半天,所以這次痛下心來整理總結(jié)询件。
環(huán)境
宿主機(jī)器(后檢查“主機(jī)”):Windows 10
虛擬機(jī): Ubuntu 16.04
虛擬工作: VirtualBox 5.1.24
宿主機(jī)器IP: 192.168.56.1
虛擬機(jī)IP: 192.168.56.2(Host-Only)和10.0.2.5(NAT)
需求
- **主機(jī)和虛擬器能夠互相ping通燃乍,并且虛擬機(jī)IP固定 **(通常我喜歡在Win主機(jī)SSH到虛擬機(jī)上,這樣不用切環(huán)境方便)
- 虛擬機(jī)能夠上網(wǎng)(不然沒法安裝軟件沒法玩)
解決思路
需求1
對于需求1而言宛琅,一般可以用過host only模式解決刻蟹,對于ubuntu還是其他linux發(fā)行版系統(tǒng)而言,都可以這樣做嘿辟,但是細(xì)節(jié)上有些不同的坑舆瘪。Win10 + Ubuntu 16.04貌似小坑很多,具體解決細(xì)節(jié)如下:
1). 在VirtualBox上的全局設(shè)定(Ctrl+G)中的網(wǎng)絡(luò)下設(shè)置Host-Only網(wǎng)絡(luò)红伦,添加一塊Host-Only網(wǎng)卡(默認(rèn)情況下是有一張的英古,如果有則不需要添加),并且不啟用HDCP服務(wù)器(因?yàn)槲覀兲摂M機(jī)需要設(shè)置固定ip色建,這樣主機(jī)才能方便連接哺呜,不然多臺(tái)虛擬機(jī)時(shí)每次虛擬機(jī)開機(jī)ip可能都會(huì)有些不同)。
2). 設(shè)置虛擬機(jī)的局特特性(Ctrl+S),在網(wǎng)絡(luò)選項(xiàng)卡下多啟用一塊網(wǎng)卡某残,并將連接模式設(shè)置為“僅主機(jī)(Host-Only)網(wǎng)絡(luò)”国撵,界面名稱選在1).中添加的那塊網(wǎng)卡名稱。
3). 設(shè)置好了以后玻墅,接下來需要進(jìn)入虛擬機(jī)中進(jìn)行配置介牙,此處遇到幾個(gè)坑是以前沒遇見的。在虛擬機(jī)(Ubuntu)下的配置信息如下:
在terminal下打開網(wǎng)卡配置文件
vim vim /etc/network/interfaces
在網(wǎng)卡配置文件中進(jìn)行如下設(shè)置
# 在interfaces文件中進(jìn)行如下設(shè)置
# enp0s8是對應(yīng)采用Host-Only網(wǎng)路的網(wǎng)卡
auto enp0s8
iface enp0s8 inet static
# 因?yàn)橹鳈C(jī)的Host-Only網(wǎng)卡的ip是192.168.56.1澳厢,所以虛擬機(jī)要設(shè)置在同一個(gè)網(wǎng)絡(luò)段192.168.51.*
address 192.168.56.2
netmask 255.255.255.0
# 切記在ubuntu下不要設(shè)置網(wǎng)關(guān)环础,否則虛擬機(jī)無法上外網(wǎng)
# gateway 192.168.56.1
設(shè)置好上述文件后,保存推出剩拢,執(zhí)行如下命令重啟網(wǎng)絡(luò)
sudo /etc/init.d/networking restart
若重啟成功以后线得,主機(jī)可以ping通過虛擬機(jī)。但是這次我卻發(fā)現(xiàn)徐伐,主機(jī)可以ping虛擬機(jī)贯钩,但是虛擬機(jī)無法ping通主機(jī)。非常郁悶办素,想了好久才考慮到是不是是防火墻的問題角雷,最后發(fā)現(xiàn)真是Win10防火墻的問題(PS: Win10沒有安裝第三方殺軟,所以不想直接關(guān)閉防火墻)性穿。在Windows中進(jìn)行設(shè)置勺三,控制面板 -> Windows防火墻 ->高級(jí)設(shè)置-> 入站規(guī)則中啟用文件和打印機(jī)共享(回顯請求 - ICMPv4-In)規(guī)則(我不需要IPv6,所以不選擇ICMPv6-In),這樣即可解決虛擬機(jī)ping主機(jī)的問題需曾。
注:Windows 10的防火墻設(shè)置上很多默認(rèn)都是禁止連入吗坚,如果一些主機(jī)上的端口虛擬機(jī)無法訪問,則需要去防火墻放行對應(yīng)端口胯舷。
需求2
對于需求2而言刻蚯,在全局設(shè)定(Ctrl+G)中網(wǎng)絡(luò)添加NAT網(wǎng)卡(默認(rèn)設(shè)置),然后在虛擬機(jī)的局部設(shè)置(Ctr+S)中網(wǎng)絡(luò)里啟用另一塊網(wǎng)卡桑嘶,連接方式設(shè)置為NAT網(wǎng)絡(luò)即可炊汹。
經(jīng)過這上述設(shè)置,虛擬機(jī)便可以訪問外網(wǎng)逃顶,同時(shí)和主機(jī)也可以實(shí)現(xiàn)雙向互ping讨便。
總結(jié)
理解VirtualBox中虛擬機(jī)的集中網(wǎng)絡(luò)連接方式,可以方便滿足工作中的網(wǎng)絡(luò)需求以政。如果虛擬機(jī)是CentOS 7的情況霸褒,可以參考文http://www.linuxidc.com/Linux/2017-01/139345.htm,與Ubuntu主要區(qū)別在于配置網(wǎng)卡信息時(shí)有所不同盈蛮。