aboutsummaryrefslogtreecommitdiffstats
path: root/notes/projects/radius/sql/ippool.md
blob: ce39c389f910372e97e4070a2b9a275819402ef1 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53

IP Engineering RADIUS IP Pool Database
======================================

Objectives
----------

   * Psuedo static IP addresses
   * Per NAS Preference for geographic regions
   * Ability to deavtivate/busy out specific netblocks

Files
----

   * ippool.md            - This file
   * ippool-database.sql  - Creates database
   * ippool-schema.sql    - Creates database schema (tables, indexes, etc)
   * ippool-functions.sql - Creates end-user/end-application functions
   * ippool-demo.sql      - Loads demo data
   * ippool-queries.sql   - Common or useful queries
   * radius-roles.sql     - Common database roles for RADIUS


Initializing New Database
-------------------------

 * Create base database roles for RADIUS, not not already created:

      psql -h raddbtest.prv.acsalaska.net -f radius-roles.sql

 * Create database and load schema:

      psql -h raddbtest.prv.acsalaska.net -f ippool-database.sql
      psql -h raddbtest.prv.acsalaska.net -f ippool-schema.sql    radius_ippool
      psql -h raddbtest.prv.acsalaska.net -f ippool-functions.sql radius_ippool

 * Create RADIUS pools using `pool_add()`.
 * Create RADIUS regions using `region_add()`.
 * Create RADIUS NAS clients using `nas_add()`.
 * Create network blocks using `netblock_add()`.
 * Add IP addresses with `ip_add_network()` if `netblock_add()` was not called
   with `addIpEntries := TRUE`.

For examples of using the above functions, please read `ippool-demo.sql`.


Network Block Management
------------------------



IP Address Assignments
----------------------