| # -*- text -*- |
| ## |
| ## templates.conf -- configurations to be used in multiple places |
| ## |
| ## $Id: 7b8b44e051c974c1a0a6e27a0cff50e621835df2 $ |
| |
| ###################################################################### |
| # |
| # Version 2.0 has a useful new feature called "templates". |
| # |
| # Use templates by adding a line in radiusd.conf: |
| # |
| # $INCLUDE templates.conf |
| # |
| # The goal of the templates is to have common configuration located |
| # in this file, and to list only the *differences* in the individual |
| # sections. This feature is most useful for sections like "clients" |
| # or "home_servers", where many may be defined, and each one has |
| # similar repeated configuration. |
| # |
| # Something similar to templates can be done by putting common |
| # configuration into separate files, and using "$INCLUDE file...", |
| # but this is more flexible, and simpler to understand. It's also |
| # cheaper for the server, because "$INCLUDE" makes a copy of the |
| # configuration for inclusion, and templates are simply referenced. |
| # |
| # The templates are defined in the "templates" section, so that they |
| # do not affect the rest of the server configuration. |
| # |
| # A section can reference a template by using "$template name" |
| # |
| templates { |
| # |
| # The contents of the templates section are other |
| # configuration sections that would normally go into |
| # the configuration files. |
| # |
| |
| # |
| # This is a default template for the "home_server" section. |
| # Note that there is no name for the section. |
| # |
| # Any configuration item that is valid for a "home_server" |
| # section is also valid here. When a "home_server" section |
| # is defined in proxy.conf, this section is referenced as |
| # the template. |
| # |
| # Configuration items that are explicitly listed in a |
| # "home_server" section of proxy.conf are used in |
| # preference to the configuration items listed here. |
| # |
| # However, if a configuration item is NOT listed in a |
| # "home_server" section of proxy.conf, then the value here |
| # is used. |
| # |
| # This functionality lets you put common configuration into |
| # a template, and to put only the unique configuration |
| # items in "proxy.conf". Each section in proxy.conf can |
| # then contain a line "$template home_server", which will |
| # cause it to reference this template. |
| # |
| home_server { |
| response_window = 20 |
| zombie_period = 40 |
| revive_interval = 120 |
| # |
| # Etc. |
| } |
| |
| # |
| # You can also have named templates. For example, if you |
| # are proxying to 3 different home servers all at the same |
| # site, with identical configurations (other than IP |
| # addresses), you can use this named template. |
| # |
| |
| # Then, each "home_server" section in "proxy.conf" would |
| # only list the IP address of that home server, and a |
| # line saying |
| # |
| # $template example_com |
| # |
| # That would tell FreeRADIUS to look in the section below |
| # for the rest of the configuration items. |
| # |
| # For various reasons, you shouldn't have a "." in the template |
| # name. Doing so means that the server will be unable to find |
| # the template. |
| # |
| example_com { |
| type = auth |
| port = 1812 |
| secret = testing123 |
| response_window = 20 |
| # |
| # Etc... |
| } |
| |
| # |
| # You can have templates for other sections, too, but they |
| # seem to be most useful for home_servers. |
| # |
| # For now, you can use templates only for sections in |
| # radiusd.conf, not sub-sections. So you still have to use |
| # the "$INCLUDE file.." method for things like defining |
| # multiple "sql" modules, each with similar configuration. |
| # |
| } |