freifunk-ffm/map-server-config

Supernode MAC Adressen Bildungsregel

Closed this issue · 10 comments

Die Supernodes werden z.Zt. statisch über eine alias datei auf der Map dargestellt. Bei den mac Adressen der Supernodes ändert sich aus unbekannten gründen ab und an das vierte Byte. Dabei stirbt der entsprechende Punkt auf der karte solange bis er in der alias.json nachgepflegt wird. Es wäre sinnvoll hier zu identifizieren wann und warum das passiert und evtl eine Bildungsvorschrift zu finden welche für eine stabile mac adresse pro supernode sorgt.

Z.Zt. sehen die mac Adressen der Supernodes z.B. so aus: 02:ff:1f:81:7d:03 bzw im Allgemeinen:

02:ff:$mtu:<???>:7d:$fastd-nr

Unklar ist uns warum sich das vierte byte ab und an ändert und vor allem auch warum das passiert. Könnte man dieses im supernode puppet auch festlegen, so wie die ersten zwei bytes und das fünfte?

Dies könnte z.B. zu folgender Regel führen:
02:ff:$mtu:00:7d:$fastd-nr

@skorpy2009 hat da heute irgendeinen Random foo im puppet entdeckt.

cool. lässt sich das entrandomisieren? :)

cool. lässt sich das entrandomisieren? :)
Naja, an sich ist das nicht wirklich random sondern nur scheinbar
random. Puppet sollte immer zum gleichen Ergebnis kommen.

viele Grüße

Christof

Mit minimaler suche findet man in den Puppet Skripten die entsprechenden Stelle:
https://github.com/freifunk-ffm/supernode_puppet/blob/production/modules/fastd/templates/fastd-up.erb

# MTU: <%= @mtu %>
/sbin/ifconfig <%= @interface %> hw ether <%= @macvendor %>:<%= @rndmac %>:7d:<%= @supernodenum.to_s.rjust(2, "0") %> up

So werden bei uns die MAC Adressen erstellt.

t-8ch commented
rndmac       => fqdn_rand(99),

Generates a random Integer number greater than or equal to 0 and less than MAX, combining the $fqdn fact and the value of SEED for repeatable randomness. (That is, each node will get a different random number from this function, but a given node’s result will be the same every time unless its hostname changes.)

danke für die recherche! können wir da für die Zukunft einfach :00: nehmen? :)

Ich würde dann vorschlagen die aktuell aktiven mac adressen zu belassen wie sie sind und sie bei bedarf in der map nachzupflegen mit der Gewissheit, dass das Problem dann mit der Zeit aussterben wird.

So hatte ich das auch im Kopf. Eine Änderung sollte dann eigentlich
nicht stattfinden. Vielleicht haben sich im Zuge der Aufräumarbeiten die
hostnamen geändert.... Ich schlage vor wir schauen uns das noch ein
wenig an. Wenn sich weiterhin hostnamen ändern, können wir schauen ob
wir rndmac ablösen. Jetzt würde ich es allerdings noch nicht ändern
wollen.

gibt es einen Vorteil von "fqdn_rand(99)" gegenüber "00" an dieser stelle?

  • es ist schon da
  • man muss sich nicht um Kollisionsfreiheit der MAC-Adressen kümmern, weil puppet das macht.

find ich jetzt nicht so überzeugend. dann müssen wirs eben ne weile beobachten. wenn es weiterhin passiert wäre ich dafür argument 1 nochmal zu diskutiern ;) kollisionsfreiheit sollte durch @supernodenum gegeben sein. wenn nicht dann läuft noch etwas anderes schief was nicht schief laufen sollte.