[CentOS] IPv6 range provisioning question

Thu Jun 11 19:46:09 UTC 2009
Vadtec <vadtec at vadtec.net>

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Ok, firstly, I have dropped using the alias notation and am now working solely
on eth0.

Secondly, yes, I am talking about provisioning more than *one* IP at a time as
being a "range".

As for IPV6ADDR_SECONDARIES, when I use the following config:
/etc/sysconfig/network-scripts/ifcfg-eth0:
DEVICE=eth0
IPADDR=***.***.***.***
NETMASK=255.255.255.0
BROADCAST=***.***.***.***
ONBOOT=yes

IPV6INIT=yes
IPV6ADDR="2001:0470:0103:001A::2/64"
IPV6ADDR_SECONDARIES="2001:0470:0103:001A::3-2001:0470:0103:001A::FFFF"
IPV6_AUTOCONF=no
IPV6_ROUTER=no
IPV6FORWARDING=no
PEERDNS=no
VLAN=no

I get the following error:

Shutting down interface eth0:  [  OK  ]
Shutting down loopback interface:  [  OK  ]
Bringing up loopback interface:  [  OK  ]
Bringing up interface eth0:  ERROR    : [ipv6_test_ipv6_addr_valid] Given IPv6
address '2001:0470:0103:001A::3-FFFF' is not valid
WARN     : [ipv6_add_route] 'No route to host' adding route '::/0' via gateway
'2001:0470:0103:001A::1' through device 'eth0'
[  OK  ]
eth0      Link encap:Ethernet  HWaddr 00:16:3E:70:FC:96
          inet addr:***.***.***.***  Bcast:***.***.***.***  Mask:255.255.255.0
          inet6 addr: fe80::216:3eff:fe70:fc96/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:31 errors:0 dropped:0 overruns:0 frame:0
          TX packets:7 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:2270 (2.2 KiB)  TX bytes:406 (406.0 b)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:141521 errors:0 dropped:0 overruns:0 frame:0
          TX packets:141521 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:23702410 (22.6 MiB)  TX bytes:23702410 (22.6 MiB)


I also tried the following config:
/etc/sysconfig/network-scripts/ifcfg-eth0:
DEVICE=eth0
IPADDR=***.***.***.***
NETMASK=255.255.255.0
BROADCAST=***.***.***.***
ONBOOT=yes

IPV6INIT=yes
IPV6ADDR="2001:0470:0103:001A::2/64"
IPV6ADDR_SECONDARIES="2001:0470:0103:001A::3-2001:0470:0103:001A::FFFF"
IPV6_AUTOCONF=no
IPV6_ROUTER=no
IPV6FORWARDING=no
PEERDNS=no
VLAN=no

And receive the following error:
Shutting down interface eth0:  [  OK  ]
Shutting down loopback interface:  [  OK  ]
Bringing up loopback interface:  [  OK  ]
Bringing up interface eth0:  ERROR    : [ipv6_test_ipv6_addr_valid] Given IPv6
address '2001:0470:0103:001A::3-2001:0470:0103:001A::FFFF' is not valid
[  OK  ]
eth0      Link encap:Ethernet  HWaddr 00:16:3E:70:FC:96
          inet addr:***.***.***.***  Bcast:***.***.***.***  Mask:255.255.255.0
          inet6 addr: 2001:470:103:1a::2/64 Scope:Global
          inet6 addr: fe80::216:3eff:fe70:fc96/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:29 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:2643 (2.5 KiB)  TX bytes:516 (516.0 b)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:141716 errors:0 dropped:0 overruns:0 frame:0
          TX packets:141716 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:23744895 (22.6 MiB)  TX bytes:23744895 (22.6 MiB)

After doing some digging in the ifup-ipv6 and network-functions-ipv6 scripts, it
doesn't appear that IPV6ADDR_SECONDARIES actually supports the X-Y notation in
the current release. I see no where that the hyphen is removed and a range is
generated. I'm not the most powerful bash scripter in the world, so I could be
wrong.

Can anyone else weigh in on the subject and provide some more insight? It would
be really nice to provision an entire range of IPv6 and not have to add them one
by one.

Vadtec
vadtec at vadtec.net

