关于虚拟机中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网络

这是我遇到一些个状况,详列于此,但愿对朋友们有所帮助。固然,有不周全之处,还请包涵。
相关文章
相关标签/搜索