On Mon, Jul 18, 2022 at 06:43:02PM +0200, Arno wrote:
Eine Frage: Ich hab ein Embedded-Board mit eine Switch
drauf.
Da gibt es dann
Im uboot Environment wird eine Adresse gesetzt.
In einem Script beim Booten rechne ich die folgenden beiden MACs aus und
setze die:
ip link set dev lan1 address $mac1
ip link set dev lan2 address $mac2
ip link set dev br0 address $mac
Aber wie mache ich das mit der inet6 Adresse? Die bleibt von diesen
Kommandos unberührt.
Es ist... kompliziert. Jedes Interface hat unter IPv6 eine "link local"
Adresse [1], in die die MAC-Adresse tatsächlich einfliesst. Diese link
local Adresse ist (höchstens) für die Kommunikation im lokalen Abschnitt
gut. Um Kollisionen zu vermeiden gibt es das Neighbor Discovery Protocol.
Ansonsten verhandelt das Interface mit den Routern um evtl. routbare
Adressen; dafür gibt es unterschiedliche Protokolle, SLAAC und das
Gegenstück zu DHCP, DHCPv6.
Kurz gefasst, die MAC spielt nur als "Startwert" für (einen Teil)
die link local-Adresse.
[...]
Wenn ich sowas mache wie hier:
ip -6 addr add <ipv6address>/<prefixlength> dev <interface>
füge ich zum Interface eine zweite IPv6 Adresse hinzu !?!?
So ist es.
MAC gibt es nur eine pro Interface.
Auch das ist normalerweise korrekt (wobei heutzutage Interfaces
ihre MAC-Adresse auch ändern -- als Tracking-Schutz).
Kennt jemand Einführung für Dumme dazu?
Die Wikipedia-Seiten dazu sind ziemlich vollständig; es ist
allerdings eine kleine Welt für sich...
lg
[1]
https://en.wikipedia.org/wiki/IPv6_address#Local_addresses
--
t