oracular (8) rlm_sqlippool_tool.8.gz

Provided by: freeradius-common_3.2.5+dfsg-3ubuntu0.1_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)