# Interface gets IPv6 address even though static adress is set

## seuche

Hi

I'm pretty new to all the IPv6 stuff, but got it working on a debian installtion at home. I'm now trying to get it going on my gentoo installation but I'm running into some problems.

First of all, I'm using a sixxs tunnel via aiccu (because my ISP isn't providing IPv6 support yet...). I've got two tunnels, one for my home network and one at a friends home. The tunnel at my own home network is run via a cubieboard (I love it  :Smile:  ) running cubian/debian. I use radvd for the router advertisements and there is no NetworkManager installed on the board, as I'm running it headless and therefore theres no desktop environment installed an running. On that setup, I've configured a fixed address for the board and I have radvd running to advertise the board as a router. Everything works fine and all are happy.

Now comes the tricky part. At my friends house, I'm running a Gentoo installation which I'd like to use for pretty much the same purpose. I'm running Gnome 3.8 with systemd and NetworkManager on that box. I've got aiccu successfully up an running, configured a static address for the wired interface of the machine, started radvd with pretty much the same config as on the cubieboard (except for the interface name and subnet of course), but my "router"-machine (the gentoo box) still assigns itself another IPv6 address. I'm not sure if this is an issue for the whole routing stuff, as I said I'm a newbie, but i bothers me a little. Besides that, I've had the issue that NetworkManager puts a routing entry into the routing table that says 

```
default via 2001:xxxx:xxxx:xxxx::1 dev enp3s0  proto static  metric 1
```

 which i had to remove for the IPv6 tunnel to work.

I'm attaching my radvd conf below:

```

interface enp3s0

{

   AdvSendAdvert on;

   prefix 2001:xxxx:xxxx:xxxx::/64

   {

      AdvOnLink on;

      AdvAutonomous on;

      AdvRouterAddr on;

   };

   RDNSS 2001:4860:4860::8888 2001:4860:4860::8844

   {

   };

};

```

I hope someone can provide some guidance as for what I am doing wrong.

Thanks a lot!

----------

## umka69

Did you add ipv6 support to your kernel?

----------

## seuche

Yes I've got IPv6 support compiled in, and it seems to work sort of, but what bugs me is,that the interface gets a second (automatic) address assigend when really it should have only one. Aside from that, i don't know how to prevent NetworkManager from creating that strange route in the table. If i delete it, everything seems to work, bu I'll have to do that on every boot, or write some sort of script to do it actually, But I really would love to know how to prevent NM from creating that route in the first place.

What is interesting is that NM now creates the same route but only with ::1 instead of the longer address.

----------

## gentoo_ram

You're going to need to get over the "there should only be one IPv6 address" pretty quickly.  Read up more on what IPv6 is about and some of the addressing concepts.  They are different than IPv4.

It is expected that your interfaces will have more than one IP address.  Each of them are there to serve different purposes.  The one that's automatically generated is a "local scope" address.  This address is intended for use on your local LAN and is used for things like Avahi/Zeroconf/mDNS.  Then beyond that you can have more addresses at global scope or even possibly other scopes.

Another design concept in IPv6 is stateless auto-configuration for clients.  That leads to possibly more addresses being assigned to the same interface.

Don't fight it.  The kernel put that local scope address on your interface because that's the standard.  Taking it away might even cause problems with some software that will be looking for it like Avahi.

----------

