== Preparation It is necessary to consider the requirements for the installation in order to devise an efficient and manageable set up. === Understand the network topology When multiple networks (VLANs) are in use consideration must be given to how the correct "pool" (IP address ranges) from which to allocate addresses is identified. The policy for setting specific DHCP options (e.g. lease time, default gateway, time server and vendor-specific parameters) for different groups of hosts, based on their network or some device attributes either supplied in the DHCP requests or determined by dynamic lookup, should be well defined and understood. Other DHCP servers may implement implicit assumptions about the requirement of your network topology and silently define particular behaviours, such as the selection of IP address pool for a request based on a relay address. Some of these behaviours must be specifed explicitly when using FreeRADIUS. === Choose a database backend FreeRADIUS stores its leases in an SQL database, so one of the key decisions to make is which database to use. FreeRADIUS supports: * SQLite * PostgreSQL * MySQL / MariaDB * Microsoft SQL Server * Oracle In most configurations the SQL database is likely to be the limiting component that restricts the IP allocation throughput of the overall system. Each database server has its own performance characteristics and unique approach to features such as high-availability. The choice of database should be made carefully based on the performance and high-availability requirements of the system, as well as any prior experience. [TIP] ==== SQLite is an in-process database that uses the local file system, is simple to configure and is suitable for smaller installations. However, users with larger address pools or high availability requirements should choose one of the other standalone databases based on criteria such as performance, features, familiarity and your need for commercial support. ==== FreeRADIUS ships with a default database schema and set of queries for each supported database. These are sufficient for most DHCP deployments but can be reviewed and modified as required to suit a particular situation, for example to customise the IP allocation policy such as by disabling address "stickiness". Now xref:protocols/dhcp/enable.adoc[enable the DHCP service].