虚拟机ip不停地变每次使用ssh不好登录?有手就行!

欢迎来到我的博客,代码的世界里,每一行都是一个故事


在这里插入图片描述

虚拟机ip不停地变每次使用ssh不好登录?有手就行!

    • 桥接模式下固定ip?No
    • Avahi服务,你值得拥有
    • Avahi解决方案
    • 虚拟机中配置Avahi服务
    • 配置成功展示
    • 测试成功

桥接模式下固定ip?No

如果你的机器是在一个不变的IP段,比如192.168.0.*,那么使用这种方式是完全可以的

也就是选定桥接模式之后,设置一下固定ip就行。

但是对于你的ip段变的话,比如公司的ip是192.168.10.#的IP段,回家后热点是172.20.10.#,比如说我,那我就得想个办法了,不然我每次使用ssh登还得不停地修改ip

Avahi服务,你值得拥有

Avahi基础知识:

1. 定义:

Avahi是一个开源的零配置网络服务发现工具,旨在提供在局域网中自动发现网络服务的能力。它基于Zeroconf协议(也称为Bonjour或mDNS)实现,允许设备在局域网中自动注册和发现服务,而无需手动配置。

2. 基本概念:

  • Zeroconf协议: Zeroconf是一组协议,包括mDNS(多播DNS)和DNS-SD(DNS服务发现)。这些协议允许设备在没有专门服务器的情况下自动配置网络和发现服务。

  • mDNS: mDNS允许设备通过在局域网内广播其主机名和IP地址的方式,实现本地域名解析,而不需要中央DNS服务器。这有助于在没有预先配置的情况下发现其他设备。

  • DNS-SD: DNS服务发现允许设备在网络上广告和查找可用的网络服务。设备可以向局域网广播它们提供的服务,并且其他设备可以查询局域网中的可用服务。

  • Avahi服务: Avahi是一个实现Zeroconf协议的开源软件。它在Linux和类Unix系统中广泛使用,为设备提供自动发现服务和本地域名解析的功能。

  • 服务类型和服务实例: 在Avahi中,服务类型是描述服务的规范,而服务实例是特定设备上运行的实际服务。例如,打印机服务类型可以有多个打印机实例。

使用Avahi在虚拟机环境中的应用:

在虚拟机环境中,Avahi可以用于:

  1. 自动发现服务: 虚拟机可以通过Avahi广播其提供的服务,其他设备可以通过查询来发现这些服务,无需手动配置。

  2. 本地域名解析: 虚拟机可以使用Avahi来提供简单的本地域名解析,使设备能够通过主机名而不是IP地址相互访问。

  3. 简化网络配置: Avahi通过自动发现服务和提供本地域名解析,简化了虚拟机在局域网中的网络配置,使得设备更容易集成到网络中。

总的来说,Avahi为虚拟机提供了零配置网络服务发现的功能,使得在虚拟化环境中更加方便地实现设备之间的通信和服务发现。

Avahi解决方案

虚拟机网络面临的挑战:

  1. 网络隔离: 虚拟机通常需要与主机和其他虚拟机进行通信,但有时也需要隔离以确保安全性。

  2. 网络配置复杂性: 手动配置虚拟机网络参数,如IP地址和子网掩码,可能会变得繁琐,特别是在复杂的网络拓扑中。

  3. 服务发现: 虚拟机和其他设备之间的服务发现通常需要额外的配置,而且在动态网络环境中可能变得复杂。

  4. 设备即插即用: 随着虚拟机的动态创建和销毁,确保新虚拟机能够即插即用,即立即在网络中可用,是一个挑战。

Avahi在虚拟化环境中的解决方案:

  1. 自动服务发现: Avahi使用Zeroconf协议,特别是mDNS和DNS-SD,允许虚拟机自动广播和发现服务。这解决了虚拟机和其他设备之间的服务发现问题,使得设备能够自动了解网络上的可用服务。

  2. 简化网络配置: Avahi通过提供零配置网络服务发现的能力,减轻了虚拟机网络配置的复杂性。虚拟机不再需要手动配置网络参数,而是通过Zeroconf协议自动获取IP地址和域名。

  3. 局域网内部本地域名解析: Avahi可以提供简单的本地域名解析,使设备能够使用主机名而不是IP地址相互访问。这在动态网络环境中尤其有用,当虚拟机的IP地址可能变化时,使用主机名可以更方便地进行通信。

  4. 灵活的网络隔离: Avahi可以根据网络需求配置虚拟机的隔离程度。通过使用Avahi提供的服务发现功能,虚拟机可以在需要时与其他设备通信,同时保持必要的网络隔离。

  5. 即插即用支持: 由于Avahi提供了自动服务发现和本地域名解析的功能,新创建的虚拟机可以立即在网络中可用,实现了即插即用的支持。

