Tag Archives: ipv6

ipv6 SLAAC router advertisements in FC20/RHEL7/CentOS7

If you’re using SLAAC to configure devices in your network, there is extra work to do to get thing running in FC20/RHEL7.

On my client machine, I have the following ipv6 configurations:

$ cat /etc/sysctl.d/90-accept_ra.conf 
net.ipv6.conf.default.accept_ra=1

grep ‘^IPV6′ /etc/sysconfig/network-scripts/ifcfg-<dev>

IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_PEERDNS="yes"
IPV6_PEERROUTES="yes"
IPV6_FAILURE_FATAL="no"

Normally this should be enough to get ipv6 working. What I noticed however is that although global ipv6 have been assigned to the client I still can not reach machines outside the network.

ping6 www.google.com
connect: Network is unreachable

In FC20 and RHEL7, NetworkManager is taking control of configuring ipv6 SLAAC:

  • it disable sysctl knob under /proc/sys/net/ipv6/conf/<dev>/accept_ra
    $ cat /proc/sys/net/ipv6/conf/<dev>/accept_ra
    0
    
  • and by default it’s ignoring RA from routers.

To fix that do the following:

  • edit /etc/NetworkManager/NetworkManager.conf and add keyfile to the list of plugins
    [main]
    plugins=ifcfg-rh,keyfile
    

    than restart the service

    # service NetworkManager restart
    
  • nmcli con edit type eth
    nmcli>goto ipv6
    You may edit the following properties: method, dhcp-hostname, dns, dns-search, addresses, routes, ignore-auto-routes, ignore-auto-dns, never-default, may-fail, ip6-privacy
    nmcli ipv6> print
    ipv6.method: auto
    ipv6.ignore-auto-routes: no
    ...
    nmcli ipv6> set ipv6.ignore-auto-routes true
    nmcli ipv6> verify
    Verify setting 'ipv6': OK
    nmcli ipv6> save
    Saving the connection with 'autoconnect=yes'. That might result in an immediate activation of the connection.
    Do you still want to save? [yes] yes
    Connection 'ethernet' (<uuid>) successfully saved.
    nmcli ipv6> quit
    
  • ping6 www.google.com
    should works now!