ipv6mon.conf - Configuration file for the IPv6 address monitoring daemon
(ipv6mon)
/usr/local/etc/ipv6mon.conf
This file controls the operation of the ipv6mon daemon. It aloows the
system administrator to configure parameters such as:
|
+ Network interface card to use for address monitoring |
|
+ Type of probe packets to use |
|
+ Various timing paramaters (such as probe frequency) |
The configuration file follows the following general format:
# Comments
Variable1=Value1 # Comments
Variable2=Value2
The following configuration options are currently supported:
- NetworkInterface
- This variable specifies the network interface that will be used for IPv6
address monitoring.
- AddressLogFile
- This variable specifies the pathname of the log file where address usage
will be recorded. If left unspecified, the pathname defaults to
/var/log/ipv6mon.log.
- LockFile
- This variable is used to specify the pathname of the lockfile (PID file)
to be used to easily identify running instances of ipv6mon
/var/run/ipv6mon.pid.
- UnprivilegedUser
- This variable specifies the unprivileged username that will switch to
(i.e., setuid), such that superuser privileges are released. If left
unspecified, it defaults to ipv6mon
- UnprivilegedGroup
- This variable specifies the unprivileged group that ipv6mon will
switch to (i.e., setgid), such that superuser privileges are released. If
left unspecified, it defaults to ipv6mon
- TimestampFormat
- This option specifies the format to be used for the timestamps that are
included in the log file. Possible values are date and
epoch. The former causes the tool to include the timestamps in the
format “Sat Dec 24 05:24:50 2011”, whereas the latter causes
the tool to include timestamps as the number of seconds since the Epoch.
If left unspecified, this option defaults to date
- MaxAddressEntries
- This variable specifies the maximum number of addresses that
ipv6mon will keep track of at any given time. Since ipv6mon
keeps the list of currently-used addresses in memory (such that they can
be probed on a regular basis), the variable MaxAddressEntries
indirectly enforces a limit on the amount of system memory that
ipv6mon will use.
- MaxCandidateEntries
- This variable specifies the maximum number of "candidate
addresses" that ipv6mon will create at any given time. If left
unspecified, it defaults to MaxAddressEntries / 4.
- AddressTimeout
- This variable specifies the amount of time (in seconds) after which an
IPv6 address will be considered “unused” if no response is
received from that address.
- CandidateAddressTimeout
- This variable specifies the amount of time (in seconds) after which a
“candidate” IPv6 address will be considered
“unused” if no response is received from such address. Since
candidate addresses are created as a result of a heuristics (rather than
in response to packets originated from such addresses),
CandidateAddressTimeout will typically be shorter than
AddressTimeout , such that system resources are not tied to these
(possibly unused) addresses for an unnecessarily long period of time.
- MaxUnprobedInterval
- This variable specifies the maximum amount of time (in seconds) that an
address will remain “unprobed”. For obvious reasons, its
value should be smaller than that of AddressTimeout and that of
CandidateAddressTimeout , and should also usually account for more
than one probe packet to be sent before an address is "timed
out".
- UnicastProbeInterval
- This variable specifies the amount of time (in seconds) between unicast
probes sent to an IPv6 address. Once MaxUnprobedInterval seconds
have elapsed without probing an addresses, unicast probes will be sent
every UnicastProbeInterval seconds until a response is received or
the address is timed out.
- McastEchoProbeInterval
- This variable specifies the amount of time (in seconds) between ICMPv6
Echo Request probe packets sent to the all-nodes on-link multicast address
(ff02::1). Multicast Echo Request packets can easily detect newly attached
devices and probe existing devices. However, because they are sent to a
multicast address, the interval should be long enough such that
unnecessary traffic spikes are reduced.
Note: Some operating systems (notably Windows Vista and
Windows 7) will not respond to ICMPv6 echo request messages sent to a
multicast address. However, such systems can still be detected by means
of probe packets that include an unsupported option of type
10xxxxxx.
- McastUnrecProbeInterval
- This variable specifies the amount of time (in seconds) between ICMPv6
Echo Request probe packets (containing an unrecognized option in a
Destination Options header) sent to the all-nodes on-link multicast
address (ff02::1). Multicast Echo Request packets can easily detect newly
attached devices and probe existing devices. However, because they are
sent to a multicast address, the interval should be long enough such that
unnecessary traffic spikes are reduced.
- ProbeType
- This variable specifies the type of probe packets that will be used for
both unicast and multicast probes. echo specifies that only regular
ICMPv6 Echo Request messages should be used. unrec specifies that
only ICMPv6 Echo Request messages with an unsupported option should be
used. all specifies that both types of probe packets should be
used. If left unspecified, this option defaults to all
The following is a sample ipv6mon.conf file.
#
# ipv6mon configuration file
#
NetworkInterface=eth0 # Network Card to monitor
AddressLogFile=/var/log/ipv6mon.log # Where to log address usage
LockFile=/var/run/ipv6mon.pid # Where to write the daemon's PID
UnprivilegedUser=ipv6mon # Unprivileged user to switch to
UnprivilegedGroup=ipv6mon # Unprivileged group to switch to
TimestampFormat=date # Timestamps format
MaxAddressEntries=2000 # Maximum number of IPv6 addresses
#MaxCandidateEntries=1000 # Max. number of "candidate" addr
AddressTimeout=90 # Address timeout value
CandidateAddressTimeout=40 # Candidate Address Timeout
MaxUnprobedInterval=40 # Max. unprobed time
UnicastProbeInterval=15 # Time between unicast probes
McastEchoProbeInterval=120 # Time between Mcast Echo Probes
McastUnrecProbeInterval=120 # Time between Mcast Unrec Probes
ProbeType=all # Probe types (echo, unrec, all)
The ipv6mon tool and the corresponding manual pages were produced by
Fernando Gont <fgont@si6networks.com>.
Copyright (c) 2011-2012 Fernando Gont.
Permission is granted to copy, distribute and/or modify this
document under the terms of the GNU Free Documentation License, Version 1.3
or any later version published by the Free Software Foundation; with the
Invariant Sections being just "AUTHOR" and "COPYRIGHT",
with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the
license is available at
<http://www.gnu.org/licenses/fdl.html>.