關於虛擬機中linux系統網絡設置的總結

因爲項目中用到了redis和ZooKeeper,因此今天在我的筆記本上安裝了個虛擬機,搭建了個linux開發環境。整個過程當中,關於虛擬機安裝、軟件安裝等等這些都沒什麼好說的,就是在設置虛擬機中linux系統訪問外網時,不是訪問不了外網就是ip丟失,因此有必要把關於虛擬機中linux系統網絡設置作個詳細說明,以備後用,也方便其餘遇到一樣問題的人們借鑑:
虛擬機安裝完成之後,能夠查看到虛擬出三種網絡:VMnet0、VMnet1和VMnet8。查看如圖:![](https://s4.51cto.com/images/blog/201806/28/b7d3dd45873cf74088194424dd72df1f.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)

這三種網絡分別爲本地鏈接、自鏈接和NAT鏈接,表示未來虛擬機中操做系統與外部網絡採用的策略。此外,咱們從主機(個人我的筆記本電腦)的網絡鏈接中也能夠看到生成了兩個虛擬機網卡:關於虛擬機中linux系統網絡設置的總結
那有人會說這裏怎麼沒有VMnet0呢?這是由於VMnet0這種鏈接,虛擬機不從屬於主機,地位和主機同等,下邊會詳細描述。linux

下邊就詳細描述一下這三種網絡設置:
第一:VMnet0是本地鏈接,也叫橋鏈接。這種鏈接,實質上就是虛擬出來一臺機器,虛擬機和主機處在同等地位,共用同一個局域網,它也會佔用局域網段中的一個ip;這個時候,主機怎麼連外網,虛擬機就怎麼連,那多是有線的也多是無線的,這由主機具體狀況決定。
設置虛擬機要使用橋鏈接:在虛擬機上右鍵--->設置:![](https://s4.51cto.com/images/blog/201806/28/4c20843ff3b5e967075c357e9bdd3244.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
主機cmd下執行ipconfig命令,查看(我採用的是)無線局域網ip:![](https://s4.51cto.com/images/blog/201806/28/f14a747a734bb8499e2b24a619d06b8e.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
在linux中執行ifconfig查看的ip也是31網段的一個ip:![](https://s4.51cto.com/images/blog/201806/28/8506ae27cbb0ae2aef81cd2d47c9ddda.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
這個時候若是主機連有外網,則虛擬機也能夠連外網。
第二:VMnet1是自鏈接,虛擬機只能和主機進行通訊,處於同一網段,它的ip是VMnet1網段中的一個;即便主機有外網,虛擬機也連不上外網。
設置虛擬機要使用自鏈接。
主機cmd下執行ipconfig命令,查看VMnet1的ip:![](https://s4.51cto.com/images/blog/201806/28/2f2536565bcf3c6712b1c2c5b3d11ee6.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
在linux中執行ifconfig查看的ip也是17網段的一個ip:![](https://s4.51cto.com/images/blog/201806/28/102923281ed78b987d5898fdbc938672.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
這個時候即便主機連有外網,虛擬機也沒法鏈接外網.
第三:VMnet8是NAT鏈接,虛擬機把主機ip做爲外網ip,在這個基礎之上虛擬出一個網絡,虛擬出來一個網段;若是主機有外網,則虛擬機也能夠連外網,鏈接原理就是從虛擬機找到主機網關,而後再找到主機外邊的外網網關。
設置虛擬機要使用NAT鏈接。
cmd下執行ipconfig命令,查看VMnet8的ip:![](https://s4.51cto.com/images/blog/201806/28/3610bf29af10468950d10c6371e5ed11.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
在linux中執行ifconfig查看的ip也是248網段的一個ip:![](https://s4.51cto.com/images/blog/201806/28/6d9b79bafb37137a41c2ca2313fc1176.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
這個時候若是主機連有外網,則虛擬機也能夠連外網。

至於咱們實際開發過程當中採用哪種,由本身的使用情形決定,在有外網的狀況下,使用VMnet0和VMnet8多一些,若是不須要使用外網又不想受外網干擾則採用VMnet1。

而對於VMnet1和VMnet8,咱們還能夠具體設置ip等信息:關於虛擬機中linux系統網絡設置的總結redis

還有一種意外狀況,虛擬機中安裝好linux系統以後,若是執行ifconfig沒有ip地址,則能夠執行命令dhclient ens33;可是這樣雖然此次能生成ip,可是下次啓動linux,又沒了ip,要想每次都自動生成ip,則:

進入/etc/sysconfig/network-scripts/
用vi 修改ifcfg-ens33中的ONBOOT=no爲ONBOOT=yes
保存並退出
重啓網絡服務service network restart網絡

這是我遇到一些個狀況,詳列於此,但願對朋友們有所幫助。固然,有不周全之處,還請包涵。
相關文章
相關標籤/搜索