ACC SHELL
Path : /etc/ |
|
Current File : //etc/gai.conf |
# Configuration for getaddrinfo(3).
#
# So far only configuration for the destination address sorting is needed.
# RFC 3484 governs the sorting. But the RFC also says that system
# administrators should be able to overwrite the defaults. This can be
# achieved here.
#
# All lines have an initial identifier specifying the option followed by
# up to two values. Information specified in this file replaces the
# default information. Complete absence of data of one kind causes the
# appropriate default information to be used. The supported commands include:
#
# reload <yes|no>
# If set to yes, each getaddrinfo(3) call will check whether this file
# changed and if necessary reload. This option should not really be
# used. There are possible runtime problems. The default is no.
#
# label <mask> <value>
# Add another rule to the RFC 3484 label table. See section 2.1 in
# RFC 3484. The default is:
#
#label ::1/128 0
#label ::/0 1
#label 2002::/16 2
#label ::/96 3
#label ::ffff:0:0/96 4
#label fec0::/10 5
#label fc00::/7 6
#label 2001:0::/32 7
#
# This default differs from the tables given in RFC 3484 by handling
# (now obsolete) site-local IPv6 addresses and Unique Local Addresses.
# The reason for this difference is that these addresses are never
# NATed while IPv4 site-local addresses most probably are. Given
# the precedence of IPv6 over IPv4 (see below) on machines having only
# site-local IPv4 and IPv6 addresses a lookup for a global address would
# see the IPv6 be preferred. The result is a long delay because the
# site-local IPv6 addresses cannot be used while the IPv4 address is
# (at least for the foreseeable future) NATed. We also treat Teredo
# tunnels special.
#
# precedence <mask> <value>
# Add another rule to the RFC 3484 precedence table. See section 2.1
# and 10.3 in RFC 3484. The default is:
#
#precedence ::1/128 50
#precedence ::/0 40
#precedence 2002::/16 30
#precedence ::/96 20
#precedence ::ffff:0:0/96 10
#
# For sites which prefer IPv4 connections change the last line to
#
#precedence ::ffff:0:0/96 100
#
# scopev4 <mask> <value>
# Add another rule to the RFC 3484 scope table for IPv4 addresses.
# By default the scope IDs described in section 3.2 in RFC 3484 are
# used. Changing these defaults should hardly ever be necessary.
# The defaults are equivalent to:
#
#scopev4 ::ffff:169.254.0.0/112 2
#scopev4 ::ffff:127.0.0.0/104 2
#scopev4 ::ffff:10.0.0.0/104 5
#scopev4 ::ffff:172.16.0.0/108 5
#scopev4 ::ffff:192.168.0.0/112 5
#scopev4 ::ffff:0.0.0.0/96 14
#
# Back in 2003, the sorting algorithm used by getaddrinfo() was defined in RFC
# 3484. However, this document did not take into account (or foresee) the
# ubiquity of IPv4 NAT on today's internet. This in turn causes some real
# operational problems that's hindering the deployment of IPv6 for content
# providers.
#
# The problem scenario is the following:
#
# An end user is located in a network numbered with private (RFC 1918) IPv4
# addresses and transitional 6to4 (RFC 3056) IPv6 addresses. The network is
# connected to the internet by a CPE/SOHO device implementing NAT for IPv4 and
# anycasted 6to4 (RFC 3068) for IPv6.
#
# When the user attempts to connect to a server whose hostname has both IPv4
# and IPv6 addresses published in DNS, an IPv6 connection using the
# transitional 6to4 service will be preferred. This happens because the scope
# comparsion fails for IPv4, the RFC 1918 addresses are assumed to have
# site-local scope, which is smaller than the global scope of the server's IPv4
# address. For IPv6, both the server's and the client's (6to4) address have
# global scope.
#
# Unfortunately, the operational reality is that a transitional technique such
# as 6to4 is much less reliable than IPv4. The relay routers might be located
# far away from the optimal IPv4 path, and thus cause a significant latency
# increase, or they might not even work optimally (they're usually operated by
# voulenteering third parties on a best-effort basis), and finally some ISPs
# simply filter away all proto-41 traffic. Transitional techniques are useful
# to give end users with IPv4-only service a real shot at accessing IPv6-only
# content, but it should never be preferred over IPv4 service when accessing
# dual-stacked content.
#
# RFC 3484 even acknowledges this, by saying to "«avoid the use of transitional
# addresses when native addresses are available"».
#
# An IETF draft document which describes the problem in a much more detailed
# manner than I have is available here:
#
# http://tools.ietf.org/html/draft-denis-v6ops-nat-addrsel-00
#
# There's also an IETF draft that aims to revise RFC 3484 in order to fix this
# problem (amongst others):
#
# http://tools.ietf.org/html/draft-arifumi-6man-rfc3484-revise-02
#
# Quoting from this document:
#
# > 2.7. To change private IPv4 address scope
# >
# > As detailed in Remi's draft [I-D.denis-v6ops-nat-addrsel], when a
# > host is in NATed site, and has a private IPv4 address and
# > transitional addresses like 6to4 and Teredo, the host chooses
# > transitional IPv6 address to access most of the dual-stack servers.
# >
# > This is because private IPv4 address is defined to be site-local
# > scope, and as in RFC 3484, the scope matching rules (Rule 2) set
# > lower priority for private IPv4 address.
# >
# > By changing the address scope of private IPv4 address to global, this
# > problem can be solved.
#
scopev4 ::ffff:10.0.0.0/104 14
scopev4 ::ffff:172.16.0.0/108 14
scopev4 ::ffff:192.168.0.0/112 14
ACC SHELL 2018