(文章來自作者維護的社區微信公衆號【虛擬化雲計算】)
(目前有兩個微信羣《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官方文檔:
====================================================================
關注微信公衆號【虛擬化雲計算】,閱讀更多虛擬化雲計算知識,純技術乾貨更新不停。