Normally Xen is deployed with plenty of of public IPs, so it can use bridged networking and each virtual machine can have it’s own public IP. However in my case I was limited by only 1 public IP, but I wanted to run several VMs with services accessible from outside. Solution was to modify XEN networking scripts.
Idea is to use an internal bridge with hidden IP subnet and to use NAT and port forwading so particular services on VMs can be reached from outside (on public IP, which is assigned to DOM0).This solution works for me successfully on Debian Squeeze. Continue reading Xen 4 – Combined Bridged And NAT Networking