当前位置: 首页 > news >正文

设置libvirtd支持远程TCP连接

20250215 -

概述

此前在部署KVM的时候,直接利用了默认设置,在本机上是完全能够正常使用的。但在一些需要远程访问的时候,在网上搜索相关的教程却一直无法联通。一直报错无法启动。

在这里插入图片描述

问题描述

在网上搜索的解决方式,基本上都是这个套路,如文章[1],首先在/etc/libvirt/libvirtd.conf中对某些配置进行设置,具体配置如下:

listen_tls = 0 
listen_tcp = 1
auth_tcp = "sasl" #设置为none表示不需要鉴权

参数auth_tcp中我为了方便设置为none,表示不需要鉴权,主要是为了内网环境方便,实际应用环境还是需要设置。

在经过上述配置之后,在/etc/sysconfig/libvirtd增加--listen选项。在我的环境下,ubuntu20.04,libvirtd是6.0,需要修改的文件是/etc/default/libvirtd。但是修改了这部分之后,执行命令sudo service libvirtd restart每次都会报错,系统提示报错可以查看命令journalctl -xe查看命令状态,具体报错信息可见上面的图片。

解决方法

按照上面的报错进行了搜索,实际上并没有找到太多解决方案,还是谷歌直接搜索了无法启动tcp远程连接找到了对应的方法。例如文章[2]中的提示,首先需要激活tcp等一些服务:

Systems with libvirt version 5.6 or higher with enabled systemd socket activation, stop the daemon and start TCP and/or TLS socket systemd units:
执行命令:
systemctl stop libvirtd
systemctl enable --now libvirtd-tcp.socket libvirtd-tls.socket

tls的部分可以去掉,这里不需要。但是执行这部分命令之后,该文章依然需要添加--listen参数来启动,所以还是继续报错。经过继续搜索之后发现,文章[3]提示执行命令sudo journalctl -u libvirtd查看报错日志,可以看到具体报错如下:

–listen parameter not permitted with systemd activation sockets, see ‘man libvirtd’ for further guidance

大致意思就是,--listen这种参数在当前的运行状态下不太支持,经过执行man libvirtd之后,发现提示。所以在执行上述的命令(systemctl enable --now libvirtd-tcp.socket libvirtd-tls.socket)之后,不需要增加这个参数在/etc/default/libvirtd中,就可以解决上述问题了。

重启上述服务,在另外一台机器执行命令:virsh -c qemu+tcp://192.168.5.10/system发现可以联通。

注意:上述配置中为配置鉴权,在实际环境中一定要进行配置,避免安全问题。

参考

[1]50 最佳实践-安全最佳实践-Libvirt鉴权
[2]Libvirt daemon is not listening on TCP ports
[3]Issues with starting libvbirtd [SOLVED]

相关文章:

  • 【动手学强化学习】03马尔可夫决策过程
  • 【指令集】Nginx
  • day12摄影平台活动
  • 浏览器标签页通信实现打开新窗口播放音乐
  • BDF(MD)
  • DeepSeek学术秘籍:如何让DeepSeek辅助论证?
  • 2月第九讲“探秘Transformer系列”
  • 无人机航迹规划: 梦境优化算法(Dream Optimization Algorithm,DOA)求解无人机路径规划MATLAB
  • Android设备 网络安全检测
  • CAS单点登录(第7版)27.开发人员
  • wx061基于ssm+vue+uniapp的疫情期间学生请假与销假系统小程序
  • Vue CLI 配置与插件
  • 1.【BUUCTF】[SUCTF 2019]EasyWeb
  • 【Docker】Docker Run 中指定 `bash` 和 `sh` 参数的区别:深入解析与实践指南
  • openGauss 3.0 数据库在线实训课程16:学习逻辑结构:表管理4
  • 小白零基础如何用cursor
  • 车载诊断框架 --- ECU运行周期operation cycle
  • MFC 自定义十六进制显示控件
  • 重生之我要当云原生大师(二十)访问网络附加存储:
  • Java:204 基于springboot零食销售商城的设计与实现
  • 科普|治疗腰椎间盘突出症,筋骨平衡理论如何提供新视角?
  • 武契奇目前健康状况稳定,短期内将暂停日常工作
  • 习近平给谢依特小学戍边支教西部计划志愿者服务队队员回信
  • 人民日报评论员:把造福人民作为根本价值取向
  • 消费持续升温,这个“五一”假期有何新亮点?
  • 200枚篆刻聚焦北京中轴线,“印记”申遗往事