Gluon 2018.1 - Domain Seed


#1

Gluon 2018.1 benötigt in der site.mk einen domain_seed, damit wird z. B. zukünftig möglich sein, einen Domänenkurzschluss via MoL zu vermeiden. https://gluon.readthedocs.io/en/v2018.1.x/releases/v2018.1.html#noibss

Da ich demnächst neue Hardware testen möchte, hier ein Vorschlag für die Domains-Seeds. Wenn das in Ordnung geht, würde ich die Liste per PR einreichen.

jost@ffservice:~/gits/gluon$ for i in `seq 1 99`; do echo $i $(hexdump -v -n 32 -e '1/1 "%02x"' </dev/urandom); done
1 ca3ae3965d3d9f82372938245d3bd7809b754a34af71ae219f91e346f58bcb82
2 a6fde3f0edf13cb3f174d2bf10bab3ea6bc53d080bf96361a2f410252a3f6f30
3 1be70a790ade463485d7327f2144407b693d64a047ef126d1c49bb9248d3eecf
4 e4ac1d9082e8d2f0af847b2d8f30336e023211955b1dec45a94aca420a13340e
5 a4ed88405bd8b09a056dd04e701141e0fca4c5c29ee64ba6391a73c29b3e7eda
6 fd5d8c99e246f60b28fb01d37d860dc1a20baf3fa222bfea42a097010078bfff
7 7c24e9d948dd0c5212cffee11cb89f154ab1e408bb80f79e09d18fbb5a425081
8 96c295dcf818cd8b9794bb67e2a496c5f44a85232cc878148dcb32a3a658dfed
9 4c9ab285e5e963ebc531cbb9e24dec18cfbe94b5eebcf5e22cada10a0efa6f9c
10 23caef0c03191b04596e485dda5b581804370db883cd22dfa917dfd6a8d1f83c
11 bf201dc2e860a10ebe59cfbc3ce8917dbd7332756ad8b74b35f045ff866407c2
12 338440dab452a5ec58e3a97d25e1e8a31df115e4729aceee9fdd3926e020313c
13 4b9d36f058205734db92639ff0462c9a1b1db03ba6b9db82d90c3756880f9985
14 2431ac3c6a9ccfd6dfa201cf55287394462c2699db43f04fff859bf2b0b6a17b
15 46a296e421497e61e9877a1801a37bda5365ee03a5da3072e24ffd455d3984df
16 8736eb916c13c02d3ec60f5e1435d5fb2a4231cfddce9c43479074b5179867df
17 780a56adc6ff47f08082ed08f6ab7c345081791c8bf8154cba5ad491d7b7756d
18 9bd0197678d96f6327f3516a61ba127d93e04f753f2999c4618d363f74a10736
19 eb523d3211f6846772db5343933776bc4d73ee8be66f0fa63ac1a138a9adae48
20 58a1b04ca44f3d3d3bf1eb3ad7fe0c94b9ef1a19823ce9685552f9f4b1eebc93
21 4283aee4accddd0bdc28508344945e36e9a602fa1f7f961c431650133833273f
22 40605e9c74b4b53889e83e8ebec994d6ed517acfad2482b6d3b293d4b651825f
23 62aeb97b53943b9b45ba70ca05d02e552d144351178545bd5e7c9a5dd5a4575a
24 b4e1deeac288d71cc7a60a67b86f077bf152f974abf907983f0af48345fa2574
25 dbded0d14c2d9fcfaacafde4ddde7b300f72582d2a64b0879c3dd3b0424b8323
26 112c20618e813c5cb185e2453a84455313320b5a226195b0ebaf257e6a152920
27 8247164d997e81e9a14a0dd2b108543ced7328b25ec15cbd0f29029484463d91
28 8358ff8718797e13a6885a5edf4eecdf7ffede4e3159e005cdb86445e9d40886
29 1c26683756fc942bcb92be2f895bfd62c120c97cda8c53ab66c656f7eb82aa3f
30 e6aa19b85f58e7ef67e983f0c165ed7246a930f0565f75e4aeb1b7acc746ffab
31 6fff63a4e85dad2ae259bef6f0237f9e44d97ea990a33b90e366caff1b955557
32 993de51e041bf50166cbaaf36e3dffe52808cc25dca4fff89e6383a163fd87f0
33 af415c8feb84768cc993c8285e7ca589cf9fa3224b42969b7be0a494f7624243
34 1518ed7597a785216e40fca3d45b996a636b2a430268719884ad05b8649c2ee7
35 d98ed0ac93002bcaf259ed94723ad20c9d5e1bb356c862992cba56e2605c8023
36 527f62f2b52701d36d9e12cd8b15d381079b9ac02b3c05d972bc26449c2911c7
37 24954e0988adcaaf537a99a0d9c59e435a1fb52af1035ed41eb0fac5d6a0e613
38 0cb6511ccbd166bab066fb01ebf589a845cc70b0184da98737004305fd41d4cb
39 72683ca631420e5e579f0e3d77c4ee027e5daa7a000189571a75f501419dddea
40 78e8a0ac0ebdd8eee240111ed6fd0b76a8d18eaadaa90f8fc1127069b0326aba
41 e93d191cd4e9dd8e61c894460bc0277b29af2f97dbc6657f0343902ef0319f01
42 649cc3a69227a0fa9c216a8e3efe49ab3c41a1883c96693a595b42368a70213d
43 d29d1c03d70caaadc2103d1fb4757014eb8761432f072bdf76e3a122180614e5
44 4baae94c2688a389aa003950178230df5fe8e27c8e0fe1d6bb7060692a9a9e4a
45 7c21d809ee9797c5d7db731825ccbf1d053ab5b58222e4e1ee717404b19a9273
46 a330a649627453219b5f81bc971ee9e9788307d17bdd44ada0b00afc3ff3ea2b
47 cba5220b79c5d896b592e4c6d5bb3d96eb3609a02fc7f274b11e58fdc6b70f42
48 75ee0b905b7f19d1cdb109e26c175e296b446ae13d80ad081dd731a2441e5a1c
49 aa6d3811c8e96643d137e671613452ffe515adb13431f7db9ddb1e63c1cd7218
50 e050497cd787d090ac7d57c2ad1543af48303e0a4a5141b120a58006afcb7263
51 97ec65abee3029cf9329cde29b0fdca1261a8242497781ea832783f97b1b30ef
52 049bfc6925e46eb93c6fd2a044525c545fe8fe1fa0b86fd0927c23e9d86c605a
53 608035dfdb2928795fc2cf3aed1432a7ea7ece026e2a96b35d25aea27e8e571b
54 b4f52fca525093853f02f6d4322d35904bba0723b5a3674e0e3e29874c95f32d
55 f207aec7f027c32e7d0e107d981ba9bf403bd9192045a7855bbd8ab17d687ac3
56 4755a34ca977366dd80c30a5e056e1da84266248263d31623d842816c548a673
57 080497cad147d59bd6320b3718b1d51b95c9484d29c8de363ceee33df0e49e81
58 37e5d68bcd57358aa27efce7482b4e5e02e12cf6271375cf19646bb6f739d792
59 1ef32a9aa49c2cad6d2261913cb1964724da241af461a8fe82f7e674e13cd832
60 d8c7adb8a15e74877ff2e7d6ba4937948dc8da8368075dbd615bdb090c961cc3
61 5826906103bcfb6af203e33935bc1719bda1fff95e4f2755f89dd9edd88ba008
62 236eb9f9aebdfd385158fd411c4bf0776359668312468c6f4c9f73702c843548
63 f11b375a8df08e0e4bd96396a640826137bca7dbf54cc9b2e2d9621078bf7f54
64 cf4a4b8c5a9c6fccb31fca37051904ff8b2eda26366fccc5cbfac369d2ac0698
65 135b51d5e20f9a18796390cdf9b0ef39281f4d70e256114c8f0476ea75265203
66 af2a0cc603f0e2e514c916bbb5e9bed41eaa2977fb3232b4e7d5fecd711b0955
67 f16449d917e8b523685d515b866c7a324425e3a24e22b301d0b0444ec15c641b
68 ba49d680c655be91ecf2df1b3be7162f708b8564aaad0ee20eb2273fcaee093e
69 70d4043bb756343bbea62118876bbc7b64a12c1ebefa3222882d30c4267fb2e6
70 2ec9e93d00552178db7d5b24aaed0c316cb5d3e365d358724a4b38efd618e25d
71 e13d319ed2d8f7e2428a0057fa4d00699c0530f8cfb4faced316c88bcb27e3b4
72 1ec63ee0cacab8d0bc7d3d72ac95639b74e0054c7d0b4f6a17ec39b395e7c9d0
73 cb4c05a5ef4b261a99d7f49e948ea163423f0e899827914dac39a06b0992a83e
74 9ff357e4eb539c456a6d14c5d0fe97b1a028a4f6dca3063761186568bd51547f
75 73487f1f1ff853671a4a8dd344114a6e700e8178aad19f35365c307f7a3aa9a1
76 85bc3aee8787a81bcfbb5acf81327fc6ccb919574fe102a197a82403bee201ed
77 a15f8bd25aaac4aeacd3faa8cc5d2fdd0aceb4c36c577eb990cdfdd47e9e1fee
78 d8f1f72739bdfe44ebf8f7b52d4ff183253c247eda3b329c742b4d0eb2daf652
79 72e14e50eb98f853c236934d1d99663f77a9855f4df76f011cb0ee9446656dfc
80 2344a3d32aba840d2f7ec2684fb577ba016dd3686ac763092772e7d96ea0c88f
81 f09b0c452a6aaa7d59a4033cbb85c7c87e303dab94c63fc337d6e21a1e5ab8d8
82 73344c907a9eb5bb912b34119ea388e5da5d81f37ddcdadee0d04c334af5c84d
83 929ede0f83fea6b96b6a2e436f74ad36d94096d25e177bad9ad35d854b1bfa2e
84 0b161b76d09c5fb8492fe13ce924a8ff8953ec02c40a55b3400caad95eb4314b
85 e1b57fad76e2843e6a13d830b99c6d9951b3dc354d847213f1ba50c76b2493fd
86 81858684f5fdc20745f1e0fd2920809a4e1b913a5970a9f29d11367a98465ea6
87 59b900f233f3791f5416c8c3a58057afbafcdab960f697c823f18266684bcd7e
88 409764b3fed75d60180aa668c04e8247e76de2f76753458d20aeafa934346f7d
89 d72b773159488ad3c73e3e090a91e9bc50cfc30d260ddd3c87307ac4310bec4c
90 23f5c5604f1c22007433b966c292188a94e2baa957099834727037cd1ec4b69b
91 2f3a6f5ff65539311af5cae0d4501255bd4527c99add0b846fb8a37c5e6e5d65
92 633a9506e24bd57ed189e5f4813b139f4c1fa74298fe95e84e4537dd027b3333
93 63c817d156f6df0a7c5fed16ce86f7153a8294b3e11a35721db764ab1281c8e2
94 35fe388fbba1d4156dde425e80312cb049b5990ecb9b787d21a1986eee5f6fd4
95 37077c94e58ff299c848e091ca084aaf3ad2edbacf6c6e06ea327cac7fc27aff
96 4e1c2ae48122f4aa739900c05f486035bfa839a7cab19f905694a62e020887f2
97 e74e4e3e88d6f4289c163919ec7e7dc5eb797932198b350b6913249b3eb45751
98 98b2fe1fe0313d94a304313852e1426c46e1e169efea3131672908764cdb5d44
99 a4c630118289754ff433b2d9498bc7e58d48c2e3d8b08e9d7eddfb1d0fd3d792

