虚拟机下Ubuntu上网设置
文章目录
- 一、虚拟机上网的两种方式
- 1.1 NAT模式(Network Address Translation)
- 1.2 桥接模式(Bridge Mode)
- 1.3 简介
- 二、实际配置
- 2.1 NAT模式配置
- 2.2 桥接模式配置
之前跟着博客配了好几个也没用,后来自己慢慢模式实践测试,终于可以了,下面总结给大家发出来,也方便自己后续查看。
一、虚拟机上网的两种方式
网络配置很重要,虚拟机下系统上网有两种方式,一种是NAT,一种是桥接模式
虚拟机上网有两种常见的模式:NAT(网络地址转换)和桥接模式。
1.1 NAT模式(Network Address Translation)
- 在NAT模式下,虚拟机的网络连接通过宿主机进行转发。
- 宿主机充当一个中介,为虚拟机提供网络连接,并为其分配一个私有IP地址。
- 虚拟机与外部网络通信时,它的网络数据包会经过宿主机,然后由宿主机将虚拟机的私有IP地址转换成宿主机的公共IP地址,并在外部网络中进行通信。
- 外部网络无法直接访问虚拟机,只能通过宿主机来间接访问。

1.2 桥接模式(Bridge Mode)
- 在桥接模式下,虚拟机直接与物理网络中的其他设备相连,就像是一个独立的网络设备。
- 虚拟机会获得与宿主机处于同一物理网络中的一个唯一IP地址,它可以直接与外部网络通信。
- 虚拟机与外部网络之间的通信是透明的,外部网络设备可以直接与虚拟机通信,就像与其他物理设备一样。

1.3 简介
在NAT模式下,虚拟机的网络连接通过宿主机转发,使用宿主机的公共IP地址进行通信,外部网络无法直接访问虚拟机。
在桥接模式下,虚拟机直接与物理网络相连,获得一个独立的IP地址,可以直接与外部网络通信,外部网络设备可以直接访问虚拟机。
选择使用哪种模式取决于实际需求,NAT模式更适合一些简单的网络连接,而桥接模式则提供了更灵活和直接的网络访问方式。
还不懂?好吧,我再举个例子:
当使用NAT模式时,假设你的物理机(宿主机)的公共IP地址是192.168.0.100,而虚拟机在NAT模式下分配到的私有IP地址是192.168.0.101。那么,当虚拟机想要访问外部网络时,它会通过宿主机进行转发。
例如,虚拟机上运行着一个Web浏览器,你想要访问www.example.com这个网站。虚拟机的网络数据包会经过NAT转换,然后由宿主机将请求发送给外部网络。外部网络收到请求后,将响应发送回宿主机,然后宿主机再将响应转发给虚拟机。虚拟机内的Web浏览器就可以接收到来自www.example.com的响应,并显示在虚拟机的屏幕上。
当使用桥接模式时,虚拟机直接连接到物理网络中,就像是一个独立的网络设备。假设你的物理机连接到家庭路由器,并且你的虚拟机分配到了路由器分配的IP地址192.168.0.102。在桥接模式下,虚拟机可以直接与外部网络通信。
举个例子,你可以在虚拟机上运行一个FTP服务器,并将其设置为监听端口21。当外部网络中的其他设备(如笔记本电脑或手机)通过路由器访问192.168.0.102:21时,它们实际上是直接与虚拟机上的FTP服务器建立连接,进行文件传输操作。
二、实际配置
好,废话不多说,直接配置
2.1 NAT模式配置

先选中网络适配器,按照上面三个步骤执行,为什么要移除再添加呢,这样配置才会立马生效!!!,这就是有时候跟着其他博文配置,最终也没配置成功的原因
打开编辑器可以看到:



