1
0
mirror of https://github.com/openbsd/src.git synced 2025-01-03 06:45:37 -08:00
Commit Graph

10 Commits

Author SHA1 Message Date
florian
5aceba4159 Remove support for semantically opace interface identifiers (RFC 7217)
for IPv6 link local addresses.

    Some hosting and VM providers route customer IPv6 prefixes to link
    local addresses derived from ethernet MAC addresses (RFC 2464). This
    leads to hard to debug IPv6 connectivity problems and is probably not
    worth the effort.

    RFC 7721 lists 4 weaknesses:

    3.1. Correlation of Activities over Time & 3.2. Location Tracking
    These are still possible with RFC 7217 addresses for an adversary
    connected to the same layer 2 network (think conference wifi). Since
    the link local prefix stays the same (fe80::/64) the link local
    addresses do not change between different networks.
    An adversary on the same layer 2 network can probably track ethernet
    MAC addresses via different means, too.

    3.3. Address Scanning & 3.4. Device-Specific Vulnerability Exploitation
    These now become possible, however, as noted above a layer 2 adversary
    was probably able to do this via different means.

    People concerned with these weaknesses are advised to use
    ifconfig lladdr random.
OK benno
input & OK kn
2019-08-21 15:32:18 +00:00
florian
42c45005c1 Do not join node information multicast group (RFC 4620).
Benno removed code to answer ICMP queries over 4 years ago.
Aham Brahmasmi (aham.brahmasmi AT gmx.com) points out
that we still joined the group though.

OK sthen, bluhm, kn
2018-10-05 07:06:09 +00:00
florian
9798906b8a Implement RFC 7217: "A Method for Generating Semantically Opaque
Interface Identifiers with IPv6 Stateless Address Autoconfiguration."

"An IPv6 address configured using this method is stable within each
subnet, but the corresponding Interface Identifier changes when the
host moves from one network to another. This method is meant to be an
alternative to generating Interface Identifiers based on hardware
addresses."

OK naddy, sthen
2018-02-10 05:52:08 +00:00
mpi
15f0a5b39a Ensure that link-local addresses are correctly configured on loopback
interfaces.

When the kernel automagically configures IPv6 addresses on loopback
interfaces, start by assigning a link-local address and then try to
assign "::1".

Only the first configured loopback interface per rdomain can have the
"::1" address.  But even if other loopback interfaces failed to get
this address, because it is already taken, give them a chance to have
a link-local address.

While here change in6_ifattach() to return an error value and remove
duplicated code.

Fix a regression introduced by the NOINET6 flag removal.

ok henning@, stsp@, florian@, benno@
2015-01-27 10:31:19 +00:00
stsp
c93b5f8a98 Some follow-up fixes for IFID collision handling in IPv6CP.
Really change the link-local address in the unlikely event of an IFID
collision, instead of going into an infinite conf-nak loop with the peer.

To make the netinet6 code use the IPv6CP IFID in a new link-local address,
in6_ifattach_linklocal() must accept a provided IFID.  Replace the unused
'altifp' parameter with a new 'ifid' parameter for this purpose.

Always use the latest suggested address in IPv6CP replies, even if
the task to update the interface's address hasn't run yet.
Also, clear the ifindex (KAME hack) in addresses sent during IPv6CP.

ok mpi
2014-01-07 16:34:05 +00:00
mcbride
b8e95e263d Automatically add a IPv6 link-local address to carp interfaces when the
virtual MAC address is set. Among other things, this makes route6d work
correctly on systems with carp interfaces.

In order to ensure backwards compatibility, we do not include IPv6
link-local addresses in generating the HMAC, but we accept HMACs with AND
without the link-local addresses. They will be added to the HMAC in a future
release.

In short: this change should only affect backwards compatibility for
IPv6 users who are manually adding link-local addresses on carp interfaces.

testing mtu@ todd@
ok mpf@ henning@ deraadt@
2006-08-31 12:37:31 +00:00
itojun
d8a7e3a701 sync with latest KAME in6_ifaddr/prefix/default router manipulation.
behavior changes:
- two iocts used by ndp(8) are now obsolete (backward compat provided).
  use sysctl path instead.
- lo0 does not get ::1 automatically.  it will get ::1 when lo0 comes up.
2002-06-08 21:22:02 +00:00
millert
c4071fd138 First round of __P removal in sys 2002-03-14 01:26:25 +00:00
itojun
d374aaacf3 revisit in6_ifattach(). (1) make it more persistent about initializaing an
interface (2) cleanup interface id selection.
run NUD on p2p interface (required by spec for bidir p2p interface).
add "ndp -i interface" (can tweak per-interface ND flag).
(sync with more recent kame)
2000-04-17 04:44:50 +00:00
itojun
287546ea80 bring in KAME IPv6 code, dated 19991208.
replaces NRL IPv6 layer.  reuses NRL pcb layer.  no IPsec-on-v6 support.
see sys/netinet6/{TODO,IMPLEMENTATION} for more details.

GENERIC configuration should work fine as before.  GENERIC.v6 works fine
as well, but you'll need KAME userland tools to play with IPv6 (will be
bringed into soon).
1999-12-08 06:50:14 +00:00