1ISNS_CONFIG(8)              System Manager's Manual             ISNS_CONFIG(8)
2
3
4

NAME

6       isns_config - iSNS configuration file
7

SYNOPSIS

9       /etc/isns/isnsadm.conf
10       /etc/isns/isnsd.conf
11       /etc/isns/isnsdd.conf
12
13

DESCRIPTION

15       All  Open-iSNS  utilities  read  their  configuration  from  a  file in
16       /etc/isns.  There is a separate configuration file  for  each  applica‐
17       tion,  isnsd, isnsadm, and isnsdd.  The syntax and the set of supported
18       options is identical, even though some options are specific to e.g. the
19       server.  Unless indicated, options are applicable to all utilities.
20
21       An  Open-iSNS  configuration  file contains keyword-argument pairs, one
22       per line.  All keywords are case insensitive.
23
24       A # character introduces a comment, which extends until the end of  the
25       line. Empty lines are ignored.
26
27       There are no line continuations, and you cannot use quotes around argu‐
28       ments.
29
30       Some options specify timeout values, which are given in units  of  sec‐
31       onds  by  default. You can specify an explicit unit, however, such as d
32       (days), h (hours), m (minutes), or s (seconds).
33
34   Generic Options
35       HostName
36              By default, Open-iSNS applications will retrieve  the  machine's
37              hostname  using  the  gethostname(3)  system call, and use a DNS
38              lookup to look  up  the  canonical  name.   Using  the  HostName
39              option, you can overried this. This option is rarely needed.
40
41       SourceName
42              This  option  is mandatory for all Open-iSNS applications.  This
43              should be a name which identifies the  client  uniquely.   There
44              are two readings of RFC 4171; one requires that this is an iSCSI
45              qualified name  such  as  iqn.2001-04.com.example.host,  whereas
46              other  language  in  the RFC suggests that this is pretty much a
47              free-format string that just has to be unique  (using  e.g.  the
48              client's fully qualified domain name).
49
50              When  using DSA authentication, Open-iSNS currently requires the
51              source name to match the key identifier (SPI)  of  the  client's
52              public key.
53
54              If  left  empty,  the  source  name is derived from the client's
55              hostname.
56
57       ServerAddress (client):
58              This options specifies the host name  or  address  of  the  iSNS
59              server to talk to. It can optionally be followed by a colon, and
60              a port number.
61
62              Instead of a hostname, IPv4 or IPv6 addresses can be  used.   In
63              order  to avoid ambiguities, literal IPv6 addresses must be sur‐
64              rounded by square brackets, as in [2001:4e5f::1].
65
66              When specifying a port number, you can use  either  the  numeric
67              port,  or  a string name to be looked up in /etc/services.  When
68              the port is omitted, it defaults to 3205, the IANA assigned port
69              number of iSNS.
70
71       PIDFile (server):
72              This  specifies  the  name  of  the  server's PID file, which is
73              /var/run/isnsd.pid by default.
74
75   Database Related Options
76       These options apply to the iSNS server only, and control  operation  of
77       the iSNS database.
78
79       Database
80              This option is used to specify how the database is stored.  Set‐
81              ting this to an absolute path name  will  make  isnsd  keep  its
82              database in the specified directory.
83
84              If you leave this empty, isnsd will keep its database in memory.
85              This is also the default setting.
86
87       DefaultDiscoveryDomain
88              iSNS scopes visibility of other nodes using so-called  Discovery
89              Domains.  A  storage  node  A will only "see" storage node B, if
90              both are members of the same discovery domain.
91
92              So if a storage node is registered which is not part of any dis‐
93              covery domain, it will not see any other nodes.
94
95              By  setting DefaultDiscoveryDomain=1, you can tell isnsd to cre‐
96              ate a virtual "default discovery domain", which holds all  nodes
97              that  are  not part of any administratively configured discovery
98              domain.
99
100              By default, there is no default discovery domain.
101
102       RegistrationPeriod
103              The iSNS server can purge registered entities  after  a  certain
104              period  of  inactivity.  This is called the registration period.
105              Clients who register objects are supposed to refresh their  reg‐
106              istration within this period.
107
108              The  default value is 1 hour. Setting it to 0 disables expiry of
109              entities from the database.
110
111       ESIRetries
112              Open-iSNS is able to monitor the reachability of  storage  nodes
113              and their portals by using a protocol feature called ESI (Entity
114              status inquiry). Clients request ESI monitoring  by  registering
115              an  ESI  port  along  with each portal. The server will send ESI
116              messages to these portals at regular intervals.  If  the  portal
117              fails  to  reply  several times in a row, it is considered dead,
118              and will be removed from the database.
119
120              ESIRetries specifies the maximum number of attempts  the  server
121              will  make  at contacting the portal before pronouncing it dead.
122              If set to 0, the server will disable ESI and reject  any  regis‐
123              trations that specify an ESI port with an error code of "ESI not
124              supported".
125
126              The default value is 3.
127
128       ESIMinInterval
129              This timeout value specifies the minimum  ESI  interval.   If  a
130              client  requests  an  ESI  interval  less than this value, it is
131              silently rounded up.
132
133              The default value is 60 seconds.
134
135       ESIMaxInterval
136              This timeout value specifies the maximum  ESI  interval.   If  a
137              client  requests  an ESI interval greater than this value, it is
138              silently rounded down.
139
140              The default value is 10 minutes.
141
142              The maximum ESI interval must not exceed half the value  of  the
143              registration period.
144
145       SCNRetries
146              iSNS  clients  can register to receive State Change Notification
147              (SCN) messages to learn about  changes  in  the  iSNS  database.
148              This value specifies how often the server will try to retransmit
149              an SCN message until giving up.
150
151              The default value is 3.
152
153       SCNCallout
154              This is the path name of  a  helper  program  that  isnsdd  will
155              invoke  whenever  it  processes a state change notification from
156              the server. The helper program will be invoked with an  argument
157              indicating  the  type  of  event,  being  one of add, update, or
158              remove.  This is followed by a list of attributes in  name=value
159              notation,   using   the   names  and  conventions  described  in
160              isnsadm(8).
161
162   Security Related Options
163       The iSNS standard defines an authentication method  based  on  the  DSA
164       algorithm.  Participants in a message exchange authenticate messages by
165       adding an "authentication block" containing  a  time  stamp,  a  string
166       identifying  the key used, and a digital signature of the message.  The
167       same method is also used by SLP, the Service Location Protocol.
168
169       The string contained in the authentication block is referred to as  the
170       Security  Policy  Index(SPI).  This string can be used by the server to
171       look up the client's public key by whatever mechanism;  so  the  string
172       could  be  used  as the name of a public key file in a directory, or to
173       retrieve an X509 certificate from LDAP.
174
175       From the perspective of Open-iSNS client applications, there  are  only
176       two  keys: the client's own (private) key, used to sign the messages it
177       sends to the server, and the server's public key, used  to  verify  the
178       signatures of incoming server messages.
179
180       The  iSNS  server  needs, in addition to its own private key, access to
181       all public keys of clients that will communicate to it. The latter  are
182       kept in what is called a key store. Key stores and their operation will
183       be discussed in section Key Stores and Policy below.
184
185       The following configuration options control authentication:
186
187       Security
188              This enables or disables DSA authentication.  When set to 1, the
189              client will sign all messages, and expect all server messages to
190              be signed.
191
192              When enabling security in  the  server,  incoming  messages  are
193              checked  for  the presence of an auth block. If none is present,
194              or if the server cannot find a public key corresponding  to  the
195              SPI,  the  message  is  treated as originating from an anonymous
196              source. If the SPI is known but the signature is incorrect,  the
197              message is dropped silently.
198
199              Messages  from  an  anonymous  source  will  be  assigned a very
200              restrictive policy that allows database queries only.
201
202              Setting this option to 0 will turn off authentication.
203
204              The default value is -1, which tells iSNS to use  authentication
205              if the required keys are installed, and use unauthenticated iSNS
206              otherwise.
207
208       AuthName
209              This is the string that will be used as the SPI in all  outgoing
210              messages  that  have an auth block. It defaults to the host name
211              (please refer to option HostName).
212
213       AuthKeyFile
214              This is the path name of a file containing  a  PEM  encoded  DSA
215              key.   This  key is used to sign outgoing messages.  The default
216              is /etc/isns/auth_key.
217
218       ServerKeyFile
219              This option is used by client applications only,  and  specifies
220              the  path name of a file containing a PEM encoded DSA key.  This
221              key is used to authenticate the server's replies.   The  default
222              is /etc/isns/server_key.pub.
223
224       KeyStore
225              This   server-side  option  specifies  the  key  store  to  use,
226              described in the next section.
227
228       The following two options control how iSNS will verify the  time  stamp
229       contained  in  the  authentication  block, which is supposed to prevent
230       replay attacks.
231
232       Auth.ReplayWindow
233              In order  to  compensate  for  clock  drift  between  two  hosts
234              exchanging  iSNS  messages,  Open-iSNS  will apply a little fuzz
235              when comparing the time stamp contained in the  message  to  the
236              local  system  time.  If  the  difference between time stamp and
237              local system time is less than the number of  seconds  given  by
238              this  option,  the  message  is  acceptable.  Otherwise,  it  is
239              rejected.
240
241              The default value is 5m.
242
243       Auth.TimestampJitter
244              When verifying incoming messages, Open-iSNS checks that the time
245              stamps  sent  by the peer are increasing monotonically. In order
246              to compensate for the reordering of messages by the network  (eg
247              when  using  UDP  as  transport), a certain time stamp jitter is
248              accepted.  If the time stamp of an incoming messages is no  ear‐
249              lier  than  TimestampJitter  seconds  before the last time stamp
250              received, then the message  is  acceptable.   Otherwise,  it  is
251              rejected.
252
253              The default value is 1s.
254
255   Key Stores and Policy
256       The current implementation supports two types of key stores.
257
258       The  simple  key store uses a flat directory to store public keys, each
259       key in a file of its own. The file is expected  to  hold  the  client's
260       PEM-encoded  public  key, and it must use the client's SPI as the name.
261       This type of key store is not really recommended, as it does not  store
262       any policy information.
263
264       A  simple key store can be configured by setting the KeyStore option to
265       the path name of the directory.
266
267       The recommended approach is to use the database as key store. This uses
268       vendor-specific  policy  objects  to tie SPI string, public key, entity
269       name, source name and other bits of policy together, and store them  in
270       a persistent way.
271
272       The  database key store is configured by setting the KeyStore option to
273       the reserved value DB:, which is also the default.
274
275       Currently, Open-iSNS policy  objects  have  the  following  attributes,
276       besides the SPI:
277
278       Source:
279              This is the source node name the client must use. It defaults to
280              the SPI string.
281
282       Functions:
283              This is a bitmap detailing which functions the client is permit‐
284              ted  to  invoke. The bit names correspond to the shorthand names
285              used in RFC 4711,  such  as  DevAttrReg,  DevAttrQry,  etc.  The
286              default  is  to allow registration, query and deregistration, as
287              well as SCNRegister.
288
289       Entity name:
290              This is the entity name assigned to the client. If set, a regis‐
291              tration by the client is not permitted to use a different entity
292              name. If the client sends a registration without Entity  identi‐
293              fier,  the  server will assign the entity name given in the pol‐
294              icy.  The default is to not restrict the entity name.
295
296       Object access:
297              This is a bitfield describing access permissions for each object
298              type.   For  each  object  type, you can grant Read and/or Write
299              permissions.  Read access  applies  to  the  Query  and  GetNext
300              calls;  all  other  operations  require  write  permission.  The
301              default grants read and write access to objects of type  Entity,
302              Storage  Node,  Portal and Portal Group; and read access to Dis‐
303              covery Domains.
304
305       Node types:
306              This bitfield describes which types of storage nodes a client is
307              allowed  to  register; the valid bit names are target, initiator
308              and control.  The default is to restrict nodes to register  ini‐
309              tiators only.
310
311   Network Related Options
312       Network.MaxSockets
313              This  is  the  number  of  incoming  connections  accepted,  and
314              defaults to 1024. This usually applies to server side only,  but
315              is relevant if you create a passive TCP socket for ESI or SCN.
316
317       Network.ConnectTimeout
318              This  is a timeout value, which specifies the time to wait for a
319              TCP connection to be established.  It defaults to 60s.
320
321       Network.ReconnectTimeout
322              When a connection attempt failed,  we  wait  for  a  short  time
323              before  we  try  connecting  again. This is intended to take the
324              pressure off overloaded servers. The default value is 10s.
325
326       Network.CallTimeout
327              Total amount of time to wait before timing out  a  call  to  the
328              iSNS server.  The default value is 60s.
329

SEE ALSO

331       RFC 4171, isnsd(8), isnsadm(8).
332

AUTHORS

334       Olaf Kirch <olaf.kirch@oracle.com>
335
336
337
338                                  11 May 2007                   ISNS_CONFIG(8)
Impressum