freifunkMUC / freifunkmuc.github.io

Website von Freifunk Muenchen

Home Page:https://ffmuc.net/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

fastd.conf : "ip link set address 10:80:00:XX:66:66 up dev $INTERFACE" überdenken.

t-offline opened this issue · comments

hallo,
wir haben da zur zeit in fastd.conf scheinbar folgendes schema:

on up "
ip link set address 10:80:00:XX:66:66 up dev $INTERFACE
.
"

mit diese bemerkung:
<--- das XX bitte mit der letzten Ziffer der internen ipv4 ersetzen!!!!

so weit so gut.

aber das pass m.e. nicht ganz, und wurde bei den srv auch schon durchbrochen.

mein vorschlag:
wir machen ein neues schema in etwa so:
fe:ed:aa:bb:cc:dd

fe:ed (oder "feed") ist fest und erfüllt das:

fe ==> b7.b6.b5.b4.b3.b2.b1.b0
1 1 1 1 1 1 1 0

mit b0 ==> I/G hier 0 also Individual
mit b1 ==> U/L hier 1 also Local

Das niederwertigste Bit (engl. Least Significant Bit, LSB) des ersten Bytes (Bit 0) einer MAC-Adresse gibt an, ob es sich um eine Einzeladresse oder Gruppenadresse (I/G für Individual/Group) handelt. Bei einem Broadcast oder Multicast wird I/G = 1 gesetzt, sonst und bei Quelladressen ist I/G = 0.

Kurz: I/G ist
0 für I (Individual) oder
1 für G (Group).

Das folgende 2. Bit (Bit 1, genannt U/L für Universal/Local) zeigt an, ob die MAC-Adresse global eindeutig ist (Universally Administered Address (UAA); U/L = 0) oder lokal administriert wird und nur dort eindeutig ist (Locally Administered Address (LAA); U/L = 1)

Kurz: U/L ist
0 für U (Universal) oder
1 für L (Local).

die letzen 4 bytes codieren die ipv4 adresse:

aa:bb:cc:dd ==> 10.80.m.n

m wandert in aa:bb
n wandert in cc:dd
wobei das erste a von aa immmer 0 ist (und somit für erweiterungen genutzt werden kann)
wobei das erste c von cc immmer 0 ist (und somit für erweiterungen genutzt werden kann)

z.B.

10.80.0.1
fe:ed:00:00:00:01

10.80.0.12
fe:ed:00:00:00:12

10.80.0.123
fe:ed:00:00:01:23

10.80.1.254
fe:ed:00:01:02:54

10.80.12.254
fe:ed:00:12:02:54

10.80.123.254
fe:ed:01:23:02:54

10.80.255.254
fe:ed:02:55:02:54

ich bitte um diskusion. danke.

Hatten wir das nicht schon geregelt?
Egal, ich habe dazu noch einen neuen /anderen Vorschlag:

Für unsere "specialnodes" (mit IPv4 Adresse 10.80.y.z) bilden wir eine "primary_mac" der Form:

10:00:00:XX:YY:ZZ
mit XX = hex (80) also "50"
mit YY = hex von y
mit ZZ = hex von z

für z.B. IPv4 = 10.80.26.123
primary_mac = 10:00:00:50:1A:7B

für z.B. IPv4 = 10.80.0.15
primary_mac = 10:00:00:50:00:0F

Damit ist die MAC für das interface bat0 festgelegt!
Auch die "bridge" vor bat0 hat damit diese MAC.



Für das fastd interface:
-- (4, 0): mesh VPN

für z.B. IPv4 = 10.80.0.15
primary_mac = 10:00:00:50:00:0F
fastd_mac: (exakt nach gluon Bildungsregel)
10:00:00:50:00:0F
02                  # LAA Bit setzen!
12:00:00:50:00:0F   # LAA 
   +4               # im zweiten Byte 4 addieren (8 Bit), ggf wrap around.
12:04:00:50:00:0F   # LAA ==> network.mesh_vpn.macaddr