This article presents how to be able to migrate VPS between different subnets in the network by using a dynamic routing protocol such as OSPF. An already working OSPF setup is mandatory, this article only shows the OpenVZ specifics.
Contents
Quagga installation
Install the Quagga routing suite available on the official website.
Under Debian you can simply use the package.
apt-get install quagga
Quagga configuration
In /etc/quagga/zebra.conf just put a password to be able to access the telnet interface.
password zebra
In /etc/quagga/ospfd.conf configure the OSPF network and area in which is OpenVZ server will be and configure the redistribution of routes generated by the VPS.
password zebra ! router ospf redistribute kernel route-map only-vps network YOUR_NETWORK/XX area 0.0.0.0 ! route-map only-vps permit 10 match interface venet0 ! line vty
Usage
Once your OpenVZ server takes part in the OSPF network, you can easily use the ‘vzmigrate’ command to migrate a VPS between different subnet of the network and the IP of the VPS will be redistributed in the whole network as a /32 (host route).
Bugs
To avoid problems with this setup the IP addresses of your VPS must be taken outside of any other subnet configured on your network. If the IP address of the VPS is taken from an actual subnet, the other hosts of the subnet won't be able to communicate with it, except if you use proxy arp on the router.