虚拟机Ubuntu设置固定IP与主机相互通讯

news2025/1/9 17:12:33

虚拟机Ubuntu设置固定IP与主机相互通讯

  • 1. 写在最前
    • 1.1 最好了解的预备知识
    • 1.2 虚拟机与主机三种连接方式
    • 1.3 写在最前
  • 2. VMware 虚拟机Ubuntu系统与主机共享IP
    • 2.1 配置VMware桥接网卡
    • 2.2 设置虚拟机为固定IP
    • 2.3 Vmware 虚拟机与主机互相通讯
  • 3. VirtualBox虚拟机Ubuntu系统与主机共享IP
    • 3.1 VirtualBox设置桥接网卡
    • 3.2 虚拟机设置固定IP

1. 写在最前

1.1 最好了解的预备知识

参考资料
一文搞懂网络知识,IP、子网掩码、网关、DNS、端口号
IP地址、子网掩码、网络号、主机号、网络地址、主机地址以及ip段/数字-如192.168.0.1/24是什么意思?
22、了解网卡和IP地址
IP地址,IPV4与IPV6
IPV4地址详细解释
网关和路由器的区别

    1. 什么是ping:ping (Packet Internet Groper)是一种因特网包探索器,用于测试网络连接量的程序。Ping是工作在 TCP/IP网络体系结构中应用层的一个服务命令,测试目的站是否可达及了解其有关状态。【参考:百度百科】
    1. 网卡地址、IP地址、IPV4地址和IPV6地址的区别网卡是负责网络通讯的硬件设备,包括无线网卡WLAN和有线网卡LAN,IP地址是设置在网卡上的地址信息,IP地址是个很宽泛的概念,说白了IP地址包括IPV4地址和IPV6地址,IPV4地址就是给在因特网上的每一台主机的每一个接口分配一个在全世界范围内是唯一的32比特的标识符0000 0000, 0000 0000, 0000 0000, 0000 0000也就是0~255. 0~255. 0~255. 0~255,IPV6地址是为了彻底的解决掉IP地址不足的问题,升级的IP地址协议的地址。
    1. 公网IP地址:查看公网IP地址的办法:在百度上输入IP即可显示公网IP,公网IP,如下面的112.65.1.206这个就是公网IP,但是我们网络显示的192.168.0.100的IPV4地址是什么?答案是私网(内网)IP,因为公网IP用32bit的表示最大也就43亿个,但是现在看来43亿个明显满足不了全世界使用,所以有IPV6地址的概念解决这个不足

在这里插入图片描述

    1. 私网(内网)IP地址:以我的电脑为例,在控制台输入ipconfig,出现的网卡信息和IP地址信息,可以看到,均是以192.168开头的IP地址,这些是内网IP,通俗的理解就是,内网IP是通过你的设备连接的路由器或者交换机给你分配的,如果你的路由器或者交换机上不了外网,那么你的设备只能在你的内网IP内进行互相通讯,而无法访问外网internet,即路由器或者交换机接入这个唯一的外网IP地址112.65.1.206然后分配给你的能够访问这个网络的地址又为192.168.0.100,这样你以192.168.0.100的身份,通过路由器或者交换机做变化,以112.65.1.206的身份访问外网

在这里插入图片描述

    1. 公网IP和内网IP区别:内网IP一般为10.0.0.0~10.255.255.255172.16.0.0~172.31.255.255,以及192.168.0.0~192.168.255.255等网段,公网IP为除此之外大部分IP,内网IP一般需要通过NAT(Network Address Translation是指网络地址转换)方可访问internet,公网IP可以直接访问internet
    1. 路由器的WAN口和LAN口:WAN口一般连接外网源,LAN口一般用于连接多个有线的本地设备,这样本地连接的设备分配到内网IP,然后再通过路由器做NAT变化,走WAN口访问Internet

在这里插入图片描述

    1. 看一下虚拟机的网络信息:inet是翻译好像内联网的意思,可以认为是虚拟机系统的IP,netmask是子网掩码,broadcast广播地址
      在这里插入图片描述
    1. 子网掩码:子网掩码是在公网通过路由器包装给每个设备分配了内网之后,又对分配好的内网IP再进行划分管理,这个管理方式就是通过子网掩码了,通俗来说就是对内网的设备再进行一个网络划分的编码方式,这个划分好的新网络有时也叫 IP网段,子网掩码是一个与IP地址相对应的、长32bit的二进制串,子网掩码限定了一个内网网络互相通讯的设备个数,也是来判断任意两台主机的IP地址是否属于同一网络的依据,如果连接在同一个路由器或者交换机上的设备的IP地址与子网掩码做了“与”运输得到的结果是一样的,则可以直接通讯

