What is the meaning of the IPv6 config options in CentOS 7?

What exactly are the meanings of the following settings when manually configuring network interfaces on CentOS (I'm trying to configure an IPv6 only host)?

I can guess what some of them mean by their name but I don't know what all of them mean (and some of my guesses could be wrong); is there any official documentation for these configuration options, I can't find any?

From /etc/sysconfig/network-scripts/ifcfg-eth0

IPV6INIT=yes          # I assume this just enables IPv6 networking on this interface?
IPV6_AUTOCONF=no      # Does this disable SLAAC?
IPV6_AUTOTUNNEL=no    # ?
IPV6_FAILURE_FATAL=no # Something to do with IPv6 not working not being an issue?
IPV6_DEFROUTE=yes     # ?
IPV6_PEERDNS=yes      # Does this mean we use the default gateway for DNS queries?
IPV6_PEERROUTES=yes   # Same as above?
IPV6ADDR=1::2/64      # This is obviously the IPv6 address and subnet mask
IPV6_DEFAULTGW=1::1   # This is obviously the default gateway

Also for IPv4 the settings DNS1 and DNS2 exist, do the equivilent ettings IPV6_DNS1 and IPV6_DNS2 exist?


Solution 1:

Thanks for the great links although I was really after the answer with regards to the meaning of those IPv6 options I specified, not links to their meaning, as the links may suffer from link-rot.

From:

IPV6ADDR             #<addr/mask> - Where address is the first static, or primary, IPv6 address on an interface. 
IPV6ADDR_SECONDARIES #<addr/mask> Option additional addresses .
IPV6_AUTOCONF        #<yes/no> - Enable IPv6 autoconf configuration for this interface (an IPv6 address will be requested using Neighbor Discovery (ND)).
IPV6_AUTOTUNNEL      #<yes/no> - Control IPv6 automatic tunneling (device sit0)
IPV6_DEFAULTGW       #<addr> - IPv6 default gateway
IPV6_DEFROUTE        #Does option even exist?
IPV6_FAILURE_FATAL   #<yes/no> - Whether the device is disabled if IPv6 configuration fails.
IPV6FORWARDING       #<yes/no>- Control IPv6 forwarding (box acting as router).
IPV6INIT             #<yes/no> - Initialize this interface for IPv6 addressing.
IPV6_MTU             #<integer> IPv6 MTU for this link.
IPV6_PEERDNS         #<yes/no> - Does this option exist? I assume it does the same as the IPv6 version?
IPV6_ROUTER          #<yes/no> - Control sending of router advertisements and isRouter on neigbor advertisements.


# defaults:
# IPV6_AUTOCONF=(see IPV6FORWARDING)
# IPV6_AUTOTUNNEL=no
# IPV6_FAILURE_FATAL=???
# IPV6FORWARDING=no
#  if IPV6FORWARDING=yes: IPV6_AUTOCONF=no, IPV6_ROUTER=yes
#  if IPV6FORWARDING=no:  IPV6_AUTOCONF=yes
# IPV6INIT=no
# IPV6_PEERDNS=???
# IPV6_ROUTER=(see IPV6FORWARDING)

Sources: https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Deployment_Guide/s1-networkscripts-interfaces.html

https://www.deepspace6.net/projects/initscripts-ipv6.html#idm140568487160560

https://docs.oracle.com/cd/E37670_01/E41138/html/ol_about_netconf.html

and cat /etc/sysconfig/network-scripts/ifup-ipv6

Solution 2:

The manuals are a bit spotty. Different manuals have different parts of the story.

  • rhel6 networkscripts manual
  • initscripts-ipv6 manual
  • oracle linux netconf manual
  • and also man -k network to search for hopeful pages.

That list should hit all of the options you mentioned; the IPV6_* options usually work like their ipv4 counterparts.

As far as a centos official one... there's the wiki, I guess, but I can never find what I want on there. As usual, the scripts themselves are the authoritative source.