Blame doc/mrtg-ipv6.1

Packit 667938
.\" Automatically generated by Pod::Man 2.28 (Pod::Simple 3.29)
Packit 667938
.\"
Packit 667938
.\" Standard preamble:
Packit 667938
.\" ========================================================================
Packit 667938
.de Sp \" Vertical space (when we can't use .PP)
Packit 667938
.if t .sp .5v
Packit 667938
.if n .sp
Packit 667938
..
Packit 667938
.de Vb \" Begin verbatim text
Packit 667938
.ft CW
Packit 667938
.nf
Packit 667938
.ne \\$1
Packit 667938
..
Packit 667938
.de Ve \" End verbatim text
Packit 667938
.ft R
Packit 667938
.fi
Packit 667938
..
Packit 667938
.\" Set up some character translations and predefined strings.  \*(-- will
Packit 667938
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
Packit 667938
.\" double quote, and \*(R" will give a right double quote.  \*(C+ will
Packit 667938
.\" give a nicer C++.  Capital omega is used to do unbreakable dashes and
Packit 667938
.\" therefore won't be available.  \*(C` and \*(C' expand to `' in nroff,
Packit 667938
.\" nothing in troff, for use with C<>.
Packit 667938
.tr \(*W-
Packit 667938
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
Packit 667938
.ie n \{\
Packit 667938
.    ds -- \(*W-
Packit 667938
.    ds PI pi
Packit 667938
.    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
Packit 667938
.    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch
Packit 667938
.    ds L" ""
Packit 667938
.    ds R" ""
Packit 667938
.    ds C` ""
Packit 667938
.    ds C' ""
Packit 667938
'br\}
Packit 667938
.el\{\
Packit 667938
.    ds -- \|\(em\|
Packit 667938
.    ds PI \(*p
Packit 667938
.    ds L" ``
Packit 667938
.    ds R" ''
Packit 667938
.    ds C`
Packit 667938
.    ds C'
Packit 667938
'br\}
Packit 667938
.\"
Packit 667938
.\" Escape single quotes in literal strings from groff's Unicode transform.
Packit 667938
.ie \n(.g .ds Aq \(aq
Packit 667938
.el       .ds Aq '
Packit 667938
.\"
Packit 667938
.\" If the F register is turned on, we'll generate index entries on stderr for
Packit 667938
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
Packit 667938
.\" entries marked with X<> in POD.  Of course, you'll have to process the
Packit 667938
.\" output yourself in some meaningful fashion.
Packit 667938
.\"
Packit 667938
.\" Avoid warning from groff about undefined register 'F'.
Packit 667938
.de IX
Packit 667938
..
Packit 667938
.nr rF 0
Packit 667938
.if \n(.g .if rF .nr rF 1
Packit 667938
.if (\n(rF:(\n(.g==0)) \{
Packit 667938
.    if \nF \{
Packit 667938
.        de IX
Packit 667938
.        tm Index:\\$1\t\\n%\t"\\$2"
Packit 667938
..
Packit 667938
.        if !\nF==2 \{
Packit 667938
.            nr % 0
Packit 667938
.            nr F 2
Packit 667938
.        \}
Packit 667938
.    \}
Packit 667938
.\}
Packit 667938
.rr rF
Packit 667938
.\"
Packit 667938
.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
Packit 667938
.\" Fear.  Run.  Save yourself.  No user-serviceable parts.
Packit 667938
.    \" fudge factors for nroff and troff
Packit 667938
.if n \{\
Packit 667938
.    ds #H 0
Packit 667938
.    ds #V .8m
Packit 667938
.    ds #F .3m
Packit 667938
.    ds #[ \f1
Packit 667938
.    ds #] \fP
Packit 667938
.\}
Packit 667938
.if t \{\
Packit 667938
.    ds #H ((1u-(\\\\n(.fu%2u))*.13m)
Packit 667938
.    ds #V .6m
Packit 667938
.    ds #F 0
Packit 667938
.    ds #[ \&
Packit 667938
.    ds #] \&
Packit 667938
.\}
Packit 667938
.    \" simple accents for nroff and troff
Packit 667938
.if n \{\
Packit 667938
.    ds ' \&
Packit 667938
.    ds ` \&
Packit 667938
.    ds ^ \&
Packit 667938
.    ds , \&
Packit 667938
.    ds ~ ~
Packit 667938
.    ds /
Packit 667938
.\}
Packit 667938
.if t \{\
Packit 667938
.    ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
Packit 667938
.    ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
Packit 667938
.    ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
Packit 667938
.    ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
Packit 667938
.    ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
Packit 667938
.    ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
Packit 667938
.\}
Packit 667938
.    \" troff and (daisy-wheel) nroff accents
Packit 667938
.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
Packit 667938
.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
Packit 667938
.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
Packit 667938
.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
Packit 667938
.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
Packit 667938
.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
Packit 667938
.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
Packit 667938
.ds ae a\h'-(\w'a'u*4/10)'e
Packit 667938
.ds Ae A\h'-(\w'A'u*4/10)'E
Packit 667938
.    \" corrections for vroff
Packit 667938
.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
Packit 667938
.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
Packit 667938
.    \" for low resolution devices (crt and lpr)
Packit 667938
.if \n(.H>23 .if \n(.V>19 \
Packit 667938
\{\
Packit 667938
.    ds : e
Packit 667938
.    ds 8 ss
Packit 667938
.    ds o a
Packit 667938
.    ds d- d\h'-1'\(ga
Packit 667938
.    ds D- D\h'-1'\(hy
Packit 667938
.    ds th \o'bp'
Packit 667938
.    ds Th \o'LP'
Packit 667938
.    ds ae ae
Packit 667938
.    ds Ae AE
Packit 667938
.\}
Packit 667938
.rm #[ #] #H #V #F C
Packit 667938
.\" ========================================================================
Packit 667938
.\"
Packit 667938
.IX Title "MRTG-IPV6 1"
Packit 667938
.TH MRTG-IPV6 1 "2018-07-13" "2.17.7" "mrtg"
Packit 667938
.\" For nroff, turn off justification.  Always turn off hyphenation; it makes
Packit 667938
.\" way too many mistakes in technical documents.
Packit 667938
.if n .ad l
Packit 667938
.nh
Packit 667938
.SH "NAME"
Packit 667938
mrtg\-ipv6 \- IPv6 support in MRTG
Packit 667938
.SH "OVERVIEW"
Packit 667938
.IX Header "OVERVIEW"
Packit 667938
\&\s-1MRTG\s0 and cfgmaker support \s-1SNMP\s0 over IPv6. IPv6 targets can be specified by
Packit 667938
hostname or IPv6 address, and if the required libraries are present (see
Packit 667938
below), queries will use IPv6.
Packit 667938
.SH "USAGE"
Packit 667938
.IX Header "USAGE"
Packit 667938
.SS "Enabling IPv6"
Packit 667938
.IX Subsection "Enabling IPv6"
Packit 667938
IPv6 is currently disabled by default and must be explicitly enabled. In
Packit 667938
\&\s-1MRTG\s0 this is done by turning on the \fBEnableIPv6\fR global option in the
Packit 667938
configuration file. In cfgmaker, it is enabled with the \fB\-\-enable\-ipv6\fR
Packit 667938
command-line option.
Packit 667938
.PP
Packit 667938
If IPv6 is disabled, \s-1MRTG\s0 and cfgmaker should behave in exactly the same way
Packit 667938
as previous versions. So the addition of IPv6 support should have no effect
Packit 667938
on existing \s-1MRTG\s0 setups unless IPv6 is enabled.
Packit 667938
.PP
Packit 667938
IPv6 support requires the Socket6 and \s-1INET6\s0 libraries (see below). If \s-1MRTG\s0
Packit 667938
can't find them, IPv6 is disabled.
Packit 667938
.SS "Specifying IPv6 targets"
Packit 667938
.IX Subsection "Specifying IPv6 targets"
Packit 667938
IPv6 targets may be specified by name or IPv6 address. Numeric IPv6 addresses
Packit 667938
may be used with both cfgmaker and \s-1MRTG,\s0 but they must be enclosed in square
Packit 667938
brackets.
Packit 667938
.PP
Packit 667938
For example, a target could be specified as:
Packit 667938
.PP
Packit 667938
.Vb 1
Packit 667938
\& public@[2001:760:4::]:161
Packit 667938
.Ve
Packit 667938
.PP
Packit 667938
Hostnames work as expected: first an IPv6 name lookup is tried, then an IPv4
Packit 667938
lookup.
Packit 667938
.SS "Targets that do not support \s-1SNMP\s0 over IPv6"
Packit 667938
.IX Subsection "Targets that do not support SNMP over IPv6"
Packit 667938
Many targets (this currently includes all Cisco routers) do not yet support
Packit 667938
\&\s-1SNMP\s0 over IPv6 and must be monitored over IPv4. This can cause problems if
Packit 667938
you specify a target through its \s-1DNS\s0 name and the name maps to both the IPv6
Packit 667938
address and the IPv4 address of the target: \s-1MRTG\s0 will only try IPv6, and will
Packit 667938
fail.
Packit 667938
.PP
Packit 667938
To query these targets, use the \fBIPv4Only\fR per-target option, which tells
Packit 667938
\&\s-1MRTG\s0 not to use \s-1SNMP\s0 over IPv6 for the target.
Packit 667938
.PP
Packit 667938
\&\s-1MRTG\s0 does not fall back to IPv4 for performance and correctness reasons. If
Packit 667938
there are many routers to query, a timeout for every router would make \s-1MRTG\s0
Packit 667938
take too long to query them all. And if, for some reason, IPv6 connectivity to
Packit 667938
the target is lost, \s-1MRTG\s0's error messages can help figure out what is wrong.
Packit 667938
.PP
Packit 667938
cfgmaker does fall back from IPv6 to IPv4. If IPv6 is enabled and cfgmaker is
Packit 667938
given a hostname that resolves to both an IPv6 and an IPv4 address, it first
Packit 667938
tries to query the target over IPv6. If it receives no answer, it tries again
Packit 667938
using IPv4. If the target answers, cfgmaker sets the IPv4Only option in the
Packit 667938
generated config file.
Packit 667938
.SH "IPv6 LIBRARIES"
Packit 667938
.IX Header "IPv6 LIBRARIES"
Packit 667938
.SS "Libraries required"
Packit 667938
.IX Subsection "Libraries required"
Packit 667938
IPv6 support requires the \fBSocket6\fR and \fB\s-1INET6\s0\fR Perl modules. Both can be
Packit 667938
downloaded from \s-1CPAN:\s0
Packit 667938
.PP
Packit 667938
http://search.cpan.org/author/UMEMOTO/Socket6/
Packit 667938
.PP
Packit 667938
http://search.cpan.org/author/MONDEJAR/INET6/
Packit 667938
.PP
Packit 667938
If you use Debian, you will need the packages \fBlibsocket6\-perl\fR and
Packit 667938
\&\fBlibio\-socket\-inet6\-perl\fR, which are (or should soon be) in unstable.
Packit 667938
.PP
Packit 667938
So far, IPv6 support has been tested on Linux only, and only with Socket6
Packit 667938
version 0.12. Also note that IPv6 won't work at all if you don't have
Packit 667938
\&\s-1INET6\s0.pm version 2.00 or newer.
Packit 667938
.SS "Installing the libraries"
Packit 667938
.IX Subsection "Installing the libraries"
Packit 667938
Building and installing Socket6 and \s-1INET6\s0 is very simple. For each module,
Packit 667938
just unpack the archive and then do:
Packit 667938
.PP
Packit 667938
.Vb 2
Packit 667938
\& perl Makefile.PL
Packit 667938
\& make
Packit 667938
.Ve
Packit 667938
.PP
Packit 667938
and then:
Packit 667938
.PP
Packit 667938
.Vb 2
Packit 667938
\& su
Packit 667938
\& make install
Packit 667938
.Ve
Packit 667938
.PP
Packit 667938
If you have installed the libraries successfully, cfgmaker and mrtg should
Packit 667938
automatically detect them and allow IPv6 support to be enabled.
Packit 667938
.SH "AUTHOR"
Packit 667938
.IX Header "AUTHOR"
Packit 667938
Lorenzo Colitti <lorenzo location colitti.com>