The meaning of the IPv6 config options in CentOS 7

centos7ipv6linux-networking

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?

Best Answer

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