Creating IP Pools

If you plan to have more that one host machine for virtual systems (like Xen instances or OpenVZ containers), we recommend defining the IP allocation range for those systems in a single place. This way the range only has to be created once, and can be changed in a single place.

The steps to create a common IP range are :

1. Open the **Host Systems** category on the left menu, and click on **IP Addresses**.
1. Go to the **Common IPv4 pools** tab.
1. In the first empty row, enter starting and ending IP addresses for your allocation range, such as `192.168.1.1` and `192.168.1.200`.
1. Enter a netmask for the range, like `255.255.255.0`.
1. Optionally enter a gateway IP address.
1. If you have one, enter a description for this IP range.
1. Click the **Save** button.
1. To add another range, repeat the steps above.

Once the range has been created, it will be available when creating or editing host systems.

The starting, ending and gateway fields allow you to enter multiple addresses on separate lines, to define more than one range for this common IP pool.

IPv6 Allocation Pools
-------------------------------

If you are running Cloudmin 5.6 or later and plan to use IPv6, you can also define IPv6 allocation ranges on this page. This assumes that an IPv6 network has been allocated for your use. The steps to do so are :

1. Open the **Host Systems** category on the left menu, and click on **IP Addresses**.
2. Go to the **Common IPv6 pools** tab.
3. In the first empty row, enter starting and ending IPv6 addresses for your allocation range, such as `2001:db8:0:f101::0` and `2001:db8:0:f101::fff`. The starting and ending addresses should be the same except for the last word.
1. Enter a netmask for the range, typically `64`.
1. Optionally enter a gateway IPv6 address.
1. If you have one, enter a description for this IPv6 range.
1. Click the **Save** button.
1. To add another range, repeat the steps above.

Once the range has been created, it will be available when creating or editing host systems.

IP Addresses and Host Systems
-----------------------------------------------

When you edit a KVM, Xen, OpenVZ or other host system under the **Host Systems** menu category, you can select one or more IP allocation pools that will be used for virtual systems created on that host. In a small Cloudmin deployment all your host systems will be on the same network, as thus can share the same pool - but if you have host systems in different datacenters, you may need multiple pools.

Pools are selected using the **IP address allocation ranges** table. For host systems that have multiple network bridges (each typically connected to a different LAN), you can choose which bridge each pool is used for.

If any IPv6 pools have been defined, you can similarly select them in the **IPv6 address allocation ranges** table.

IP Address Allocation
-------------------------------

When a virtual system is created, the default behavior of Cloudmin is to assign one or more IP address from the pools specified for the chosen host system. Alternately you can manually enter an IP address, netmask and gateway in the **Host and networking options** section of the creation form.

When creating a new network interface for a virtual system an IPv4 address can also be allocated from the range assigned to the system it is hosted on.

If any IPv6 allocation ranges have been defined you can also select at creation time to allocate a IPv6 addresses for the new virtual system, or enter one manually. By default IPv6 allocation is disabled, but can be turned on by default at **Cloudmin Settings** -> **Cloudmin Configuration** -> **Virtual system settings** -> **Allocate an IPv6 address for new systems?**.