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