#2

Ich hätte da lieber was einfacheres…
Alles identisch und die letzten 2 Ziffern die Dom ID im Klartext z.b.

Damit man das zum einen einfach generieren kann und man auf einen Blick sieht welche Domain das ist.


#3

Da überlege ich mir gerne nachher noch eine Lösung zu.


#4

sowas: ff0251ffb85b1af89fe6190c76027f8aacc2d51b2deeb70ed5d795eb1335dxxx ?


#5

Genau :slight_smile:


#6

Also ich wäre dafür, irgendwas zu bauen, was am Anfang für Münsterland steht, dann viele Nullen und am Ende hochzählen.


#7

Da ist mein Vorschlag ff0251ff (s.o.)


#8

Ich hab jetzt die Postleitzahl genommen, mir ging es um die Mitte:

ff48143000000000000000000000000000000000000000000000000000000001

#9

Wir sind übrigens im Mumble, wenn du das ausdiskutieren möchtest :stuck_out_tongue: mumble.ffmsl.de


#10

Das @Firmwareteam hat sich für die Variante von mir entschieden :stuck_out_tongue:

https://wiki.freifunk-muensterland.de/display/FREIF/2018-07-11+-+Protokoll+Freifunk-Treffen#id-2018-07-11-ProtokollFreifunk-Treffen-FestlegungDomainseeds