总体而言,Avahi在虚拟化环境中通过其零配置网络服务发现的能力,解决了虚拟机网络面临的诸多挑战。它简化了网络配置、提供了灵活的网络隔离,使得虚拟机能够更轻松地融入复杂的网络拓扑中。

虚拟机中配置Avahi服务

在虚拟机中部署Avahi服务通常涉及以下步骤,这里以基于Debian/Ubuntu系统为例:

步骤 1: 安装Avahi服务

sudo apt-get update
sudo apt-get install avahi-daemon

这将安装Avahi服务并启动它。安装完成后,Avahi会自动运行,并监听局域网上的mDNS请求。

步骤 2: 配置Avahi服务

Avahi的配置文件通常位于 /etc/avahi/avahi-daemon.conf。你可以根据需要进行修改,但默认配置通常已经足够。

sudo nano /etc/avahi/avahi-daemon.conf

确保 publish-workstation=yes,这将确保虚拟机能够在局域网上广播其服务。保存并退出。

步骤 3: 重启Avahi服务

sudo service avahi-daemon restart

这会重新启动Avahi服务,以便应用新的配置。

步骤 4: 测试服务发现

你可以使用avahi-browse工具来测试Avahi服务的可用性。首先,确保已安装avahi-utils

sudo apt-get install avahi-utils

然后运行以下命令来查看局域网上的Avahi服务:

avahi-browse -a

这将列出在局域网上广播的所有服务和设备。你应该能够看到虚拟机的服务(例如SSH服务)。

这就是在虚拟机中部署Avahi服务的基本步骤。请注意,具体的步骤可能会因系统的不同而有所不同。确保按照你虚拟机所使用的操作系统的相关文档进行适当的调整。

配置成功展示

在这里插入图片描述

测试成功

image-20240309131823026

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

MySQL故障排查与生产环境优化

一、MySQL逻辑架构图 客户端和连接服务核心服务功能存储引擎层数据存储层 二、MySQL故障排查 1、MySQL单实例故障排查 故障一 故障现象: ERROR 2002 (HY000): Cant connect to local MySQL server through socket /data/mysql/mysql.sock (2)问题分析&#xff…

使用Pollard_rho算法分解质因数

