VirtualBox Linux(CentOS 7.6) 設置網卡

剛剛將CentOS安裝到VirtualBox中的時候,經常要做一些設置操作,以前本身windows系統就是DHCP分配的IP地址,所以虛擬機只需要設置橋接網絡就可以,但是如果windows本身就是固定IP,你也不知道有其他什麼IP可以上網的時候,橋接網絡就不合適了,因爲就算橋接完了,還要再去分配一個固定IP給虛擬機,分配IP這種事情還要看網管和公司管理層肯不肯,虛擬機這麼私人的事情,還是能自己解決就儘量自己解決吧。

其實解決的辦法是很簡單的,首先我們的虛擬機網路默認設置的連接方式都是【網路地址轉換(NAT)】,這個時候你打開虛擬機的CentOS(我的是最小系統所以就不說什麼打開終端之類的了),輸入以下指令:

ip a

應該只能得到類似【10.0.2.15】這樣的地址(CentOS的網絡服務一般都是使用ip指令了,ifconfig指令需要通過yum install -y net-tools.x86_64安裝,不過既然CentOS都已經提供了足以代替ifconfig的指令,我就直接用了,不熟悉ip指令的同學可以安裝ifconfig指令):

在windows主機上執行:

ping 10.0.2.15 

會發現ping不通,根本找不到這個地址,但是在CentOS裏面ping www.baidu.com是ping的通的,這說明網絡連接正常,NAT協議成功的讓你訪問到了外網(對不起,對我來說這個域名除了搜索以外最大的用途應該就是這個了)。

那我們該怎麼連接內網呢,讓我們設置一下【網絡】的連接方式爲【僅主機(Host-Only)網絡】:

這裏解釋一下爲什麼不直接用橋接模式,因爲橋接模式是虛擬機連接到主機所在局域網,虛擬機相當於成爲了一個獨立的主機,如果你本身windows就是分配好的固定IP,除非你有另一個可用的固定IP,不然拿什麼分配給你的虛擬機呢?如果虛擬機設置了橋接模式,而網關又不是採用DHCP分配IP,那你的虛擬機執行ip a或者ifconfig可能會看到ip地址是一堆雜七雜八的東西。

設置完網絡連接方式之後再次執行【ip a】指令得到類似下圖的結果:

此時在windows中啓動cmd並執行:

ping 192.168.56.102

得到如下結果:

可以看到windows已經可以ping通虛擬機,但是虛擬機此時ping www.baidu.com是會失敗的,因爲你的虛擬機此時的網絡連接僅僅與主機相連,並沒有穿透到外網。這兩個方案一個不能連接到外網,一個不能連接到主機,這可如何是好?

相信已經有小夥伴想到了解決方案了——我們需要轉換思路,不能只想着這兩種方法既不能做什麼又不能做什麼,應該想到這些方案既能做什麼又能做什麼——既然一個方案能連接到外網,另一個方案能連接到主機,那兩種方案合起來不就是又能連接外網又能連接主機嗎?

讓我們先設置網卡1爲【網路地址轉換(NAT)】,然後點擊網卡2,啓用網絡連接並設置連接方式爲【僅主機(Host-Only)網絡】,接着啓動CentOS:

再次運行【ip a】指令,將得到這樣的結果:

可以看到網絡配置項有enp0s3和enp0s8兩個,一個是採用NAT協議連接到外網,一個是通過VirtualBox連接到主機,不但可以ping通外網,還能在windows中ping通192.168.56.101這個虛擬機的IP,這樣我們就可以通過putty、xshell等工具連接到虛擬機,並愉快的操作自己的CentOS啦!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章