如何让虚拟机的Ubuntu上网?
我的环境:unbuntu16.04
特别注意:如果你使用的虚拟机和Ubuntu不一样,现象可能不一样,请具体情况具体分析。
一、为什么要让虚拟机中的Ubuntu上网?
想在线安装软件,下载git源码包,或者要用浏览器浏览网页
二、虚拟机中的Ubuntu有几种上网方式?
通常有2种,NAT、桥接
三、NAT上网怎么用?
NAT方式----让虚拟机内的系统上网的最快速的方式。如果你仅仅是想让虚拟机内的Ubuntu上网,建议使用这种方式。
NAT上网的前提:PC能上网即可,连路由器都不需要。
NAT上网的设置:VMware需要设置一处:
我们打开网络编辑器可以看到:
软件已经将子网IP什么的都设置好了,只要将Ubuntu中的网络设置为DHCP就可以正常上网。/etc/network/interfaces
补充:上图192.168.179.0网段是分配给虚拟机中的Ubuntu的;为什么这个网段很怪?为什么不是我们常用的网段192.168.1.0?
这是因为在NAT模式下,PC机充当了一个路由器的角色。它既要跟上层的真实路由器通信,又要跟Ubuntu虚拟机通信。玩过路由器的同学就知道,路由器的上层网段和下层网段是不允许相同的,而我们常用的路由器的网段是192.168.1.0,所以为了避免冲突,软件自己便分配了一个不常用的网段给下层的设备。但也并不保险,如果你的上层路由器网段恰恰是192.168.179.0,那么需要更改这里的网段。
NAT上网的优点: 设置方便,只要PC能上网,虚拟机内的系统也能上网。
NAT上网的缺点: 由于经过了PC的路由器角色转换,虚拟机内的系统已经是PC的一个子网设备,它可以与PC及PC层的其它机器通信,但是PC层的其它机器却无法跟虚拟机内的系统通信。例如:把开发板接入路由器,虚拟机内的Ubuntu可以ping通开发板的,反过来却无法ping通。拓展图如下:
四、桥接上网怎么用?
这可以说是功能最强大的方式了,在整个开发过程中,桥接完全能够满足需要,强烈推荐使用。
桥接上网的前提:得有个路由器,PC机使用有线或者无线连接到能上网的路由器上。参考下面两个链接:
http://www.100ask.org/bbs/forum.php?mod=viewthread&tid=11196
https://blog.csdn.net/czg13548930186/article/details/76774820
桥接上网的设置:VMware需要设置两处:
设置之后虚拟机内的Ubuntu和PC机上的Windows处于局域网内的平等的位置,如下图:
此时Ubuntu跟Windows一样会获取到路由器分配的IP地址等,到这里,Ubuntu就可以上网了。
桥接上网的优点:将虚拟机内的系统模拟成一台局域网内单独的主机,虚拟机内的系统可以跟整个局域网内的所有设备进行双向通信,如果再将你的开发板接入路由器,那么三者互ping没有任何问题。
桥接上网的缺点:桥接所选的网卡必须是激活的。如果你把网线拔掉或者断掉WIFI,不要说上网了,就连Windows和Ubuntu间的通信都无法进行,更别提使用SSH登录。
五、总结
如果单纯的想让虚拟机内的Ubuntu上网,就使用NAT方式。
如果要让虚拟机内的Ubuntu上网的同时,还要跟开发板进行通信,那么就使用桥接方式。
注:顺便附上校园网PING问题解决方法的口诀:
1.需要UBUNTU上网时,使用NAT方式;
2.要跟开发板互联时,用桥接方式
3.使用我们提供的UBUNTU时,UBUNTU不需要上网
————————————————
版权声明:本文为CSDN博主「种瓜大爷」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/czg13548930186/article/details/79789001
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
2018-06-25 MATLAB生成正弦波