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