在这里插入图片描述

    1. 广播地址:广播地址(Broadcast Address)是专门用于同时向网络中所有工作站进行发送的一个地址在使用TCP/IP 协议的网络中,host ID 为全1 的内网IP 地址为广播地址,广播的分组传送给host ID段所涉及的所有计算机。例如,对于192.168.0.106子网掩码为255.255.255.0,其广播地址为192.168.0.255 ,当发出一个目的地址为192.168.0.255分包时候,它将被分发给该网段上的所有计算机。
      在这里插入图片描述
    1. 192.168.0.1/24是什么意思192.168.0.1表示IP,其中/24表示子网掩码为255.255.255.0即,1111 1111,1111 1111,1111 1111,0000 0000,子网掩码一共24个1
    1. 网关网关实质上是一个地址,是一个网络通向其他网络的IP地址,例如网络A的IP地址范围为 192.168.0.1/24,网络B的IP地址范围为192.168.1.1/24,两个网络由于IP地址和子网掩码与计算出的结果不一致,之间是不能进行通信的**(也就是内网IP地址和子网掩码计算出来的网络地址和网关地址是两个概念)**,如果要实现这两个网络之间的通信,则必须通过网关。即网络A中的主机发现数据包的目的主机不在本地网络中,就把数据包转发给它自己的网关,再由网关转发给网络B的网关,网络B的网关再转发给网络B
    1. 默认网关:默认网关的意思是一台主机如果找不到可用的网关,就把数据包发给默认指定的网关,由这个网关来处理数据包。
    1. 网关和路由器的区别:路由器是物理设备,而网关是一个地址,路由器可以实现网关的功能,同时网关的功能还可以由局域网中一台双网卡的机器来实现(也就是共享网络的实现基础)。
    1. DNS域名服务器(Domain Name Server):IIP地址不管是IPV4还是IPV6都是一串数字组成,机器只根据IP数字做计算来识别通讯,但是数字不方便记忆,为了方便表示和记忆Internet有与IP地址一一对应的域名(www.baidu.com的www、baidu和com三个都是域名),因此机器需要对对它们之间的转换进行解析,域名解析需要由专门的域名解析服务器来完成,DNS就是进行域名解析的服务器。如果不做解析或者解析失败,ping时会出现bad address等提示。
      在这里插入图片描述

1.2 虚拟机与主机三种连接方式

序号连接方式特点
1网络地址转换(NAT)虚拟机可以访问外部网络,但是外部网络不可访问虚拟机
2桥接网卡实际意义是将虚拟机直接接入到和主机一样的网络设备上,主机和虚拟机可以互相访问
3Host-Only主机访问虚拟机,但是虚拟机不可访问外网

1.3 写在最前

本文实现的虚拟机和主机进行互ping是基于桥接网络,因此虚拟机和主机最后会处于同一个IP网段内,即假设路由器IP为:192.168.0.1,子网掩码为255.255.255.0,则这个网段为192.168.0.1~192.168.0.255

2. VMware 虚拟机Ubuntu系统与主机共享IP

2.1 配置VMware桥接网卡

    1. 点击 【编辑】,选择下面的 【虚拟网络编辑器】(这里的VMware版本为16.1.0)
      在这里插入图片描述
    1. 点击下方的更改设置,(我这里的VMware原本的两个网卡是自己移除了的,但是不影响操作)

在这里插入图片描述

    1. 设置网络为【桥接模式】,并选择 桥接网卡为WiFi网卡

在这里插入图片描述

2.2 设置虚拟机为固定IP

    1. 桥接网络相当于虚拟机的Ubuntu直接连接在了路由器上,此时的虚拟机和主机处于同一个IP网段,这里可以看到Ubuntu的网络信息为:内网地址为192.168.0.106/24

在这里插入图片描述

    1. 设置虚拟机为固定IP,如本文的192.168.0.101:修改Ubuntu的网络配置信息:sudo gedit /etc/netplan/01-network-manager-all.yaml,这里的配置文件可能是00-network-manager-all.yaml可以自行tab补齐查看,修改内容如下所示,修改完成之后输入sudo netplan apply即可生效
# Let NetworkManager manage all devices on this system
# network:
#   version: 2
#   renderer: NetworkManager

