{"id":115,"date":"2020-06-01T15:54:54","date_gmt":"2020-06-01T13:54:54","guid":{"rendered":"https:\/\/jbsoft.nl\/site\/?page_id=115"},"modified":"2021-10-25T13:29:31","modified_gmt":"2021-10-25T11:29:31","slug":"logger-interception-using-omnik-datalogger","status":"publish","type":"page","link":"https:\/\/jbsoft.nl\/site\/nl\/omnik-datalogger\/logger-interception-using-omnik-datalogger\/","title":{"rendered":"Logger verkeer onderscheppen met Omnik datalogger"},"content":{"rendered":"<p><a href=\"https:\/\/github.com\/jbouwh\/omnikdataloggerproxy\/\" target=\"_blank\" rel=\"noreferrer noopener\">Je kunt hier<\/a> een `proxy` script vinden dat je kan helpen om de data logging van je omvormer te onderscheppen.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>Wees er je van bewust met het onderscheppen dat de logging niet langer niet langer zal worden afgeleverd naar de logging servers van Solarman tenzij je het verkeer alsnog hiernaartoe doorstuurt.<\/p><\/blockquote>\n\n\n\n<h4 class=\"wp-block-heading\">Hoe het onderscheppen werkt<\/h4>\n\n\n\n<p>Door het herrouteren van het verkeer voor  \u2018176.58.117.69\u2019 naar de computer waarop omniklogger.py of omnikloggerproxy.py draait en het gebruik van Network Address Translation, simuleren we de Solarman logger server en verwerken wij de data ipv de Solarman logging servers.<\/p>\n\n\n\n<p>Het herrouteren wordt gedaan in je router, die de standaard\/default gateway is in je netwerk. Ik gebruik een Fritz!Box in dit voorbeeld.<\/p>\n\n\n\n<p>Herrouteren wordt geconfigureerd door het toevoegen van een statische route voor 176.58.117.69 naar het interne IP-adress van het systeem waarop  de NAT regels\/configuratie zijn aangebracht en waar and het omnikloggerproxy.py of omniklogger,py script draait.<\/p>\n\n\n\n<p>Voorbeeld van het toevoegen van een statische route op een Fritz!Box:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jbsoft.nl\/site\/wp-content\/uploads\/2020\/06\/image-6.png\" alt=\"\" class=\"wp-image-148\" width=\"139\" height=\"405\" srcset=\"https:\/\/jbsoft.nl\/site\/wp-content\/uploads\/2020\/06\/image-6.png 243w, https:\/\/jbsoft.nl\/site\/wp-content\/uploads\/2020\/06\/image-6-103x300.png 103w\" sizes=\"auto, (max-width: 139px) 85vw, 139px\" \/><figcaption>Log in op je router en ga naar de Network pagina en klik op Settings.<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jbsoft.nl\/site\/wp-content\/uploads\/2020\/06\/image-11.png\" alt=\"\" class=\"wp-image-153\" width=\"367\" height=\"83\" srcset=\"https:\/\/jbsoft.nl\/site\/wp-content\/uploads\/2020\/06\/image-11.png 530w, https:\/\/jbsoft.nl\/site\/wp-content\/uploads\/2020\/06\/image-11-300x68.png 300w\" sizes=\"auto, (max-width: 367px) 85vw, 367px\" \/><figcaption>Klik op IPv4 Routes onder het kopje Static Routing Table<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jbsoft.nl\/site\/wp-content\/uploads\/2020\/06\/image-12.png\" alt=\"\" class=\"wp-image-154\" width=\"347\" height=\"280\" srcset=\"https:\/\/jbsoft.nl\/site\/wp-content\/uploads\/2020\/06\/image-12.png 480w, https:\/\/jbsoft.nl\/site\/wp-content\/uploads\/2020\/06\/image-12-300x242.png 300w\" sizes=\"auto, (max-width: 347px) 85vw, 347px\" \/><figcaption>Voeg een statische route toe met subnet mask 255.255.255.255 (\/32) naar de host waarop je script draait.<\/figcaption><\/figure>\n\n\n\n<p>Zie de <a href=\"https:\/\/github.com\/jbouwh\/omnikdataloggerproxy\/blob\/main\/omnikproxy_example_startup.sh\" target=\"_blank\" rel=\"noreferrer noopener\">commentaar in het voorbeeld script<\/a> voor meer details in het gebruik van omnikdataloggerproxy. P.s. Het gebruik van <strong>iptables<\/strong> op een Synology NAS wordt officieel niet ondersteund. De NAS zou de iptables kunnenherlden bij een update of tijdens security checks. Een optie is het gebruik van een tweede script dat dagelijks draait voor zonsopgang en de iptables opnieuw activeert om te borgen dat de Network Address Translation juist wordt uitgevoerd.<\/p>\n\n\n\n<p>Een voorbeeld (bash) om de iptables-regels te configureren:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">#! \/bin\/bash LOCAL_IP=&quot;192.168.1.x&quot; DEST_PORT=&quot;10004&quot; OMNIK_LOGGER_ADDRESS=&quot;176.58.117.69&quot; # Flush bestaande NAT-regels iptables -t nat -F OUTPUT iptables -t nat -F PREROUTING # Stel NAT-REGELS correct in iptables -t nat -A PREROUTING -p tcp -d $OMNIK_LOGGER_ADDRESS --dport $DEST_PORT -j DNAT --to-destination $LOCAL_IP:$DEST_PORT iptables -t nat -A OUTPUT -p tcp -d $OMNIK_S -j<\/pre>\n\n\n\n<p>Pas LOCAL_IP aan op het IP-adres van de host in uw interne netwerk die wordt gebruikt voor de herroutering.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>Als je de beschikking hebt over een extra Raspberry PI  dan zou mijn advies zijn om hierop de NAT regels en het onderscheppen van het logger verkeer te configureren, dit om issues op je Synology te voorkomen. <\/p><\/blockquote>\n\n\n\n<h4 class=\"wp-block-heading\">De logging naar Omnik\/Solarman portal behouden<\/h4>\n\n\n\n<p>Het omnikloggerproxy.py script staat je toe om het de logger data te onderscheppen, deze om te zetten naar een MQTT bericht, waarbij het beriht nog steeds en ookdoorgezet kan worden naar de logging servers in de cloud. Het enige probleem is dat door met het herrouteren van het verkeer voor \u2018176.58.117.69\u2019 naar een lokaal adres dit ook het forwarden lastig maakt. Met een extra tussenstap kun je de updates toch ook forwarden naar de servers van SolarMan. Als je de mogelijkheid hebt om omnikloggerproxy.py ook op een systeem elders op het Internet te draaien, dan zou je namelijk nog steeds de datalog van je omvormer hier ook naar kunnen doorsturen., aangezien deze een andere IP-adres heeft. De tweede script instantie stuurt het vervolgens door naar het SolarMAN portal. This scenario wordt ondersteund. De tweede instantie van omnikloggerproxy.py moet het verkeer het verkeer naar 176.58.117.69:10004 via TCP zodat het zal worden afgeleverd naar de Solarman infrastructuur en beschikbaar komt in <a rel=\"noreferrer noopener\" href=\"https:\/\/www.solarmanpv.com\/portal\" target=\"_blank\">https:\/\/www.solarmanpv.com\/portal<\/a>. <\/p>","protected":false},"excerpt":{"rendered":"<p>Hier vindt u een proxyscript dat u kan helpen bij het onderscheppen van de logboekregistratie van uw omvormers. Houd er rekening mee dat bij onderschepping de logboekregistratie niet langer wordt afgeleverd bij de logboekservers in de cloud, tenzij u deze opnieuw omleidt naar de logboekservers van Solarman. Hoe interceptie werkt Door verkeer voor &#039;176.58.117.69&#039; om te leiden naar de host \u2026 <a href=\"https:\/\/jbsoft.nl\/site\/nl\/omnik-datalogger\/logger-interception-using-omnik-datalogger\/\" class=\"more-link\">Lees verder <span class=\"screen-reader-text\">\u201cLogger onderschepping met behulp van Omnik datalogger\u201d<\/span><\/a><\/p>","protected":false},"author":1,"featured_media":0,"parent":39,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-115","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/jbsoft.nl\/site\/nl\/wp-json\/wp\/v2\/pages\/115","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jbsoft.nl\/site\/nl\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/jbsoft.nl\/site\/nl\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/jbsoft.nl\/site\/nl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jbsoft.nl\/site\/nl\/wp-json\/wp\/v2\/comments?post=115"}],"version-history":[{"count":15,"href":"https:\/\/jbsoft.nl\/site\/nl\/wp-json\/wp\/v2\/pages\/115\/revisions"}],"predecessor-version":[{"id":423,"href":"https:\/\/jbsoft.nl\/site\/nl\/wp-json\/wp\/v2\/pages\/115\/revisions\/423"}],"up":[{"embeddable":true,"href":"https:\/\/jbsoft.nl\/site\/nl\/wp-json\/wp\/v2\/pages\/39"}],"wp:attachment":[{"href":"https:\/\/jbsoft.nl\/site\/nl\/wp-json\/wp\/v2\/media?parent=115"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}