Correct documentation, and allow client lists without the
[freeradius.git] / raddb / clients.conf
1 # -*- text -*-
2 ##
3 ## clients.conf -- client configuration directives
4 ##
5 ##      $Id$
6
7 #######################################################################
8 #
9 #  Definition of a RADIUS client (usually a NAS).
10 #
11 #  The information given here over rides anything given in the
12 #  'clients' file, or in the 'naslist' file.  The configuration here
13 #  contains all of the information from those two files, and allows
14 #  for more configuration items.
15 #
16 #  The "shortname" is be used for logging.  The "nastype", "login" and
17 #  "password" fields are mainly used for checkrad and are optional.
18 #
19
20 #
21 #  Defines a RADIUS client.
22 #
23 #  '127.0.0.1' is another name for 'localhost'.  It is enabled by default,
24 #  to allow testing of the server after an initial installation.  If you
25 #  are not going to be permitting RADIUS queries from localhost, we suggest
26 #  that you delete, or comment out, this entry.
27 #
28 #
29
30 #
31 #  Each client has a "short name" that is used to distinguish it from
32 #  other clients.
33 #
34 #  In version 1.x, this field was the IP address of the client.
35 #  In 2.0, the IP address is configured via the "ipaddr" or "ipv6addr"
36 #  fields.  For compatibility, the 1.x format is still accepted.
37 #
38 client localhost {
39         #  Allowed values are:
40         #       dotted quad (1.2.3.4)
41         #       hostname    (radius.example.com)
42         ipaddr = 127.0.0.1
43
44         #  OR, you can use an IPv6 address, but not both
45         #  at the same time.
46 #       ipv6addr = ::   # any.  ::1 == localhost
47
48         #
49         #  A note on DNS:  We STRONGLY recommend using IP addresses
50         #  rather than host names.  Using host names means that the
51         #  server will do DNS lookups when it starts, making it
52         #  dependent on DNS.  i.e. If anything goes wrong with DNS,
53         #  the server won't start!
54         #
55         #  The server also looks up the IP address from DNS once, and
56         #  only once, when it starts.  If the DNS record is later
57         #  updated, the server WILL NOT see that update.
58         #
59
60         #  One client definition can be applied to an entire network.
61         #  e.g. 127/8 should be defined with "ipaddr = 127.0.0.0" and
62         #  "netmask = 8"
63         #
64         #  If not specified, the default netmask is 32 (i.e. /32)
65         #
66         #  We do NOT recommend using anything other than 32.  There
67         #  are usually other, better ways to acheive the same goal.
68         #  Using netmasks of other than 32 can cause security issues.
69         #
70         #  You can specify overlapping networks (127/8 and 127.0/16)
71         #  In that case, the smallest possible network will be used
72         #  as the "best match" for the client.
73         #
74 #       netmask = 32
75
76         #
77         #  The shared secret use to "encrypt" and "sign" packets between
78         #  the NAS and FreeRADIUS.  You MUST change this secret from the
79         #  default, otherwise it's not a secret any more!
80         #
81         #  The secret can be any string, up to 8k characters in length.
82         #
83         #  Control codes can be entered vi octal encoding,
84         #       e.g. "\101\102" == "AB"
85         #  Quotation marks can be entered by escaping them,
86         #       e.g. "foo\"bar"
87         #
88         #  A note on security:  The security of the RADIUS protocol
89         #  depends COMPLETELY on this secret!  We recommend using a
90         #  shared secret that is composed of:
91         #
92         #       upper case letters
93         #       lower case letters
94         #       numbers
95         #
96         #  And is at LEAST 8 characters long, preferably 16 characters in
97         #  length.  The secret MUST be random, and should not be words,
98         #  phrase, or anything else that is recognizable.
99         #
100         #  The default secret below is only for testing, and should
101         #  not be used in any real environment.
102         #
103         secret          = testing123
104
105         #
106         #  Old-style clients do not send a Message-Authenticator
107         #  in an Access-Request.  RFC 5080 suggests that all clients
108         #  SHOULD include it in an Access-Request.  The configuration
109         #  item below allows the server to require it.  If a client
110         #  is required to include a Message-Authenticator and it does
111         #  not, then the packet will be silently discarded.
112         #
113         #  allowed values: yes, no
114         require_message_authenticator = no
115
116         #
117         #  The short name is used as an alias for the fully qualified
118         #  domain name, or the IP address.
119         #
120         #  It is accepted for compatibility with 1.x, but it is no
121         #  longer necessary in 2.0
122         #
123 #       shortname       = localhost
124
125         #
126         # the following three fields are optional, but may be used by
127         # checkrad.pl for simultaneous use checks
128         #
129
130         #
131         # The nastype tells 'checkrad.pl' which NAS-specific method to
132         #  use to query the NAS for simultaneous use.
133         #
134         #  Permitted NAS types are:
135         #
136         #       cisco
137         #       computone
138         #       livingston
139         #       max40xx
140         #       multitech
141         #       netserver
142         #       pathras
143         #       patton
144         #       portslave
145         #       tc
146         #       usrhiper
147         #       other           # for all other types
148
149         #
150         nastype     = other     # localhost isn't usually a NAS...
151
152         #
153         #  The following two configurations are for future use.
154         #  The 'naspasswd' file is currently used to store the NAS
155         #  login name and password, which is used by checkrad.pl
156         #  when querying the NAS for simultaneous use.
157         #
158 #       login       = !root
159 #       password    = someadminpas
160
161         #
162         #  As of 2.0, clients can also be tied to a virtual server.
163         #  This is done by setting the "virtual_server" configuration
164         #  item, as in the example below.
165         #
166 #       virtual_server = home1
167 }
168
169 # IPv6 Client
170 #client ::1 {
171 #       secret          = testing123
172 #       shortname       = localhost
173 #}
174 #
175 # All IPv6 Site-local clients
176 #client fe80::/16 {
177 #       secret          = testing123
178 #       shortname       = localhost
179 #}
180
181 #client some.host.org {
182 #       secret          = testing123
183 #       shortname       = localhost
184 #}
185
186 #
187 #  You can now specify one secret for a network of clients.
188 #  When a client request comes in, the BEST match is chosen.
189 #  i.e. The entry from the smallest possible network.
190 #
191 #client 192.168.0.0/24 {
192 #       secret          = testing123-1
193 #       shortname       = private-network-1
194 #}
195 #
196 #client 192.168.0.0/16 {
197 #       secret          = testing123-2
198 #       shortname       = private-network-2
199 #}
200
201
202 #client 10.10.10.10 {
203 #       # secret and password are mapped through the "secrets" file.
204 #       secret      = testing123
205 #       shortname   = liv1
206 #       # the following three fields are optional, but may be used by
207 #       # checkrad.pl for simultaneous usage checks
208 #       nastype     = livingston
209 #       login       = !root
210 #       password    = someadminpas
211 #}
212
213 #######################################################################
214 #
215 #  Per-socket client lists.  The configuration entries are exactly
216 #  the same as above, but they are nested inside of a section.
217 #
218 #  You can have as many per-socket client lists as you have "listen"
219 #  sections, or you can re-use a list among multiple "listen" sections.
220 #
221 #  Un-comment this section, and edit a "listen" section to add:
222 #  "clients = per_socket_clients".  That IP address/port combination
223 #  will then accept ONLY the clients listed in this section.
224 #
225 #clients per_socket_clients {
226 #       client 192.168.3.4 {
227 #               secret = testing123
228 #        }
229 #}