Hi!
This is my first post to either of these list, I have been
lurking, (sorry to cross post but I don’t know if this is a virt-manager
or libvirt question). So first off thank you to everyone for all your efforts.
I think libvirt and virt-manager are excellent! I’ve built a pair of
server s in the lab with a Xen stack and have been attempting to get
virt-manager 0.5.4 to communicate with, first libvirt 0.4.2 and then libvirt
0.4.4 using TLS across the network in a “client / server”
configuration unsuccessfully. All the machines are on the same subnet
(192.168.4.x/24). I can make Virt-Manager communicate with Libvirt over TCP
without authentication so now that I know the installation works I want to
further secure it using TLS.
I’ve read everything I can get my hands on, subscribe
to the lists and feel that I must be making a simple error ;I could really use
a fresh perspective. I would really appreciate any feedback you can offer.
Here’s my configuration and testing method.
Workstation
Ubuntu Hardy Heron 64 bit
Virt-manager 0.5.4
Server
Distribution = CentOS 5.1 (64 bit)
Kernel = 2.6.18.8-xen (compiled from
source)
Xen = 3.2.1.gz
virsh # version
Compiled against library: libvir 0.4.4
Using library: libvir 0.4.4
Using API: Xen 3.0.1
Running hypervisor: Xen 3.2.0
/usr/local/etc/libvirt/libvirtd.conf
Listen_tcp = 1
auth_unix_ro = “none”
auth_unix_rw=”none”
auth_tcp=”none”
In this configuration I can use “Remove Password or
Kerberos” to connect. I just enter the hostname of the Xen machine and Virt-Manager
lets me see all the Domains that are running (or shutdown if I virsh define
them) as well as look at their consoles (if the vfb is configured correctly).
I followed the configuration notes at: http://libvirt.org/remote.html with a
couple of exceptions:
1.
I already have a linux based CA
that I use with OpenVPN so I used that CA root certificate and just generated
client and server cert / key pairs for my client and server (I tested with just
one server)
2.
I reverted back to the default
libvirtd.conf to setup for TLS and noticed that the default paths for the
certificate locations were not in line with the documentation on the web page but
there were commented sections as follows that matched the documentation, so I
uncommented them:
key_file = “/etc/pki/libvirt/private/serverkey.pem”
cert_file = “/etc/pki/libvirt/servercert.pem”
ca_file = “/etc/pki/CA/cacert.pem”
#crl_file = “/etc/pki/CA/crl.pem”
Note: I did not uncomment the CRL_FILE path as I do not want to use a CRL at
this time
3.
On the server I execute “libvirtd
–listen –verbose” (libvirtd output) attached
4.
virt-manager 0.5.4 (as root) ,
File, Open Connection
Hypervisor: Xen
Connection: Remote SSL/TLS with x509 certificate
Hostname: vxen-01.aenigmacorp.com (I have a host
entry for this machine)
The virt-manager console reports “unable to open
a connection to the libvirt management daemon”. Verify that the “libvirtd”
daemon has been started. Then, in details there is a lot of info (see
virt-manager output)
5.
If I tail /root/.virt-manager/virt-manager.log
I get the following output (see virt-manager.log)
That about sums it up. I have not read any instructions
that ask me to copy the CA root certificate to the client, is that required?
And if so where would I put it. Also, whenever I attempt to connect there are
no errors appearing in the libvirtd output, which is a bit surprising. I would
have expected that by using –verbose on the libvirtd command line that i
would see more info. Lin 94 in the libvirt.py script is definitely trying to
do some kind of authentication but I don’t really know what to do to
troubleshot this next? I still don’t know if my issue is related to the
client or the server?
Any advice would be greatly appreciated.
Many thanks
Geoff Wiener