在NAT模式下,PC机充当了一个路由器的角色。它既要跟上层的真实路由器通信,又要跟Ubuntu虚拟机通信。玩过路由器的同学就知道,路由器的上层网段和下层网段是不允许相同的,而我们常用的路由器的网段是192.168.1.0,所以为了避免冲突,软件自己便分配了一个不常用的网段给下层的设备。但也并不保险,如果你的上层路由器网段恰恰是192.168.107.0,那么需要更改这里的网段。
到这里就可以上网啦,如果NAT模式无法满足你测试开发板的需求,那么接下来介绍桥接模式的设置。
2.2 桥接模式配置

同样的操作,一定要先将网络适配器(有什么后面会有数字,忽略即可)移除后添加噢,不然还得重新走一遍
设置桥接网络


不知道哪个的话,去windows下去查询

进入虚拟机,打开终端,进行网络配置
sudo vi /etc/netplan/01-network-manager-all.yaml
修改为:
etwork:version: 2renderer: NetworkManagerethernets:ens36: # 网卡名dhcp4: no # 设置为静态,如果动态改为yes,下面的参数都不需要设置了addresses: [192.168.1.120/24] # 这个需要自己修改optional: truegateway4: 192.168.1.1 # 这个需要自己修改,默认网关,与宿主机一致nameservers:addresses: [8.8.8.8,114.114.114.114] # DNS
例如我需要设置静态IP为:192.168.1.120,网关为192.168.1.1,这个是网关地址,可以在window下去查询,进入window命令行,输入ipconfig,我使用的是WIFI,以自己的实际为准,可以查到默认网关

配置好后利用命令重启网络
sudo netplan apply
接下来就可以上网啦

