我无法使用 libvirt 来监听 TCP

我无法使用 libvirt 来监听 TCP

我不知道如何在 Ubuntu 中使用“-l”选项 (--listen) tcp 连接启用 libvirt。我认为这是一个错误。

我尝试了以下操作,但没有成功:

https://bugs.launchpad.net/ubuntu/+source/libvirt/+bug/557054

但是 libvirtd 只能使用 -d 选项运行。我使用的是 Ubuntu 13.10。我做错了什么?有人能帮我吗?

http://wiki.libvirt.org/page/Libvirt_daemon_is_not_listening_on_tcp_ports_although_configured_to

答案1

我已经找到了解决方案,实际上您还需要向 libvirt-bin 初始化脚本提供 -l 选项。

在主机操作系统的 libvirt 服务中启用 TCP。

Edit /etc/libvirt/libvirtd.conf to set:
listen_tls = 0
listen_tcp = 1
auth_tcp="none"
tcp_port = "16509"

配置 libvirt 服务以监听 TCP

Edit /etc/init/libvirt-bin.conf to add the "-l" argument:
exec /usr/sbin/libvirtd -d -l

重启 libvirt 服务

Invoke: service libvirt-bin restart

**测试 libvirt 使用“-l”参数启动**

Invoke: ps -ef | grep libvirt

验证输出是否包含“-l”参数:

.... /usr/sbin/libvirtd -d -l

来源:http://pineapplesoftware.blogspot.com.tr/2012/11/configuring-unsecure-remote-access-to.html

答案2

由于@Mustafa 的回答中存在一些小的不一致之处,我正在重写一些“步骤”。以下内容在 Ubuntu 12.04 上进行了测试

  1. 更新libvirt配置。修改/etc/libvirt/libvirtd.conf

    之前:#listen_tls = 0
    之后:listen_tls = 0

    之前:#listen_tcp = 1
    之后:listen_tcp = 1

    添加:auth_tcp =“无”

  2. 修改/etc/init/libvirt-bin.conf。(-l 是 –listen 的缩写)

    之前:env libvirtd_opts="-d"
    之后:env libvirtd_opts="-d -l"

  3. 修改/etc/default/libvirt-bin。

    之前 :libvirtd_opts=" -d"
    之后 :libvirtd_opts=" -d -l"

  4. 重启libvirt,执行命令后确保libvirt重启成功。

    # 停止 libvirt-bin && 启动 libvirt-bin
    $ ps -ef | grep libvirt

最后一个的输出应该是这样的:

root     XXXXX     1 22 07:55 ?        00:00:01 /usr/sbin/libvirtd -d -l

答案3

您需要创建/etc/pki/CA/证书或使用选项libvirtd进行配置listen_tls = 0

答案4

解决 Ubuntu 15.10 的问题

$ sudo vi /etc/systemd/system/multi-user.target.wants/libvirt-bin.service

更改行
ExecStart=/usr/sbin/libvirtd $LIBVIRTD_ARGS

ExecStart=/usr/sbin/libvirtd -l $LIBVIRTD_ARGS
添加 -l 选项

然后:
$ sudo systemctl daemon-reload
$ sudo service libvirt-bin restart

相关内容