network:
  version: 2                                      # 这个版本号和原来一致即可
  ethernets:
    ens33:                                        # 网卡名
      dhcp4: no                                   # 是否DHCP
      addresses: [192.168.0.101/24]               # IP地址
      gateway4: 192.168.0.1                       # 网关
      nameservers:
        addresses: [114.114.114.114,8.8.8.8]      # DNS信息 
(venv) pc@pc:~$ sudo gedit /etc/netplan/01-network-manager-all.yaml 
[sudo] password for pc: 
(venv) pc@pc:~$ sudo netplan apply 
(venv) pc@pc:~$ ifconfig 
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.0.101  netmask 255.255.255.0  broadcast 192.168.0.255
        ... ...

(venv) pc@pc:~$ ping www.baidu.com -c 2
PING www.a.shifen.com (112.80.248.75) 56(84) bytes of data.
64 bytes from 112.80.248.75 (112.80.248.75): icmp_seq=1 ttl=55 time=15.4 ms
64 bytes from 112.80.248.75 (112.80.248.75): icmp_seq=2 ttl=55 time=15.2 ms

--- www.a.shifen.com ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1002ms
rtt min/avg/max/mdev = 15.170/15.265/15.361/0.095 ms
(venv) pc@pc:~$ 

2.3 Vmware 虚拟机与主机互相通讯

    1. 主机IP为192.168.0.100,此时虚拟机ping主机发现ping不通,而主机ping虚拟机可以完成通讯
C:\Users\R7000>ping 192.168.0.101

正在 Ping 192.168.0.101 具有 32 字节的数据:
来自 192.168.0.101 的回复: 字节=32 时间<1ms TTL=64
来自 192.168.0.101 的回复: 字节=32 时间<1ms TTL=64
来自 192.168.0.101 的回复: 字节=32 时间<1ms TTL=64
来自 192.168.0.101 的回复: 字节=32 时间<1ms TTL=64

192.168.0.101 的 Ping 统计信息:
    数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
    最短 = 0ms,最长 = 0ms,平均 = 0ms

C:\Users\R7000>
(venv) pc@pc:~$ ping 192.168.0.100
PING 192.168.0.100 (192.168.0.100) 56(84) bytes of data.
^C
--- 192.168.0.100 ping statistics ---
34 packets transmitted, 0 received, 100% packet loss, time 33794ms

(venv) pc@pc:~$ 
    1. 关闭Windows防护墙之后通讯连接即可互相通讯
      在这里插入图片描述
(venv) pc@pc:~$ ping 192.168.0.100
PING 192.168.0.100 (192.168.0.100) 56(84) bytes of data.
64 bytes from 192.168.0.100: icmp_seq=1 ttl=128 time=0.473 ms
64 bytes from 192.168.0.100: icmp_seq=2 ttl=128 time=0.490 ms
64 bytes from 192.168.0.100: icmp_seq=3 ttl=128 time=0.600 ms
^C
--- 192.168.0.100 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2050ms
rtt min/avg/max/mdev = 0.473/0.521/0.600/0.056 ms
(venv) pc@pc:~$ 

    1. 当然关闭防火墙的策略很不好,这里有配置防火墙的策略:虚拟机 IP 通过Windows 防火墙 设置

3. VirtualBox虚拟机Ubuntu系统与主机共享IP

3.1 VirtualBox设置桥接网卡

  • Virtualbox选择虚拟机之后,点击明细中的设置,将网络选择为桥接模式,并桥接到和主机上网一样的网卡

在这里插入图片描述

3.2 虚拟机设置固定IP

    1. 修改Ubuntu的网络配置信息:sudo gedit /etc/netplan/01-network-manager-all.yaml,这里的配置文件可能是00-network-manager-all.yaml可以自行tab补齐查看,修改内容与VMware一致,如下所示,

在这里插入图片描述

# Let NetworkManager manage all devices on this system
network:
  version: 2
  renderer: NetworkManager
  ethernets:
    enp0s3:
      dhcp4: no
      addresses: [192.168.1.11/24]
      gateway4: 192.168.1.1
      nameservers:
        addresses: [8.8.8.8, 114.114.114.114]
    1. 修改完成之后输入sudo netplan apply即可生效,这里主机IP为192.168.1.9,与主机互相通讯测试
pcv@pc:~$ sudo netplan apply 
pcv@pc:~$ ifconfig 
enp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.11  netmask 255.255.255.0  broadcast 192.168.1.255
        ... ...

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        ... ...

