Provided by: freeradius-common_3.0.26~dfsg~git20220223.1.00ed0241fa-0ubuntu3.3_all bug

NAME

       rlm_sqlippool_tool - manage SQL IP pools

SYNOPSIS

       rlm_sqlippool_tool  -p pool_name -s range_start -e range_end -t table_name -d -f raddb_dir
       -i instance [-c capacity] [-x existing_ips_file]

       rlm_sqlippool_tool -y pool_defs_yaml_file -t table_name -d -f raddb_dir  -i  instance  [-x
       existing_ips_file]

DESCRIPTION

       rlm_sqlippool_tool  is  a tool to manage IP address in SQL IP pools as used by FreeRADIUS.
       It will either output SQL that can be used to manipulate the  database  or  will  interact
       directly with a database to populate an IP pool table.

       The  format  of  the  SQL output or the commands operated on the database are based on the
       default  FreeRADIUS  ippool   schemas.    The   fields   populated   are   pool_name   and
       framedipaddress.  All other fields are left to be populated with their database defaults.

OPTIONS

       -c capacity
              Number of IP addreses to populate the pool with.  Defaults to 65536, or the maximum
              number that can be provisioned between the start and end of the range.

       -d dialect
              SQL dialect to use in producing the output.

       -e range_end
              End IP address in the pool range.  Either IPv4 or IPv6 addresses are allowed.

       -f raddb_dir
              Directory containing the FreeRADIUS configuration.  If this  option  is  specified,
              then  rlm_sqlippool_tool  will parse the configuration and attempt to talk directly
              to the database server specified in the FreeRADIUS configuration.

       -i instance
              Used in conjuction with -f.  Specifies the name of the sql module instance to parse
              in the FreeRADIUS configuration.  Defaults to sql.

       -p pool_name
              The pool name to populate.

       -s range_start
              Start IP address in the pool range.  Either IPv4 or IPv6 addresses are allowed.

       -t table_name
              Name of the table in the database to populate.

       -x existing_ips_file
              A  file  containing exsiting IP addresses in the pool.  Use of this allows for more
              controlled growth of a sparesly populated pool.

       -y pool_defs_yaml_file
              A YAML formatted file containing specifications for a number of pools.

EXAMPLES

       To produce MySQL formatted SQL for a  pool  named  local  populated  with  addresses  from
       10.0.0.1 to 10.0.0.199:

              $ rlm_sqlippool_tool -p local -s 10.0.0.1 -e 10.0.0.199 \
                  -t dhcpippool -d mysql

       To  do  the same but directly interacting with the SQL module configured in the FreeRADIUS
       configuration under /etc/freeradius/3.0:

              $ rlm_sqlippool_tool -p local -s 10.0.0.1 -e 10.0.0.199 \
                  -t dhcpippool -f /etc/freeradius/3.0

       To use a YAML file to specify the pool  ranges  to  be  populated,  outputting  PostgreSQL
       formatted SQL:

              $ rlm_sqlippool_tool -y pools.yaml -t dhcpippool -d postgresql

YAML FORMAT

       A YAML file to populate multiple pools should be formatted like this:

              pool_with_a_single_contiguous_range:
                - start:    192.0.2.3
                  end:      192.0.2.250

              pool_with_a_single_sparse_range:
                - start:    10.10.10.0
                  end:      10.10.20.255
                  capacity: 200

              pool_with_multiple_ranges:
                - start:    10.10.10.1
                  end:      10.10.10.253
                - start:    10.10.100.0
                  end:      10.10.199.255
                  capacity: 1000

              v6_pool_with_contiguous_range:
                - start:    '2001:db8:1:2:3:4:5:10'
                  end:      '2001:db8:1:2:3:4:5:7f'

              v6_pool_with_sparse_range:
                - start:    '2001:db8:1:2::'
                  end:      '2001:db8:1:2:ffff:ffff:ffff:ffff'
                  capacity: 200

PREREQUISITES

       To output formatted SQL, the Perl Template::Toolkit module is required.

       Direct  connection  to  databases is done using Perl DBI.  The appropriate Perl DBD driver
       needs to be installed to enable this functionality.

SEE ALSO

       radiusd.conf(5), raddb/mods-available/sql

AUTHORS

       Nick Porter <nick@portercomputing.co.uk>

                                                                            RLM_SQLIPPOOL_TOOL(8)