#11

:+1:

Ich gehe schlafen. Die ALFA N2 läuft mit der Experimentalversion. Die Mesh-VPN-Config muss ich mir noch einmal ansehen, das fehlte im Konfigurationswizard.

http://[2a03:2260:115:3600:2c0:caff:fe8c:3fa6]


#12

@MPW öhm, habt ihr mal einen Blick in die Release Notes geworfen?

domain_seed

32 bytes of random data, encoded in hexadecimal, used to seed other random values specific to the mesh domain. It must be the same for all nodes of one mesh, but should be different for firmwares that are not supposed to mesh with each other.

The recommended way to generate a value for a new site is:

echo $(hexdump -v -n 32 -e '1/1 "%02x"' </dev/urandom)

Dementsprechend sollten wir den vorgeschlagenen Weg verwenden und so die Domain-Seeds generieren, ansonsten könnten wir Probleme bekommen.


#13

Ja.

Die da wären?!


#14

Und warum wird das, was da steht, dann ignoriert? :stuck_out_tongue:

Der Domain-Seed dient wiederum als Seed für domänenspezifische Werte, die auf einen zufälligen Domain-Seed angewiesen sind. Wenn der Domain-Seed nicht zufällig ist, sind es die davon abgeleiteten Werte auch nicht mehr. Für eine genaue technische Erklärung kann ich auch noch mal nachfragen, Neoraider hat aber im IRC vor einiger Zeit ausdrücklich davor gewarnt, den Domain Seed nach irgendeinem Muster selbst festzulegen. Daran sollten wir uns halten.
Meine Vermutung ist, dass es bei geringer Entropie bzw. geringen Differenzen zwischen den Domain-Seeds zu Kollisionen zwischen Domänen kommen kann, weil diese die gleichen domänenspezifischen Werte zugewiesen bekommen haben.


