先說說VirualBox的幾種網(wǎng)絡(luò)模式
Bridged networking 橋接模式
可以滿足虛擬機(jī)中的所有網(wǎng)絡(luò)需求,通過使用host主機(jī)的網(wǎng)卡,直接連到host網(wǎng)絡(luò),此時(shí)的虛擬機(jī)就和真正的機(jī)器一樣.虛擬機(jī)可以訪問外網(wǎng),可以訪問host主機(jī).host主機(jī)也可以訪問虛擬機(jī).
機(jī)器 | IP |
---|---|
host主機(jī) | 192.168.1.2 |
虛擬機(jī)1 | 192.168.1.2 |
虛擬機(jī)2 | 192.168.1.3 |
虛擬機(jī)3 | 192.168.1.4 |
Network Address Translation (NAT) 網(wǎng)絡(luò)地址轉(zhuǎn)發(fā)
機(jī)器 | IP |
---|---|
host主機(jī) | 192.168.1.2 |
虛擬機(jī)1 | 10.0.2.15 |
虛擬機(jī)2 | 10.0.2.15 |
虛擬機(jī)3 | 10.0.2.15 |
這個(gè)一般是VirtualBox的默認(rèn)網(wǎng)絡(luò)模式,特點(diǎn)是可以直接訪問外網(wǎng),但是不能訪問host主機(jī),host主機(jī)當(dāng)然也不能訪問到虛擬機(jī)了.這是一個(gè)由VirtualBox分配的私有網(wǎng)絡(luò),如果需要它的一些端口對(duì)外部可見,我們可以添加一些轉(zhuǎn)發(fā)規(guī)則.
Host-only networking 僅主機(jī)
看名字就知道了,這個(gè)網(wǎng)絡(luò)模式只有host主機(jī)可以訪問虛擬機(jī),虛擬機(jī)可以訪問host主機(jī),但是虛擬機(jī)是不可以訪問外網(wǎng)的.
NAT模式和僅主機(jī)模式,我們都可以在VirtualBox的全局設(shè)定中去添加并且設(shè)置一些我們需要的參數(shù),比如設(shè)置僅主機(jī)的IP,這樣我們可以直接這個(gè)網(wǎng)關(guān)下的IP訪問到我們的虛擬機(jī)
機(jī)器 | IP |
---|---|
host主機(jī) | 192.168.1.2 |
虛擬機(jī)1 | 192.168.10.2 |
虛擬機(jī)2 | 192.168.10.3 |
虛擬機(jī)3 | 192.168.10.4 |
Internal networking 內(nèi)部網(wǎng)絡(luò)
顧名思義,就是虛擬機(jī)內(nèi)部之間通訊的網(wǎng)絡(luò),不能訪問host,也不能訪問外網(wǎng)
機(jī)器 | IP |
---|---|
host主機(jī) | 192.168.1.2 |
虛擬機(jī)1 | 123.124.125.12 |
虛擬機(jī)2 | 123.124.125.13 |
虛擬機(jī)3 | 123.124.125.14 |
我們常用的大概也就這些,現(xiàn)在我們來說說具體在ubuntu中如何設(shè)置
ubuntu14.04中的網(wǎng)絡(luò)設(shè)置
橋接
這是最簡單的一種方式,直接使你的ubuntu虛擬機(jī)和你的host主機(jī)是在同一個(gè)路由里面的,虛擬機(jī)可以訪問外網(wǎng)和host主機(jī).
不過這種方式有一個(gè)前提,是你得有路由器...
如果是我們使用的無線網(wǎng),或者我們沒有任何路由器,只是在本機(jī)無網(wǎng)絡(luò)的情況下開發(fā)呢?我們就需要使用僅主機(jī)模式了
NAT網(wǎng)絡(luò)轉(zhuǎn)發(fā) + 僅主機(jī)
個(gè)人認(rèn)為這是最理想的一種方式了,首先在我們安裝ubuntu的時(shí)候,VirtualBox就默認(rèn)給我們安裝了一個(gè)NAT網(wǎng)絡(luò)轉(zhuǎn)發(fā)的網(wǎng)卡,這個(gè)就讓虛擬機(jī)可以訪問外網(wǎng)了,但是不能訪問host主機(jī),host主機(jī)也不能訪問到虛擬機(jī).所以我們需要再添加一塊網(wǎng)卡,設(shè)置一個(gè)僅主機(jī)的網(wǎng)絡(luò)模式,這樣雙網(wǎng)卡,就實(shí)現(xiàn)了我們想要的效果了.
我們首先要在VirtualBox全局設(shè)置里面添加一個(gè)僅主機(jī)的網(wǎng)絡(luò),并設(shè)置一下網(wǎng)關(guān)
然后在設(shè)置ubuntu虛擬機(jī),增加一塊網(wǎng)卡
在ubuntu中配置新添加的網(wǎng)卡
sudo vim /etc/network/interfaces
修改這個(gè)文件成下面這樣的
我試了重啟網(wǎng)卡沒有效果,就直接重啟ubuntu系統(tǒng)了
sudo reboot
host主機(jī)連接ubuntu,IP就是我們剛才新添加的那個(gè)網(wǎng)卡的IP
ssh lwt@192.168.10.100
ubuntu16.04的網(wǎng)絡(luò)配置
ubuntu16.04采用了另一種網(wǎng)卡的命名方式,在配置第二個(gè)網(wǎng)卡的時(shí)候,前面的操作都一樣,就是在配置文件中配置靜態(tài)IP的時(shí)候有些不同
首先,使用命令,查看新添加的網(wǎng)卡的名字:
ifconfig -a
結(jié)果如下:
可以看到,我們?cè)?code>ifconfig的時(shí)候只有enp0s3
和lo
兩個(gè)網(wǎng)卡,但是通過ifconfig -a
命令的時(shí)候,就多出來一個(gè)網(wǎng)卡enp0s8
這個(gè)多出來的網(wǎng)卡就是我們?cè)谔摂M機(jī)硬件配置里新添加的那個(gè)僅主機(jī)的網(wǎng)卡,所以我們需要把這個(gè)網(wǎng)卡添加的網(wǎng)卡的配置文件中:
vim /etc/network/interfaces
修改如下: