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

14,608

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.

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.

Solution 3

The rest of unclear configuration options is used for dynamic configuration by NetworkManager nm-settings-ifcfg-rh (that is enabled in new distributions) not for traditional static network scripts.

IPV6_DEFROUTE(+), (and IPV6_DEFAULTGW, IPV6_DEFAULTDEV in /etc/sysconfig/network)
"IPV6_DEFROUTE=no" tells NetworkManager that this connection should not be assigned the default IPv6 route. IPV6_DEFROUTE has the opposite meaning as 'never-default' property.

PEERDNS - initscripts interpret PEERDNS=no to mean "never touch resolv.conf". NetworkManager interprets it to say "never add automatic (DHCP, PPP, VPN, etc.) nameservers to resolv.conf".

They are useful generally in a special case if you want to add some static options e.g. to /etc/resolv.conf and you also want to use only some specified auto configuration by NetworkManager. (That file would be e.g. overwritten by NetworkManager without these options.)

These names can be found used only in the library
/usr/lib64/NetworkManager/...version.../libnm-settings-plugin-ifcfg-rh.so (in RedHat, CentOS and Fedora)

Share:
14,608

Related videos on Youtube

jwbensley
Author by

jwbensley

Senior network engineer / architect Programmer Hobbyist hardware hacker/tinkerer

Updated on September 18, 2022

Comments

  • jwbensley
    jwbensley almost 2 years

    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?

  • jscott
    jscott over 7 years
    Or you can poke around in /usr/share/doc/initscripts-$VERSION/sysconfig.txt and other files within that directory.