#15

…The recommended way to generate…

Der Domain Seed wird im gesamten Gluon Code 2 mal verwendet. Einmal im Site check wo geprüft wird ob eine Seed angegeben wurde und einmal hier:

und wie du siehst wird das ganze da nochmal mit diversen Werten verkettet und md5 gehasht was bedeutet das eine Kollision wohl ehr unwahrscheinlich ist.


#16

Achso… Die Funktion domain_seed_bytes wird auch nur 1 mal im Code verwendet und zwar hier:

und das auch nur wenn

was wir aktuell nicht nutzen also ist die Diskusion überflüssig und wir tragen den Seed nur ein damit der Build nicht fehlschlägt…


#17

Wenn man davon abweicht, sollte man doch verstehen, wieso das empfohlen wird sowie begründen können, warum davon abgewichen wird und weshalb das sinnvoll ist. Oder nicht?

vxlan ist zur Zeit offenbar die einzige Stelle, an welcher der Domain-Seed als Seed genutzt wird, das stimmt. Es ist aber nicht ausgeschlossen, wass wir vxlan in Zukunft verwenden. Vorsicht ist besser als Nachsicht.

Ich finde die Diskussion nicht überflüssig, wenn Neoraider als Hauptentwickler von Gluon davor gewarnt hat, den Domain-Seed nach irgendeinem Muster selbst festzulegen. Ich habe ihn jetzt noch mal nach dem Grund gefragt.


#18

Wir bauen ein offenes Netz. Der Domainseed steht offen in der site.conf. Wo brauchen wir hier Entropie? Es ist ja nicht so, als ob man sich damit per SSH anmelden kann :wink: .

Ich denke, dass sie Dopplungen vermeiden wollen.


#19

<neoraider> Handle: there is no global database of domain seeds. Just like for ULAs, the best way to ensure uniqueness is to maximize entropy

Ich finde nicht, dass wir das einfach ignorieren sollten, nur weil die Domain-Seeds dann in irgendeiner Form schöner aussehen. Die muss man nicht auswendig irgendwo eintippen können.

Edit: Wenn ich so darüber nachdenke, dann ist es sogar sinnvoll, wenn man den Domain-Seed nicht abtippen kann. Vertippt man sich sonst einmal bei den letzten beiden Stellen, hat man mit Pech zwei Domains gebridged. Noch nutzen wir vxlan nicht, aber es wird in Zukunft der Standard werden.


#20

Dieser »seed« soll, AFAICS, sicherstellen, wie @MPW schon schrieb, daß der Umweg über VXLAN auch wirklich eine Netzkopplung ausschließt. Wenn jeder das mit “0000…1”, “0000…2” usw. initialisiert, geht das schief, daher der Tipp, daß per »Zufallszahl« zu machen. Auch der explizite Vergleich mit ULA zeigt für mich in diese Richtung (ULA ist toll, aber mit fdfd:fdfd:fdfd… oder 4242:4242:4242… handelt man sich eher Probleme ein als mit einer reinen Zufallszahl).