Anyone that can help me solve this one?

I have around 4 VM's on a server and the network is bridged and a /28 public IP range assigned to it . When a client connects to one of the VM's, they all always log the address of the host server, never the client ip address. 

How can I fix this?


Things I have investigated:

1. Switch to routed network.  That would not help, since I would firstly need another public IP subnet to route to (the virtual machines).
2. Could have something to do with the libvirt firewall rules, but they are default, I didn't touch them

I have read many posts in forums and websites, but none make any mention of this behaviour.

Help would really be great!