pcv@pc:~$ ping 192.168.1.9
PING 192.168.1.9 (192.168.1.9) 56(84) bytes of data.
64 bytes from 192.168.1.9: icmp_seq=1 ttl=128 time=0.718 ms
64 bytes from 192.168.1.9: icmp_seq=2 ttl=128 time=0.646 ms
^C
--- 192.168.1.9 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1033ms
rtt min/avg/max/mdev = 0.646/0.682/0.718/0.036 ms
pcv@pc:~$

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/118538.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ContrastMask: Contrastive Learning to Segment Every Thing

摘要 部分监督实例分割是一种通过学习有限的base类和带注释的掩码来从novel类别中分割对象的任务&#xff0c;从而消除了沉重的注释负担。解决这一问题的关键是建立一个有效的类不可知掩码分割模型。与以前只在base类别上学习此类模型的方法不同&#xff0c;在本文中&#xff…

Nginx root 以及alias差别

1. 前言 今天的目的主要是梳理下在 nginx 中 root 以及 alias 在用法上有什么不同。其实这个问题看起来很简单。但是对于前端同学而言还是很困难的&#xff0c;毕竟有的前端同学都没弄过服务器 2. 结论 root 以及 alias 都是对 url 发起根目录进行控制。但是颗粒度有所不同roo…

【深基18.例3】查找文献(C++,图的遍历)

题目描述 小K 喜欢翻看洛谷博客获取知识。每篇文章可能会有若干个&#xff08;也有可能没有&#xff09;参考文献的链接指向别的博客文章。小K 求知欲旺盛&#xff0c;如果他看了某篇文章&#xff0c;那么他一定会去看这篇文章的参考文献&#xff08;如果他之前已经看过这篇参…

JavaScript 中如何代理 Set(集合) 和 Map(映射)

ECMAScript6 中 Set 和 Map 的代理方法上一节&#xff1a;《JavaScript 中如何代理数组 》| 下一节&#xff1a;《JavaScript 中的反射&#xff08;Reflect&#xff09;原理与应用 》今日正在编写中&#xff0c;未完待续… jcLee95 邮箱 &#xff1a;291148484163.com CSDN…

Git分支操作

实操记录 假定非管理人员操作&#xff1a; 直推&#xff1a; 新建特性分支cbry&#xff1a; 刷新分支&#xff1a; checkout切换&#xff1a; 本地文件查看&#xff1a; 再merge&#xff1a; 就此&#xff0c;master的代码就合并到特性分支cbry&#xff1a; 新增内容&#xff…

数字化技术转型

这篇老生常谈&#xff08;我写过N次&#xff09;&#xff0c;是应一位IM群中的朋友的困惑问答汇集而成的。&#xff08;1&#xff09;学科分类我上学学的是计算机系。我上的大学一开始并没有计算机系&#xff0c;后来是电子工程系和数学系的老师抽调组成了计算机系。后来&#…

申请大学用的是IB预估分?

IB课程体系以其独特的优越性成为越来越多国际高中生的选择。如今全球共有3300多所高校接受IB成绩申请&#xff0c;其中包括美国常春藤盟校、英国G5在内的多所名校。 但是&#xff0c;大家知道吗&#xff0c;国内学习IB课程的学生是需要用预估分来申请大学的。今天&#xff0c;小…

多用户及时通信系统

目录1. QQ用户登录1.1 用户登录11.2 用户登录21.3 用户登录32. 拉取在线用户3. 无异常退出4. 私聊系统5. 群聊3. 发送文件3.1 服务端推送新闻3.2 离线留言和离线发文件1. QQ用户登录 1.1 用户登录1 qqcommon包下 User类序列化 Message消息类序列化 MessType接口 qqclient.ut…

拉伯杠杆平台|沪指上涨,大金融板块领涨,有股票连续5涨停!

A股周二上午全体小幅上涨&#xff0c;大金融集体上涨&#xff0c;推动指数上行&#xff0c;商场全体动摇不大。A50期货高开高走&#xff0c;盘中暴拉超2.6%。 不过&#xff0c;部分个股仍然动摇不小&#xff0c;有多只股票接连涨停。 别的&#xff0c;新股持续分解&#xff0c…

ATAC-seq分析:数据介绍(2)

