4 |
- |
1 |
# -*- text -*-
|
|
|
2 |
##
|
|
|
3 |
## templates.conf -- configurations to be used in multiple places
|
|
|
4 |
##
|
34 |
- |
5 |
## $Id: c26e7d3945427350ebe8995f6c197efaecec5eb4 $
|
4 |
- |
6 |
|
|
|
7 |
######################################################################
|
|
|
8 |
#
|
|
|
9 |
# Version 2.0 has a useful new feature called "templates".
|
|
|
10 |
#
|
|
|
11 |
# Use templates by adding a line in radiusd.conf:
|
|
|
12 |
#
|
|
|
13 |
# $INCLUDE templates.conf
|
|
|
14 |
#
|
|
|
15 |
# The goal of the templates is to have common configuration located
|
|
|
16 |
# in this file, and to list only the *differences* in the individual
|
|
|
17 |
# sections. This feature is most useful for sections like "clients"
|
|
|
18 |
# or "home_servers", where many may be defined, and each one has
|
|
|
19 |
# similar repeated configuration.
|
|
|
20 |
#
|
|
|
21 |
# Something similar to templates can be done by putting common
|
|
|
22 |
# configuration into separate files, and using "$INCLUDE file...",
|
|
|
23 |
# but this is more flexible, and simpler to understand. It's also
|
|
|
24 |
# cheaper for the server, because "$INCLUDE" makes a copy of the
|
|
|
25 |
# configuration for inclusion, and templates are simply referenced.
|
|
|
26 |
#
|
|
|
27 |
# The templates are defined in the "templates" section, so that they
|
|
|
28 |
# do not affect the rest of the server configuration.
|
|
|
29 |
#
|
|
|
30 |
# A section can reference a template by using "$template name"
|
|
|
31 |
#
|
|
|
32 |
templates {
|
|
|
33 |
#
|
|
|
34 |
# The contents of the templates section are other
|
|
|
35 |
# configuration sections that would normally go into
|
|
|
36 |
# the configuration files.
|
|
|
37 |
#
|
|
|
38 |
|
|
|
39 |
#
|
|
|
40 |
# This is a default template for the "home_server" section.
|
|
|
41 |
# Note that there is no name for the section.
|
|
|
42 |
#
|
|
|
43 |
# Any configuration item that is valid for a "home_server"
|
|
|
44 |
# section is also valid here. When a "home_server" section
|
|
|
45 |
# is defined in proxy.conf, this section is referenced as
|
|
|
46 |
# the template.
|
|
|
47 |
#
|
|
|
48 |
# Configuration items that are explicitly listed in a
|
|
|
49 |
# "home_server" section of proxy.conf are used in
|
|
|
50 |
# preference to the configuration items listed here.
|
|
|
51 |
#
|
|
|
52 |
# However, if a configuration item is NOT listed in a
|
|
|
53 |
# "home_server" section of proxy.conf, then the value here
|
|
|
54 |
# is used.
|
|
|
55 |
#
|
|
|
56 |
# This functionality lets you put common configuration into
|
|
|
57 |
# a template, and to put only the unique configuration
|
|
|
58 |
# items in "proxy.conf". Each section in proxy.conf can
|
|
|
59 |
# then contain a line "$template home_server", which will
|
|
|
60 |
# cause it to reference this template.
|
|
|
61 |
#
|
|
|
62 |
home_server {
|
|
|
63 |
response_window = 20
|
|
|
64 |
zombie_period = 40
|
|
|
65 |
revive_interval = 120
|
|
|
66 |
#
|
|
|
67 |
# Etc.
|
|
|
68 |
}
|
|
|
69 |
|
|
|
70 |
#
|
|
|
71 |
# You can also have named templates. For example, if you
|
|
|
72 |
# are proxying to 3 different home servers all at the same
|
|
|
73 |
# site, with identical configurations (other than IP
|
|
|
74 |
# addresses), you can use this named template.
|
|
|
75 |
#
|
|
|
76 |
|
|
|
77 |
# Then, each "home_server" section in "proxy.conf" would
|
|
|
78 |
# only list the IP address of that home server, and a
|
|
|
79 |
# line saying
|
|
|
80 |
#
|
|
|
81 |
# $template example_com
|
|
|
82 |
#
|
|
|
83 |
# That would tell FreeRADIUS to look in the section below
|
|
|
84 |
# for the rest of the configuration items.
|
|
|
85 |
#
|
|
|
86 |
# For various reasons, you shouldn't have a "." in the template
|
|
|
87 |
# name. Doing so means that the server will be unable to find
|
|
|
88 |
# the template.
|
|
|
89 |
#
|
|
|
90 |
example_com {
|
|
|
91 |
type = auth
|
|
|
92 |
port = 1812
|
|
|
93 |
secret = testing123
|
|
|
94 |
response_window = 20
|
|
|
95 |
#
|
|
|
96 |
# Etc...
|
|
|
97 |
}
|
|
|
98 |
|
|
|
99 |
#
|
|
|
100 |
# You can have templates for other sections, too, but they
|
|
|
101 |
# seem to be most useful for home_servers.
|
|
|
102 |
#
|
|
|
103 |
# For now, you can use templates only for sections in
|
|
|
104 |
# radiusd.conf, not sub-sections. So you still have to use
|
|
|
105 |
# the "$INCLUDE file.." method for things like defining
|
|
|
106 |
# multiple "sql" modules, each with similar configuration.
|
|
|
107 |
#
|
|
|
108 |
}
|