Hab's nachgestellt - und wie ich mir schon dachte bestätigt es meine Annahme und widerspricht dem was Du schriebst. Ohne Internet kein Rekeying - ohne Rekeying keine HmIP-Devices. Hier der genaue Ablauf:
CCU-A: 2 HmIP Geräte angelernt
CCU-A backup erstellt
CCU-A ausgesteckt
Backup in CCU-B eingespielt, CCU-B macht reboot
CCU-B hmserver.log nach reboot zeigt Re-Keying:
Code: Alles auswählen
Jan 6 01:19:05 de.eq3.cbcs.server.local.base.internal.HMIPTRXInitialResponseListener INFO [Thread-6] Exchanging adapter from 3014F711A0001F58A9XXXXXX to 3014F711A061A7D3CXXXXXX ...
...
Jan 6 01:19:04 de.eq3.cbcs.server.local.base.internal.HMIPTRXInitialResponseListener INFO [Thread-6] No NWK, try to set address ...
...
Jan 6 01:19:23 de.eq3.cbcs.server.local.base.internal.HMIPTRXInitialResponseListener INFO [vert.x-eventloop-thread-1] Adapter exchange successful.
CCU-B: HmIP Geräte lassen sich steuern.
CCU-B ausgeschaltet
CCU-A eingeschaltet
CCU-A: HmIP Geräte lassen sich steuern
Firewallregel auf Router gesetzt um CCU-B Internet zu verbieten:
Code: Alles auswählen
iptables -I FORWARD -s 172.16.23.175 -j DROP
iptables -I FORWARD -s 172.16.23.175 -j LOG
CCU-A ausgeschaltet
CCU-B eingeschaltet
CCU-B versucht erfolglos Verbindungen ins Internet aufzubauen, sichtbar im Log meines Routers:
Code: Alles auswählen
Jan 6 01:27:38 apu kernel: [1224563.404082] IN=enp1s0 OUT=enp2s0 MAC=00:0d:b9:49:63:cc:b8:27:eb:74:5a:c5:08:00 SRC=172.16.23.175 DST=78.46.53.2 LEN=76 TOS=0x00 PREC=0x00 TTL=63 ID=41707 DF PROTO=UDP SPT=56473 DPT=123 LEN=56
Jan 6 01:27:38 apu kernel: [1224563.404288] IN=enp1s0 OUT=enp2s0 MAC=00:0d:b9:49:63:cc:b8:27:eb:74:5a:c5:08:00 SRC=172.16.23.175 DST=134.102.201.104 LEN=76 TOS=0x00 PREC=0x00 TTL=63 ID=11526 DF PROTO=UDP SPT=56473 DPT=123 LEN=56
Jan 6 01:27:39 apu kernel: [1224563.604083] IN=enp1s0 OUT=enp2s0 MAC=00:0d:b9:49:63:cc:b8:27:eb:74:5a:c5:08:00 SRC=172.16.23.175 DST=5.9.121.21 LEN=76 TOS=0x00 PREC=0x00 TTL=63 ID=15527 DF PROTO=UDP SPT=56473 DPT=123 LEN=56
Jan 6 01:27:39 apu kernel: [1224563.804109] IN=enp1s0 OUT=enp2s0 MAC=00:0d:b9:49:63:cc:b8:27:eb:74:5a:c5:08:00 SRC=172.16.23.175 DST=167.86.121.184 LEN=76 TOS=0x00 PREC=0x00 TTL=63 ID=44956 DF PROTO=UDP SPT=56473 DPT=123 LEN=56
Jan 6 01:27:39 apu kernel: [1224564.004112] IN=enp1s0 OUT=enp2s0 MAC=00:0d:b9:49:63:cc:b8:27:eb:74:5a:c5:08:00 SRC=172.16.23.175 DST=94.16.114.254 LEN=76 TOS=0x00 PREC=0x00 TTL=63 ID=1629 DF PROTO=UDP SPT=56473 DPT=123 LEN=56
Jan 6 01:27:39 apu kernel: [1224564.204183] IN=enp1s0 OUT=enp2s0 MAC=00:0d:b9:49:63:cc:b8:27:eb:74:5a:c5:08:00 SRC=172.16.23.175 DST=144.76.0.164 LEN=76 TOS=0x00 PREC=0x00 TTL=63 ID=45058 DF PROTO=UDP SPT=56473 DPT=123 LEN=56
Jan 6 01:27:39 apu kernel: [1224564.404097] IN=enp1s0 OUT=enp2s0 MAC=00:0d:b9:49:63:cc:b8:27:eb:74:5a:c5:08:00 SRC=172.16.23.175 DST=217.144.138.234 LEN=76 TOS=0x00 PREC=0x00 TTL=63 ID=1171 DF PROTO=UDP SPT=56473 DPT=123 LEN=56
Jan 6 01:27:40 apu kernel: [1224564.604166] IN=enp1s0 OUT=enp2s0 MAC=00:0d:b9:49:63:cc:b8:27:eb:74:5a:c5:08:00 SRC=172.16.23.175 DST=80.152.201.148 LEN=76 TOS=0x00 PREC=0x00 TTL=63 ID=27512 DF PROTO=UDP SPT=56473 DPT=123 LEN=56
Jan 6 01:27:40 apu kernel: [1224564.804131] IN=enp1s0 OUT=enp2s0 MAC=00:0d:b9:49:63:cc:b8:27:eb:74:5a:c5:08:00 SRC=172.16.23.175 DST=192.53.103.108 LEN=76 TOS=0x00 PREC=0x00 TTL=63 ID=24854 DF PROTO=UDP SPT=56473 DPT=123 LEN=56
Jan 6 01:27:40 apu kernel: [1224565.004117] IN=enp1s0 OUT=enp2s0 MAC=00:0d:b9:49:63:cc:b8:27:eb:74:5a:c5:08:00 SRC=172.16.23.175 DST=213.172.105.106 LEN=76 TOS=0x00 PREC=0x00 TTL=63 ID=20540 DF PROTO=UDP SPT=56473 DPT=123 LEN=56
Jan 6 01:27:40 apu kernel: [1224565.204169] IN=enp1s0 OUT=enp2s0 MAC=00:0d:b9:49:63:cc:b8:27:eb:74:5a:c5:08:00 SRC=172.16.23.175 DST=138.201.90.189 LEN=76 TOS=0x00 PREC=0x00 TTL=63 ID=60336 DF PROTO=UDP SPT=56473 DPT=123 LEN=56
Jan 6 01:27:40 apu kernel: [1224565.404154] IN=enp1s0 OUT=enp2s0 MAC=00:0d:b9:49:63:cc:b8:27:eb:74:5a:c5:08:00 SRC=172.16.23.175 DST=134.102.201.104 LEN=76 TOS=0x00 PREC=0x00 TTL=63 ID=11657 DF PROTO=UDP SPT=56473 DPT=123 LEN=
CCU-B hmserver.log zeigt nach Start eine Exception:
Code: Alles auswählen
Jan 6 01:27:54 de.eq3.cbcs.server.core.persistence.AbstractPersistency ERROR [vert.x-worker-thread-0] Could not do command: PERSISTENCE_COMMAND_LOAD_DEVICES
Hmipserver teilt der Rega mit dass es keine HmIP Devices mehr gibt (die 52 übrigen Geräte/Kanäle sind die virtuellen Tasten):
Code: Alles auswählen
Jan 6 01:29:05 de.eq3.cbcs.legacy.bidcos.rpc.internal.DeviceUtil INFO [vert.x-worker-thread-4] updateDevicesForClient 1011 -> 77 device addresses will be deleted
Jan 6 01:29:17 de.eq3.cbcs.legacy.bidcos.rpc.internal.DeviceUtil INFO [vert.x-worker-thread-4] updateDevicesForClient 1011 -> 52 device addresses will be added
CCU-B: Im WebUI sind (ausser den virtuellen Tasten) keine HmIP Geräte mehr vorhanden.
Keine Ahnung was Du da für Magic betrieben hast, folgende Vermutung drängt sich mir auf: Du hast die Verbindung zum Keyserver nicht wirklich unterbunden. Auf welche Art und Weise hast Du denn die Internetverbindung "gekappt"? War die wirklich schon vor dem Boot unterbunden?
Wenn das was Du da schreibst funktionieren würde hättest Du (jedenfalls soweit ich das HmIP-Protokoll richtig verstehe) eine Sicherheitslücke entdeckt, das
darf imho nicht funktionieren. Der NWK (Network Key) ist (wie gesagt) auf dem CoPro des Funkmoduls gespeichert (und kann nicht ausgelesen werden), der ist nicht Teil des Backups.
Nichts desto trotz: man kann das natürlich schon so machen - aber das Re-Keying muss stattfinden wenn das Funkmodul und damit der NWK ein anderer ist, der Keyserver muss erreichbar sein, sonst ist HmIP tot. In der Praxis und bei der konkreten Frage "eine HmIP-Fernbedienung an zwei CCUs möglich?" bedeutet dass das beim ersten Tastendruck das Rekeying ausgelöst wird - beim zweiten Tastendruck könnte sie dann schon funktionieren, müsste man mal testen. Kann aber nur klappen wenn die Funkmodule beider CCUs die gleiche AP Adresse haben, man muss also wirklich auch mal ein Backup der einen auf der anderen eingespielt haben.
Je nach Anzahl der Geräte und Auslastung von secgtw.homematic.com kann das Rekeying aber durchaus auch mal länger dauern... Bei meinem Test mit nur 2 Always-Listener Geräten ging es natürlich sehr schnell (~20 Sekunden), sobald aber ein Config-Listener im Spiel ist (z.B. TFK oder Fernbedienung) zögert sich das raus bis die Geräte sich auch mal gemeldet haben.
Ich fänd's cool wenn noch ein Dritter die Muse hätte das zu verifizieren, ich bin mir zwar 99,9% sicher, aber das letzte Promill Unsicherheit müsste jemand anderes aus der Welt schaffen, ich schließe nicht aus dass ich mich irre oder irgendwas falsch verstehe - auch wenn ich es für sehr unwahrscheinlich halte
Auch interessant, ein anderer/weiterer Test - beim Versuch bei einer CCU die nicht ins Internet darf ein Backup einzuspielen erscheint folgendes Popup (das mich auch in meiner Ansicht bestärkt):