libvirt-TLS加密

时间:2022-05-07
本文章向大家介绍libvirt-TLS加密,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

TLS(Transport Layer Security Protocol),即安全传输层协议,其核心是加密两台计算机之间的通信。libvirt中使用TLS,可以实现libvirt的安全加密。例如,虚拟机在不同的主机之间迁移或者远程链接libvirt的守护进程对libvirt进程控制时,都可以走TLS通道进行加密。本文将实践libvirt的TLS配置和具体使用。有以下四个步骤。

1.CA证书文件:

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

2.创建服务端证书:

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

3.创建客户端证书:

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

(以上三个步骤时TLS的通用配置方式)

4:配置libvirt守护进程

/etc/libvirt/libvirtd.conf 

#在最后添加下面

#auth_unix_rw="sasl"

ca_file="/etc/pki/CA/cacert.pem"

cert_file = "/etc/pki/libvirt/servercert.pem"

key_file = "/etc/pki/libvirt/private/serverkey.pem"

listen_addr="0.0.0.0"

unix_sock_group="qemu"

unix_sock_rw_perms="0770"
/etc/sysconfig/libvirtd

#libvirtd启动时添加--listen参数

LIBVIRTD_ARGS="--listen"

以上4个步骤就完成了libvrit中TLS的配置。可查看端口监控信息:

# netstat -tulpen | grep libvirt

tcp 0 0 0.0.0.0:16514 0.0.0.0:* LISTEN 0 34065 3505/libvirtd

使用tls通道测试链接libvirt的守护进程:

# virsh -c qemu+tls://host1/system hostname

(远程查看名为host1的计算机的hostname)

使用tls通道测试虚拟机在不同的主机间迁移:

# virsh migrate centos_test1 qemu+tls://host1/system --p2p --tunnelled

(使用tls加密可以使用tunnelled参数,例子是把虚拟机centos_test1在线迁移到host1这台服务器上)

具体操作可参考libvirt官方文档:

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


关注本公众号,了解更多关于云计算虚拟化的知识。