tech-net archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: IPv6 socket behaviour different to IPv4?



On 4/06/2014 6:23 PM, Roy Marples wrote:
On 04/06/2014 0:31, Darren Reed wrote:
On 4/06/2014 4:05 AM, Roy Marples wrote:
On 03/06/2014 16:40, Darren Reed wrote:
But when I configure "fd00::1" or "1::1" as an IPv6 address, I would
expect that the system should be able to recognise that there is no
desire on my part to change the address should a conflict arise but
I can't see any way for the kernel to divine that when it is just given
an IP address.

Why do you have this desire?
If any address is on-link, DAD needs to be performed.

Put yourself in an IPv6 only world...

Not relevant to the discussion, the same logic also applies to IPv4 although this requires a good userland daemon like say dhcpcd.

In an IPv4 world, if I put "10.1.1.1 netbsd" in my hosts file and
manually assign 10.1.1.1 to any network interface, then I will
always be able to connect to 10.1.1.1 and thus "netbsd".

DAD is performed using ARP and when the link goes down the address is removed from the interface.

Except that DAD only marks an IP address as being unusable when
a duplicate is detected which is significantly different to an address
being unusable until an effort has been made to ensure it is unique.


In your /etc/hosts file, you have an entry in it for an IPv6 address
to be assigned to your hostname and no other line with your hostname.

As soon as you disconnect from the network, you can no longer do
"ssh hostname".

And this is a problem how exactly? `ssh localhost` still works.
Sounds more like a local name resolution issue than an address availability one.

Rinse and repeat by replacing "hostname" with a static IP address that
you have assigned to a network interface.

Darren


Home | Main Index | Thread Index | Old Index