Am 18.07.22 um 20:13 schrieb tomas@tuxteam.de:
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
Ok, danke für diesen Link. Das erfordert einen ruhigen Tag sich da einzulesen. Hätte nicht gedacht dass es so kompliziert ist - ein einfaches Replacement ist es nicht ...