1. 简介 ATACseq (Assay for Transposase-Accessible Chromatin using sequencing) 使用转座酶在测序前有效地片段化可访问的 DNA&#xff08;DNA可极性&#xff09;。结果提供了一种绘制可访问/开放染色质基因组范围的方法。 与其他技术相比&#xff0c;ATACseq 有几个优点&am…

嵌入式开发学习之--串口通讯(下)

提示&#xff1a;本篇来做一个关于串口的输入输出实验。 文章目录前言一、项目概况1.1、项目需求1.2、项目来源1.3、开发环境1.4、项目意义1.5、项目效果展示二、开发步骤2.1、涉及硬件电路2.2、项目代码2.2.1、串口配置总结前言 前一篇文章我们介绍了串口的几种类型以及串口标…

Linux Shell 编程,运算符,条件与分支,循环

Linux Shell 编程&#xff0c;运算符&#xff0c;条件与分支&#xff0c;循环1.Shell运算符2.判断语句3.for循环4.while循环1.Shell运算符 学习如何在shell中进行各种运算操作 案例&#xff1a;计算&#xff08;57&#xff09;3的值&#xff1a; #!/bin/bash res$(((57)*3)) …

游戏物体GameObject

在unity中所有游戏物体都是GameObject&#xff0c;这也是编程中的对象。 创建物体 在hierarchy窗口中&#xff0c;右击可以创建一个物体&#xff0c;当然也可以创建空物体。 物体属性 创建完物体后&#xff0c;一般可以在此处用这些工具来改变物体。 移动&#xff0c;旋转和…

戴尔科技集团助力中国石油大学打造现代数据中心

小的时候      总是幻想着      能够躺在床上上课      没想到现在竟然实现了      没错,对于当代大学生尤其是19级、20级来说,大学生活似乎是个虚无缥缈的词汇,因为相比与在校生活,在家上网课的时间可能会更长,一不留神就上了三年的“家里蹲”。      即使…

安装配置高度安全的匿名操作系统,利用暗网情报数据抓取工具获取普通人根本查看不到的信息

安装配置高度安全的匿名操作系统,利用暗网情报数据抓取工具获取普通人根本查看不到的信息。 Whonix匿名操作系统,Whonix 是一个专注于匿名,隐私和安全的操作系统。它基于Tor匿名网络,Debian GNU / Linux和隔离安全性。DNS泄漏是不可能的,即使具有root权限的恶意软件也无法…

“多点”开花,独立走向新零售

12月7日&#xff0c;亚洲最大的数字零售服务商多点Dmall正式向港交所递交招股说明书&#xff0c;在零售行业逐渐向线上线下一体化、店仓一体模式迈进之时&#xff0c;多点Dmall成为很多传统零售商转型路上的首选合作伙伴&#xff0c;给予了资本市场一定想象空间。 但也有观点认…

【Lua】ToLua逻辑热更新

1 前言 Lua基础语法 中系统介绍了 Lua 的语法体系&#xff0c;本文将进一步介绍 Unity3D 中基于 ToLua 实现逻辑热更新。 逻辑热更新是指&#xff1a;在保持程序正常运行的情况下&#xff0c;在后台修改代码逻辑&#xff0c;修改完成并推送到运行主机上&#xff0c;主机无缝接入…

HarmonyOS原子化服务最新概念、呈现形式与触发方式

一、HarmonyOS原子化服务最新概念 总体介绍&#xff1a; 原子化服务&#xff08;Ability&#xff09;是由HarmonyOS服务开放平台接入的一种技能&#xff0c;为华为智慧服务、智慧搜索、服务直达、智慧语音以及智慧视觉等流量入口提供服务技能。原子化服务以轻量化的呈现形式&…

高级网络应用复习——TCP与UDP,ACL列表, 防火墙,NAT复习与实验(带命令)

作者简介&#xff1a;一名在校云计算网络运维学生、每天分享网络运维的学习经验、和学习笔记。 座右铭&#xff1a;低头赶路&#xff0c;敬事如仪 个人主页&#xff1a;网络豆的主页​​​​​​ 目录 前言 一.知识点总结 1.传输层的协议 &#xff08;1&#xff09;TCP 和…

「实操」结合图数据库、图算法、机器学习、GNN 实现一个推荐系统

本文是一个基于 NebulaGraph 上图算法、图数据库、机器学习、GNN 的推荐系统方法综述&#xff0c;大部分介绍的方法提供了 Playground 供大家学习。 基本概念 推荐系统诞生的初衷是解决互联网时代才面临的信息量过载问题&#xff0c;从最初的 Amazon 图书推荐、商品推荐&…