Provided by: freeradius-common_3.2.5+dfsg-3~ubuntu24.04.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)