Louis Lagendijk wrote:
> On Thu, 2009-06-11 at 10:49 -0500, Vadtec wrote:
>>>>> A few months back, I tried to use the network scripts to provision an IPv6 range
>>>>> like can be done with IPv4. I was using CentOS 5.2 at the time and was informed
>>>>> that 5.2 was broken in this regard. I have upgraded to CentOS 5.3 now and I am
>>>>> trying to get IPv6 to provision an entire range of IPs, but I am still getting
>>>>> the old behavior and no IPs are being provisioned.
>>>>>
> I am really confused on what you want to do here. When you talk about a
> RANGE what do you mean? Allocate more than one IPv6 address to a single
> interface? 
> If so, have a look at the IPV6ADDR_SECONDARIES clause in the link you
> included. I am not sure that you can use alias interfaces for IPv6. Put
> that in the ifcfg-ethx file, not in the config for the aliases
> (ifcfgx:y)
> 
>>>>> When I run service network restart, it doesn't even provision the default IPv6
>>>>> GW on eth0:1, nor does eth0:1 even show up.
> I don't think you can use alias interfaces for IPv6. It at least did not
> work on my other (Fedora) box
> IPV6ADDR_SECONDARIES on the device DOES work on Centos 5.3
> 
>>> However, this is not provisioning an entire range as follows:
>>>
>>> eth0      Link encap:Ethernet  HWaddr 00:16:3E:70:FC:96
>>>           inet addr:***.***.***.***  Bcast:***.***.***.***  Mask:255.255.255.0
>>>           inet6 addr: 2001:470:103:1a::2/64 Scope:Global
>>>           inet6 addr: fe80::216:3eff:fe70:fc96/64 Scope:Link
>>>           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
>>>           RX packets:70 errors:0 dropped:0 overruns:0 frame:0
>>>           TX packets:29 errors:0 dropped:0 overruns:0 carrier:0
>>>           collisions:0 txqueuelen:1000
>>>           RX bytes:6738 (6.5 KiB)  TX bytes:2050 (2.0 KiB)
>>>
> You have a single address provsioned indeed 2001:470:103:1a::2/64
> with a network part of 64 bits.
> 
>>> I also have a large number of "unreachable" routes shown on the local loopback
>>> when I do ip -6 route show:
>>> unreachable ::/96 dev lo  metric 1024  error -101 mtu 16436 advmss 16376
>>> hoplimit 4294967295
>>> unreachable ::ffff:0.0.0.0/96 dev lo  metric 1024  error -101 mtu 16436 advmss
>>> 16376 hoplimit 4294967295
>>> unreachable 2002:a00::/24 dev lo  metric 1024  error -101 mtu 16436 advmss 16376
>>> hoplimit 4294967295
>>> unreachable 2002:7f00::/24 dev lo  metric 1024  error -101 mtu 16436 advmss
>>> 16376 hoplimit 4294967295
>>> unreachable 2002:a9fe::/32 dev lo  metric 1024  error -101 mtu 16436 advmss
>>> 16376 hoplimit 4294967295
>>> unreachable 2002:ac10::/28 dev lo  metric 1024  error -101 mtu 16436 advmss
>>> 16376 hoplimit 4294967295
>>> unreachable 2002:c0a8::/32 dev lo  metric 1024  error -101 mtu 16436 advmss
>>> 16376 hoplimit 4294967295
>>> unreachable 2002:e000::/19 dev lo  metric 1024  error -101 mtu 16436 advmss
>>> 16376 hoplimit 4294967295
>>> unreachable 3ffe:ffff::/32 dev lo  metric 1024  error -101 mtu 16436 advmss
>>> 16376 hoplimit 4294967295
>>>
> Nothing to worry abouot. I have that too:
> 
> [root at nest network-scripts]# ip -r ro sh
> 192.168.178.0/24 dev eth0.178  proto kernel  scope link  src
> 192.168.178.2 
> 192.168.160.0/24 dev eth0.160  proto kernel  scope link  src
> 192.168.160.1 
> 192.168.1.0/24 dev eth0.1  proto kernel  scope link  src 192.168.1.1 
> 192.168.159.0/24 dev eth0.159  proto kernel  scope link  src
> 192.168.159.1 
> 192.168.158.0/24 dev eth0.158  proto kernel  scope link  src
> 192.168.158.1 
> 192.168.122.0/24 dev virbr0  proto kernel  scope link  src
> 192.168.122.1 
> 169.254.0.0/16 dev eth0.178  scope link 
> default via fritz.pheasant dev eth0.178 
> [root at nest network-scripts]# ip -6 ro sh
> ::/96 via :: dev sit0  metric 256  mtu 1480 advmss 1420 hoplimit
> 4294967295
> unreachable ::/96 dev lo  metric 1024  error -101 mtu 16436 advmss 16376
> hoplimit 4294967295
> unreachable ::ffff:0.0.0.0/96 dev lo  metric 1024  error -101 mtu 16436
> advmss 16376 hoplimit 4294967295
> 2001:888:10:18e::/64 via :: dev sit1  proto kernel  metric 256  mtu 1480
> advmss 1420 hoplimit 4294967295
> 2001:888:118e:18e1::/64 dev eth0.158  proto kernel  metric 256  mtu 1500
> advmss 1440 hoplimit 4294967295
> 2001:888:118e:18e2::/64 dev eth0.159  proto kernel  metric 256  mtu 1500
> advmss 1440 hoplimit 4294967295
> 2001:888:118e:18e3::/64 dev eth0.160  proto kernel  metric 256  mtu 1500
> advmss 1440 hoplimit 4294967295
> 2001:888:118e:18e4::/64 dev eth0.178  proto kernel  metric 256  mtu 1500
> advmss 1440 hoplimit 4294967295
> unreachable 2002:a00::/24 dev lo  metric 1024  error -101 mtu 16436
> advmss 16376 hoplimit 4294967295
> unreachable 2002:7f00::/24 dev lo  metric 1024  error -101 mtu 16436
> advmss 16376 hoplimit 4294967295
> unreachable 2002:a9fe::/32 dev lo  metric 1024  error -101 mtu 16436
> advmss 16376 hoplimit 4294967295
> unreachable 2002:ac10::/28 dev lo  metric 1024  error -101 mtu 16436
> advmss 16376 hoplimit 4294967295
> unreachable 2002:c0a8::/32 dev lo  metric 1024  error -101 mtu 16436
> advmss 16376 hoplimit 4294967295
> unreachable 2002:e000::/19 dev lo  metric 1024  error -101 mtu 16436
> advmss 16376 hoplimit 4294967295
> unreachable 3ffe:ffff::/32 dev lo  metric 1024  error -101 mtu 16436
> advmss 16376 hoplimit 4294967295
> 2000::/3 dev sit1  metric 1  mtu 1480 advmss 1420 hoplimit 4294967295
> fe80::/64 dev virbr0  proto kernel  metric 256  mtu 1500 advmss 1440
> hoplimit 4294967295
> fe80::/64 dev eth0  proto kernel  metric 256  mtu 1500 advmss 1440
> hoplimit 4294967295
> fe80::/64 via :: dev sit1  proto kernel  metric 256  mtu 1480 advmss
> 1420 hoplimit 4294967295
> fe80::/64 dev eth0.1  proto kernel  metric 256  mtu 1500 advmss 1440
> hoplimit 4294967295
> fe80::/64 dev eth0.158  proto kernel  metric 256  mtu 1500 advmss 1440
> hoplimit 4294967295
> fe80::/64 dev eth0.159  proto kernel  metric 256  mtu 1500 advmss 1440
> hoplimit 4294967295
> fe80::/64 dev eth0.160  proto kernel  metric 256  mtu 1500 advmss 1440
> hoplimit 4294967295
> fe80::/64 dev eth0.178  proto kernel  metric 256  mtu 1500 advmss 1440
> hoplimit 4294967295
> default dev sit1  metric 1  mtu 1480 advmss 1420 hoplimit 4294967295
> 
> Louis
> 
> _______________________________________________
> CentOS mailing list
> CentOS at centos.org
> http://lists.centos.org/mailman/listinfo/centos

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iQIcBAEBAgAGBQJKMV8AAAoJEEJXIw5V8gieXCkP/0O8rILC9FKAzA5VSjZgoG34
1iHOhhVrdL49AtgSQllkRKYwikcB1Hm+qDeGYno4sIGyjmEcKQxAUhhi052sYbU/
mAqDQkaekUZ/Dv21nBK3V9gzIzFCd+4cSCfPmy7/M6SVPqfinK3GlJchRRsiaqS7
Fk0CobzH8Ndh12gsLFD0Rov10P1E/Rw1nrY9o0qx5okeckmlCTze1XOIpx3Jc2UA
flvlni5i4apCCwejMrhPbR8KBfhlrdegeTvvZx5qGqjEHSJakC+/mPg3Zv3IlSs7
9l/d38y8I/ySpo35zHzw/TfdDHpOiWzLZDoENrRI1TceXVfQ1jr53tsOKtHtj8ds
xS8u3FMwzfmyoYSZy19BkMZCZPZuFiZLdtGHf0ZCQ3AYtFqVeOJ57JhGxIPnIkQh
sU9FOJu4k30FOXqYVCoo6Zg6T3CHlSeVmSLoLjoZYA1i0t0Y1do30P1vWgu8AB9o
EqRMzsJY/n8zDvguIxaiS+1dWAVxyQ+QLA7y7gAogMbZwoFM+IoPES1Gj2gJYnTd
IIjIebk/iCMYwDRlnr6nBkLrmugFCzamc3fFaXu8ZgoGO89jCUKODoCyyiRPJ1+R
9fdDdxcdQjataFTxyfEgj05QF26oVRUZ2KSyvFyZNiKVgracWLNL+LgcZcmnkw5j
eyRHmCMjwrQagZNJ1CA2
=9ZWp
-----END PGP SIGNATURE-----