(文章来自作者维护的社区微信公众号【虚拟化云计算】)
(
目前有两个微信群《kvm虚拟化》和《openstack》,扫描二维码点击“云-交流”,进群交流提问)

TLS(Transport Layer Security Protocol),即安全传输层协议,其
核心是加密两台计算机之间的通信。
libvirt中使用TLS,可以实现libvirt的安全加密。例如
,虚拟机在不同的主机之间迁移或者远程链接libvirt的守护进程对libvirt进程控制时,都可以走TLS通道进行加密。本文将实践libvirt的TLS配置和具体使用。有以下四个步骤。
1.CA证书文件:
2.创建服务端证书:
3.创建客户端证书:
(以上三个步骤时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这台服务器上)
(使用--p2p --tunnelled的方式迁移数据会走tls端口,默认是16514)
具体操作可参考libvirt官方文档:
====================================================================
关注微信公众号【虚拟化云计算】,阅读更多虚拟化云计算知识,纯技术干货更新不停。