分解质因数的朴素算法 最简单的算法即为从 [2, sqrt&#xff08;N&#xff09;] 进行遍历。 vector<int> breakdown(int N) {vector<int> result;for (int i 2; i * i < N; i) {if (N % i 0) { // 如果 i 能够整除 N&#xff0c;说明 i 为 N 的一个质因子。…

求组合背包II(acwing)

题目描述&#xff1a; 给定n组循问&#xff0c;每组询问给定两个整数a&#xff0c;b&#xff0c;请你输出Ca^b mod (1e9 7)的值&#xff0c;。 输入格式&#xff1a; 第一行包含整数n。 接下来2行&#xff0c;每行包含一组a和b。 输出格式&#xff1a; …

Vscode下使用markdown入门

1.安装vscode插件 1. **Markdown All in One** ——提供丰富的Markdown相关的快捷键、自动补全功能&#xff0c;提高md文档编写生产力 2. **Markdown Preview Ehanced** ——用于渲染当前编写文档的效果同步预览 3. **Paste Image** ——用于快速引用图片至Markdown文…

视频素材库有哪些网站?八大平台视频素材库创作推荐

视频创作的小达人们&#xff0c;是不是经常在想&#xff0c;视频素材库有哪些网站能提供高质量的素材呢&#xff1f;别担心&#xff0c;今天我要为你们揭秘八个超棒的视频素材网站&#xff0c;让你的视频制作更加轻松在创作的路上如鱼得水&#xff01; 蛙学网&#xff1a;海量…

【tensorflow框架神经网络实现鸢尾花分类_Keras】

文章目录 1、前言2、鸢尾花分类3、结果打印 1、前言 【tensorflow框架神经网络实现鸢尾花分类】一文中使用自定义的方式&#xff0c;实现了鸢尾花数据集的分类工作。在这里使用tensorflow中的keras模块快速、极简实现鸢尾花分类任务。 2、鸢尾花分类 import tensorflow as t…

.DevicData-P-XXXXXXXX勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复

导言&#xff1a; 随着信息技术的飞速发展&#xff0c;网络安全问题日益突出&#xff0c;其中勒索病毒成为了一种日益严重的威胁。.DevicData-P-XXXXXXXX勒索病毒就是其中一种典型的恶意软件&#xff0c;它通过加密用户文件并要求赎金来解锁的方式&#xff0c;给企业和个人带来…

【Java项目】基于SpringBoot的【心灵治愈交流平台】

目录 背景 技术简介 系统简介 界面预览 背景 随着网络不断的普及发展&#xff0c;心灵治愈交流平台依靠网络技术的支持得到了快速的发展&#xff0c;首先要从用户的实际需求出发&#xff0c;通过了解用户的需求开发出具有针对性的首页、系统公告、心理咨询师、心灵专栏、压…

基于springboot实现网上点餐系统项目【项目源码+论文说明】计算机毕业设计

基于springboot实现网上点餐系统演示 摘要 随着科学技术的飞速发展&#xff0c;各行各业都在努力与现代先进技术接轨&#xff0c;通过科技手段提高自身的优势&#xff1b;对于网上点餐系统当然也不能排除在外&#xff0c;随着网络技术的不断成熟&#xff0c;带动了网上点餐系统…

【了解下Oracle】

&#x1f308;个人主页:程序员不想敲代码啊 &#x1f3c6;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家 &#x1f44d;点赞⭐评论⭐收藏 &#x1f91d;希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出指正&#xff0c;让我们共…

网络安全入门教程(非常详细)从零基础入门到精通!

网络安全是一个庞大而不断发展的领域&#xff0c;它包含多个专业领域&#xff0c;如网络防御、网络攻击、数据加密等。介绍网络安全的基本概念、技术和工具&#xff0c;逐步深入&#xff0c;帮助您成为一名合格的网络安全从业人员。 一、网络安全基础知识 1.计算机基础知识 …

java(4)之运算符

1、算术运算符 运算符含义表达式加11-减1-1*乘1*2/除2/1%取余5%2 2、赋值运算符 即 表示将右边的值赋给左边的变量 即 int i &#xff1b; i 1&#xff1b; 运算符含义 表达式 x xyxy-x x-yx - y*x x*yx*y/x x/yx /y%x x%yx %y 代码示例 public class Main {pub…

芒果YOLOv5改进89:卷积SPConv篇,即插即用,去除特征图中的冗余,FLOPs 和参数急剧下降,提升小目标检测

芒果专栏 基于 SPConv 的改进结构,改进源码教程 | 详情如下🥇 👉1. SPConv 结构、👉2. CfSPConv 结构 💡本博客 改进源代码改进 适用于 YOLOv5 按步骤操作运行改进后的代码即可 即插即用 结构。博客 包括改进所需的 核心结构代码 文件 YOLOv5改进专栏完整目录链接:…

环境配置——已解决ModuleNotFoundError: No module named ‘cv2’(python)

一、报错代码 在网上搜到不少用Python处理图形的代码&#xff0c;于是复制别人的代码直接运行却报错&#xff0c;得到的结果却是&#xff1a;已解决ModuleNotFoundError: No module named ‘cv2’。&#xff08;当时心里瞬间凉了一大截&#xff0c;最后顺利解决了&#xff0c;顺…

配置文件乱码

1、改UTF-8 &#xff08;1&#xff09;已经创建的项目 (2)新项目也改一下

皓学IT:WEB07_ JSP

一、Jsp基础语法 1.1. JSP模板元素 JSP页面中的HTML内容称之为JSP模版元素。 JSP模版元素定义了网页的基本骨架&#xff0c;即定义了页面的结构和外观。 1.2. JSP脚本片段 JSP脚本片断用于在JSP页面中编写多行Java代码&#xff08;在<%%>不能定义方法&#xff09;。…

动手机器学习支持向量机+习题

非参数化模型&#xff0c;当数据集规模增大时&#xff0c;其参数量也相应变多 希望从这无数个可以分隔两个点集的超平面中&#xff0c;挑选出与任意一点间隔&#xff08;margin&#xff09;的最小值最大的平面 支持向量机的数学描述 对上式来说&#xff0c;当w和b的大小同时变…

鸿蒙OS开发实例:【ArkTS类库多线程CPU密集型任务TaskPool】

CPU密集型任务是指需要占用系统资源处理大量计算能力的任务&#xff0c;需要长时间运行&#xff0c;这段时间会阻塞线程其它事件的处理&#xff0c;不适宜放在主线程进行。例如图像处理、视频编码、数据分析等。 基于多线程并发机制处理CPU密集型任务可以提高CPU利用率&#x…

学习大数据之JDBC(使用JAVA语句进行SQL操作)(2)

文章目录 PreparedStatement预处理对象sql注入的问题以解决方法&#xff08;预处理对象&#xff09;使用预处理对象(PreparedStatement)实现操作使用预处理对象&#xff08;PreparedStatement&#xff09;实现查询操作使用预处理对象&#xff08;PreparedStatement&#xff09;…

瑞吉外卖实战学习--11、分类管理的列表分页查询

分类管理的列表分页查询 前言1、创建接口2、基于分页组件来实现的 前言 通过前端接口可以看到请求和传递的参数&#xff0c;本文章是基于mybatisPlus的分页插件来实现的 1、创建接口 GetMapping("/page")public R<Page> page(int page,int pageSize){ // …