radvd is not assigning prefix

Posted by Samik on Super User See other posts from Super User or by Samik
Published on 2014-05-27T09:19:15Z Indexed on 2014/05/29 3:34 UTC
Read the original article Hit count: 484

Filed under:
|

I'm currently trying to setup IPv6 address auto-configuration with router advertisement daemon (radvd) on a virtual machine running CentOS 6.5. But the eth0 interface is not obtaining that prefix.

I've obtained the ULA prefix from here.

Contents of /etc/sysctl.conf

# Kernel sysctl configuration file for Red Hat Linux
#
# For binary values, 0 is disabled, 1 is enabled.  See sysctl(8) and
# sysctl.conf(5) for more details.

# Controls IP packet forwarding
net.ipv4.ip_forward = 0
net.ipv6.conf.all.forwarding = 1

# Controls source route verification
net.ipv4.conf.default.rp_filter = 1

# Do not accept source routing
net.ipv4.conf.default.accept_source_route = 0

# Controls the System Request debugging functionality of the kernel
kernel.sysrq = 0

# Controls whether core dumps will append the PID to the core filename.
# Useful for debugging multi-threaded applications.
kernel.core_uses_pid = 1

# Controls the use of TCP syncookies
net.ipv4.tcp_syncookies = 1

# Disable netfilter on bridges.
net.bridge.bridge-nf-call-ip6tables = 0
net.bridge.bridge-nf-call-iptables = 0
net.bridge.bridge-nf-call-arptables = 0

# Controls the default maxmimum size of a mesage queue
kernel.msgmnb = 65536

# Controls the maximum size of a message, in bytes
kernel.msgmax = 65536

# Controls the maximum shared segment size, in bytes
kernel.shmmax = 68719476736

# Controls the maximum number of shared memory segments, in pages
kernel.shmall = 4294967296

Contents of /etc/radvd.conf

# NOTE: there is no such thing as a working "by-default" configuration file. 
#       At least the prefix needs to be specified.  Please consult the radvd.conf(5)
#       man page and/or /usr/share/doc/radvd-*/radvd.conf.example for help.
#
#
interface eth0
{
    AdvSendAdvert on;
    MinRtrAdvInterval 3;
    MaxRtrAdvInterval 10;
    AdvDefaultPreference low;
    AdvHomeAgentFlag off;
    prefix fd8a:8d9d:808f:1::/64
    {
        AdvOnLink on;
        AdvAutonomous on;
        AdvRouterAddr on;
    };

};

Contents of /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0
HWADDR=52:54:00:74:d7:46
TYPE=Ethernet
UUID=af5db1cb-e809-4098-be1a-5a74dbb767b1
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=dhcp
IPV6INIT=yes
IPV6_AUTOCONF=yes

I've also enabled radvd at startup through chkconfig. Though I noticed that radvd is starting after interfaces are brought up. I've tried restarting the network service afterwards but still I get the following link-local address only

#ip -6 addr show
1: lo:  mtu 16436 
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0:  mtu 1500 qlen 1000
    inet6 fe80::5054:ff:fe74:d746/64 scope link 
       valid_lft forever preferred_lft forever

Edit: Based on the answer given by Sander Steffann

I still need clarification on some points but I'm posting here what worked. Contents of /etc/sysconfig/network

NETWORKING=yes
HOSTNAME=syslog-ng-server
NETWORKING_IPV6=yes
IPV6FORWARDING=yes

Contents of /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0
HWADDR=52:54:00:74:d7:46
TYPE=Ethernet
UUID=af5db1cb-e809-4098-be1a-5a74dbb767b1
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=dhcp
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6FORWARDING=no

Removed following line from /etc/sysctl.conf

net.ipv6.conf.all.forwarding = 1

Contents of /etc/radvd.conf is as previous.

© Super User or respective owner

Related posts about IPv6

Related posts about prefix