编辑不易,解决你的问题的话,博友,博友,博友啊,
留下三连!!!
相关文章:
虚拟机下Ubuntu上网设置
文章目录 一、虚拟机上网的两种方式1.1 NAT模式(Network Address Translation)1.2 桥接模式(Bridge Mode)1.3 简介 二、实际配置2.1 NAT模式配置2.2 桥接模式配置 之前跟着博客配了好几个也没用,后来自己慢慢模式实践测…...
Unity3d C#利用Editor编辑器拓展实现配置UI背景样式一键设置UI背景样式功能(含源码)
前言 在开发UI滚动列表的时候,经常会有每项的背景图不统一的情况,会间隔重复的情况居多。这种情况下,手动去设置间隔一行的背景图或者颜色是比较麻烦的。在此背景下,笔者尝试写个小工具,在搭建UI时配置一下循环背景的…...
【微服务】服务间调用
当我们的应用从一个大单体拆分成多个微服务之后,服务间调用有多少种方式?服务间调用如果出现超时,如果避免雪崩,即如何做限流熔断机制,原理是什么? 服务间调用方式 OpenFeign 使用Feign进行服务间调用,我们会在启动类加@EnableFeignClients启用。 package org.sprin…...
一句话分清C/C++声明和定义
定义告诉编译器在在哪个位置存储变量,声明没有 声明:告诉编译器,变量类型和名字 定义:告诉编译器变量存储的位置。 举例子 int i; // 这是声明定义。声明:告诉编译器变量类型int,变量名字i, // 定义&…...
《哥德尔证明》阅读笔记——初等命题逻辑的一致性证明过程
前言 前两节主要阐述了公理系统的发展历史,一致性问题的提出,以及希尔伯特的洞见,本节将给出哥德尔证明所需的最后一次具体背景阐述,包含两个问题:一是罗素所著的《数学原理》是为何而写?二是从数学原理中…...
迪文屏开发保姆级教程—弹出键盘录入ASCII字符
本篇文章主要介绍了在DGBUS平台上使用文本录入键盘录入ASCII字符,数字和字母的教程。 文本录入键盘支持录入ASCII字符,数字和字母。 官方开发指南PDF:(不方便下载的私聊我发给你) https://download.csdn.net/download…...
Java,处理字符串的案例()
场景 为了得到一个都是英雄名字的字符数组,需要对如下字符串进行处理 疾风剑豪,影流之主,封魔剑魂,暗裔剑魔,无极剑圣,无双剑姬,武器大师,德邦总管,蛮族之王࿰…...
微信小程序更新机制
1/同步更新 1、定期检查更新时; 2、长期未使用,首次进入会同步更新,但在弱网或者下载新版本失败的情况下,还会使用旧版本。 2/异步更新: 启动时异步更新 3/开发者手动触发更新 在启动时异步更新的情况下,…...
CentOS 7 部署 Nacos-2.3.0 (单机版)
CentOS 7 部署 Nacos-2.3.0 (单机版) 1. 下载 Nacos 安装包 历史版本:https://github.com/alibaba/nacos/releases/ 我选的是 2.3.0 版本,https://github.com/alibaba/nacos/releases/download/2.3.0/nacos-server-2.3.0.tar.g…...
Springboot优雅实现对接口返回统一封装
前端在调用后端接口时往往不同的接口返回的数据是不一样的,但是通常我们会与前端约定一个固定的返回格式,通过固定的格式告诉他们什么时候接口是返回成功,什么时候返回失败,返回成功后他们如何拿到接口返回的数据去渲染前端页面。…...
Kafka 安装与部署
目录 Kafka 下载 (1)将 kafka_2.11-2.4.1.tgz 上传至 /opt/software/ (2)解压安装包至 /opt/module/ [huweihadoop101 ~]$ cd /opt/software/ [huweihadoop101 software]$ tar -zxvf kafka_2.11-2.4.1.tgz -C ../module/&#…...
计算 N*4*4 位姿形状的逆变换,在N*3*4位姿后补充 [0,0,0,1]
针对 [N,4,4] shape 的 poses,函数 ComputeInversePoses 返回 相同 shape,但是每个 pose 都是前面的 逆 pose。 针对 [N,3,4] shape 的 poses,函数 AddIdentityToPoses 返回 在每个 [3,4] pose下加上 [0,0,0,1] 后的pose,返回的…...
人工智能可以战胜人类智慧大脑么?
引言 在当今快速发展的科技时代,人工智能的进步日新月异,引发了一场深刻的讨论:能否有一天,人工智能能够超越甚至战胜人类智慧?这个问题涉及到人类认知的广泛领域,牵涉到人类思维的深层次特质以及AI技术在…...
【数据结构和算法】 K 和数对的最大数目
其他系列文章导航 Java基础合集数据结构与算法合集 设计模式合集 多线程合集 分布式合集 ES合集 文章目录 其他系列文章导航 文章目录 前言 一、题目描述 二、题解 2.1 方法一:双指针排序 三、代码 3.1 方法一:双指针排序 3.2 方法二࿱…...
基于ssm高校推免报名系统源码和论文
网络的广泛应用给生活带来了十分的便利。所以把高校推免报名管理与现在网络相结合,利用java技术建设高校推免报名管理系统,实现高校推免报名的信息化。则对于进一步提高高校推免报名管理发展,丰富高校推免报名管理经验能起到不少的促进作用。…...
算法设计与分析2023秋-头歌实验-实验七 动态规划
文章目录 第1关:数塔问题任务描述相关知识编程要求解题思路测试说明参考答案 第2关:最长公共子序列任务描述相关知识编程要求解题思路:测试说明参考答案 第3关:求序列-2 11 -4 13 -5 -2的最大子段和任务描述相关知识编程要求解题思…...
复杂 SQL 实现分组分情况分页查询
其他系列文章导航 Java基础合集数据结构与算法合集 设计模式合集 多线程合集 分布式合集 ES合集 文章目录 其他系列文章导航 文章目录 前言 一、根据 camp_status 字段分为 6 种情况 1.1 SQL语句 1.2 SQL解释 二、分页 SQL 实现 2.1 SQL语句 2.2 根据 camp_type 区分返…...
JavaScript---如何完美的判断返回对象是否有值
如何判断一个对象为空是我们在开发中经常会遇到的问题,今天我们来聊聊几种经常使用的方法,以及在不同的场景下我们如何去使用。 1. JSON.stringify JSON.stringify 方法可以使对象序列化,转为相应的 JSON 格式。 js 复制代码 const obj {…...
kafka offset sasl加密连接
kafka-tool(offset) 进行SCRAM连接,直接上图 填写jaas的认证(账密 引用包)...
Android studio矩形背景颜色以及弧度的设置
在这里插入图片描述 Android的shape中主要设置的属性 corners:用于设置形状的圆角,可以设置圆角的半径、颜色等属性。 stroke:用于设置形状的边框,可以设置边框的宽度、颜色等属性。 padding:用于设置形状的内边距&…...
浏览器访问 AWS ECS 上部署的 Docker 容器(监听 80 端口)
✅ 一、ECS 服务配置 Dockerfile 确保监听 80 端口 EXPOSE 80 CMD ["nginx", "-g", "daemon off;"]或 EXPOSE 80 CMD ["python3", "-m", "http.server", "80"]任务定义(Task Definition&…...
SpringBoot-17-MyBatis动态SQL标签之常用标签
文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…...
css实现圆环展示百分比,根据值动态展示所占比例
代码如下 <view class""><view class"circle-chart"><view v-if"!!num" class"pie-item" :style"{background: conic-gradient(var(--one-color) 0%,#E9E6F1 ${num}%),}"></view><view v-else …...
mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包
文章目录 现象:mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包遇到 rpm 命令找不到已经安装的 MySQL 包时,可能是因为以下几个原因:1.MySQL 不是通过 RPM 包安装的2.RPM 数据库损坏3.使用了不同的包名或路径4.使用其他包…...
sipsak:SIP瑞士军刀!全参数详细教程!Kali Linux教程!
简介 sipsak 是一个面向会话初始协议 (SIP) 应用程序开发人员和管理员的小型命令行工具。它可以用于对 SIP 应用程序和设备进行一些简单的测试。 sipsak 是一款 SIP 压力和诊断实用程序。它通过 sip-uri 向服务器发送 SIP 请求,并检查收到的响应。它以以下模式之一…...
【JVM】Java虚拟机(二)——垃圾回收
目录 一、如何判断对象可以回收 (一)引用计数法 (二)可达性分析算法 二、垃圾回收算法 (一)标记清除 (二)标记整理 (三)复制 (四ÿ…...
NPOI Excel用OLE对象的形式插入文件附件以及插入图片
static void Main(string[] args) {XlsWithObjData();Console.WriteLine("输出完成"); }static void XlsWithObjData() {// 创建工作簿和单元格,只有HSSFWorkbook,XSSFWorkbook不可以HSSFWorkbook workbook new HSSFWorkbook();HSSFSheet sheet (HSSFSheet)workboo…...
消息队列系统设计与实践全解析
文章目录 🚀 消息队列系统设计与实践全解析🔍 一、消息队列选型1.1 业务场景匹配矩阵1.2 吞吐量/延迟/可靠性权衡💡 权衡决策框架 1.3 运维复杂度评估🔧 运维成本降低策略 🏗️ 二、典型架构设计2.1 分布式事务最终一致…...
TJCTF 2025
还以为是天津的。这个比较容易,虽然绕了点弯,可还是把CP AK了,不过我会的别人也会,还是没啥名次。记录一下吧。 Crypto bacon-bits with open(flag.txt) as f: flag f.read().strip() with open(text.txt) as t: text t.read…...
leetcode73-矩阵置零
leetcode 73 思路 记录 0 元素的位置:遍历整个矩阵,找出所有值为 0 的元素,并将它们的坐标记录在数组zeroPosition中置零操作:遍历记录的所有 0 元素位置,将每个位置对应的行和列的所有元素置为 0 具体步骤 初始化…...
