NEWS
[HowTo] ioBroker unter Docker auf Synology DiskStation
-
@bambulko
Du kannst jederzeit neue Ports hinzufügen
Der Container wird dann halt neu generiert.
Alles was nicht stimmt n volumes liegt ist dann halt verloren -
Mein iobroker läuft im docker als macvlan. Leider scheint er auf broadcasts von ausserhalb des containers nicht zu reagieren. Hat das jemand gelöst?
-
was meinst du denn genau?
Wenn das MacVlan richtig konfiguriert ist und alles andere auch, dann werden doch die auch weiterleitet.
Es sei denn, du hast in deiner Netzwerkinfrastruktur etwas an den Switchen (ob Hard oder Software), das die Broadcasts nur in die eigenen Subnets routet.. ??Zeig mal deine Infrastruktur und deine Settings, sonst bleibt auch die Glaskugel hilflos..
-
@drapo
Warum Multi-Posting?
Reicht es nicht das an einer Stelle zu platzieren und da erstmal eine mögliche Klärung abzuwarten?
https://forum.iobroker.net/topic/69148/iobroker-docker-image-mit-macvlan-möglich/43 -
@samson71 stimmt kann man besser machen. Ich gelobe Besserung
-
@ilovegym Wenn ich diesen Befehl ausführe steht dass Broadcasts durch den Linux Kernel deaktiviert ist:
sysctl net.ipv4.icmp_echo_ignore_broadcasts
würde mich mal interessieren was andere User welche ebenfalls ein macvlan am laufen haben hier für eine ausgabe erhalten.
Bei mir ist das Resultat:
net.ipv4.icmp_echo_ignore_broadcasts = 1
was eben bedeutet broadcasts werden nicht zugelassen.
Nun müsste ich dieses Einstellung ändern.
Ein sysctl net.ipv4.icmp_echo_ignore_broadcasts=0 gibt mir ein Permission denied zurück das sowohl als root wie auch mittels sudo.
Hat das jemand gelöst?
-
@drapo sagte in [HowTo] ioBroker unter Docker auf Synology DiskStation:
sysctl net.ipv4.icmp_echo_ignore_broadcasts
Du wirfst da etwas durcheinander.
net.ipv4.icmp_echo_ignore_broadcasts
bedeutet lediglich, dass ICMP-Echo-Anfragen an Broadcast-Adressen ignoriert werden.Ob das BS grundsätzlich Broadcasts senden/empfangen kann, gibt dir
ip a
aus.
Hinter der Schnittstelle stehen die Flags, und ich gehe davon aus dass da auch "BROADCAST" mit dabei ist.
-
@marc-berg wenn ich "ip a" eingebe steht command not found
-
@drapo sagte in [HowTo] ioBroker unter Docker auf Synology DiskStation:
@marc-berg wenn ich "ip a" eingebe steht command not found
und
ifconfig
?
-
alternativ, je nach Image und installed packages, geht auch ifconfig, hier aus meinem iobroker-buanet-docker auf der Synology mit Macvlan
root@iobroker:/opt/iobroker# ifconfig eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 10.1.1.2 netmask 255.255.0.0 broadcast 10.1.255.255 ether 02:42:0a:01:01:02 txqueuelen 0 (Ethernet) RX packets 407228172 bytes 448604921189 (417.7 GiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 418855706 bytes 98027655080 (91.2 GiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 loop txqueuelen 1 (Local Loopback) RX packets 235876 bytes 28289967 (26.9 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 235876 bytes 28289967 (26.9 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 root@iobroker:/opt/iobroker#
-
@ilovegym ok das sieht so aus
ich habe bei meiner diskstation 2 netzwerkanschlüsse die als bond konfiguriert wurden.
Mein Problem ist, dass ich von dem neuen mediola adapter auf dem port 1902 und 1901 udp broadcasts empfangen sollte. aber die kommen nicht an. ich weiss jetzt grad nicht was ich noch tun soll. hättest du einen vorschlag?
-
-
netzwerkseitig sieht alles gut aus
ip und broadcast adresse passen zusammender broadcast sender muss sich im gleichen netzsegment befinden wie der empfänger
broadcast geht immer nur innerhalb eines segmentsbei macvlan gibt es noch die besonderheit, das wenn der sender/empfänger der host ist und der sender/empfänger ein container ist, die sich nicht erreichen können.
man muss dazu einen link einrichten -
@drapo sagte in [HowTo] ioBroker unter Docker auf Synology DiskStation:
ich habe bei meiner diskstation 2 netzwerkanschlüsse die als bond konfiguriert wurden.
Mehr ein Schuss ins Blaue:
Hast Du mal mit deaktiviertem/aufgehobenem Bond probiert und zum Testen mal einen Anschluss abgeschaltet?
Beim Bonding sind ja 2 Seiten im Boot. Zum einen die Syno und zum anderen der Switch, an dem die beiden Ports der Syno hängen. Nicht dass es am Ende am Switch (warum auch immer) klemmt. -
Oliver, richtig, hatte ich ganz vergessen, mein Script (hab ich irgendwo aus dem Netz..) in der Syno sieht so aus, steht auf
Ausfuehren als root, alle 15 min, wenn fehlgeschlagen Email-Benachrichtung.#!/bin/sh if ip link | grep "mac1@ovs_eth3" > /dev/null; then echo "Device mac1 existiert" else echo "Device mac1 anlegen" ip link del mac1 ip link add mac1 link ovs_eth3 type macvlan mode bridge ip addr add 10.1.1.9/28 dev mac1 ip link set mac1 up ip route add 10.1.1.9 dev mac1 fi
Die 10.1.1.9 ist die MacVlan IP, ovs_eth3 das Interface der Syno, das script schaut so alle 15min, ob die Mac noch exestiert und falls nicht, wird sie angelegt. Damit hast du bei einem Reboot oder Verlust der Mac(Interface neu gestartet) keine Arbeit.
-
besser ist das skript in das verzeichnis
/etc/network/if-up.d/dockermacvlan
zu legen#!/bin/sh if [ "$IFACE" = "enp3s0" ]; then ip link add macvlan0 link enp3s0 type macvlan mode bridge ip addr add 192.168.1.80/28 dev macvlan0 ip link set macvlan0 up fi
das wird dann automatisch ausgeführt, sobal ein netzwerkdevice zur verfügung steht.
-
werden thread hier findet und das verzeichnis bei sich aber nicht findet:
nicht alle distributionen verwenden den networkmanager.daher muss dann nach anderen alternativen gesucht werden, wie ein userscript auf basis eines ereignisses ausgeführt werden kann.
für DSM werden hier ein paar sachen diskutiert
https://community.synology.com/enu/forum/11/post/133969?page=1&sort=oldest -
@oliverio den link hab ich eingerichtet ist aber nicht das problem. Da es in diesem fall nicht der host ist welcher mit dem container kommunizieren muss
-
-
@ilovegym bevor ich das tu. nur dass ich das richtig verstehe. die 172. Schnittstelle ist für die Kommunikation von Conatinern untereinander korrekt? Wenn ich die abschalte haben container untereinander keine Kommunikation mehr stimmt das?
Bei mir läuft noch Redis auf einem eigenen Container. Kann der dann noch mit dem iobroker kommunizieren wenn ich die 172. Schnittstelle ausschalte?