NEWS
IoBroker unter Docker auf der Synology DiskStation?
-
Das war es funktioniert. Danke Dir und noch einen schönen Rest Feiertag
werde mich dann mal durch den Rest kämpfen.
Grüße Steffen
-
@Homer1976:Das war es funktioniert. Danke Dir und noch einen schönen Rest Feiertag
werde mich dann mal durch den Rest kämpfen.
Grüße Steffen `
Klasse uns viel Spaß! -
Hallo tstueben,
vielen Dank für deinen sehr hilfreichen Beitrag! Danke, es hat mir geholfen die Einrichtung gut durchzuführen.
Du hast in deinem Beitrag geschrieben:
@tstueben:Ich habe mir ein kleines sh Skript erstellt, welches bei jedem Start der NAS über den Synology Aufgabenplaner ausgeführt wird. `
Kannst du mir kurz erklären, wie ein solches Skript anlegen kann, bzw. welcher Code da rein muss?
@tstueben:Somit ist der Docker ioBroker Container nun auch von der NAS aus ansprechbar. Aus dem Docker Container ist die NAS über die zusätzliche IP Adresse 192.168.20.80 zu erreichen. `
Darüber hinaus gelingt es mir nicht, den MySQL Server auf der DiskStation zu erreichen. Ich konnte zwar den entsprechenden Netzwerkadapter anlegen und die DS taucht in meiner FritzBox mit einer zweiten IP auf - aber über das Termin im ioBroker konnte ich die DS nicht anpingen.Wenn ich im Terminal-Adapter````
arp -aKann das was mit der aktuellen Version des DiskStation Manager zu tun haben? Ich habe da was gelesen. Leider erst nachdem ich das aktuelle Update eingespielt habe. Kannst du da einen Tipp geben? Danke für die Rückmeldung. Gruß, rrr
-
@rrr:Hallo tstueben,
vielen Dank für deinen sehr hilfreichen Beitrag! Danke, es hat mir geholfen die Einrichtung gut durchzuführen.
Du hast in deinem Beitrag geschrieben:
@tstueben:Ich habe mir ein kleines sh Skript erstellt, welches bei jedem Start der NAS über den Synology Aufgabenplaner ausgeführt wird. `
Kannst du mir kurz erklären, wie ein solches Skript anlegen kann, bzw. welcher Code da rein muss?
@tstueben:Somit ist der Docker ioBroker Container nun auch von der NAS aus ansprechbar. Aus dem Docker Container ist die NAS über die zusätzliche IP Adresse 192.168.20.80 zu erreichen. `
Darüber hinaus gelingt es mir nicht, den MySQL Server auf der DiskStation zu erreichen. Ich konnte zwar den entsprechenden Netzwerkadapter anlegen und die DS taucht in meiner FritzBox mit einer zweiten IP auf - aber über das Termin im ioBroker konnte ich die DS nicht anpingen.Wenn ich im Terminal-Adapter````
arp -aKann das was mit der aktuellen Version des DiskStation Manager zu tun haben? Ich habe da was gelesen. Leider erst nachdem ich das aktuelle Update eingespielt habe. Kannst du da einen Tipp geben? Danke für die Rückmeldung. Gruß, rrr `
Hallo 3R,
ich habe immer die neuste DSM Version installiert. Momentan die Version "DSM 6.2-23739 Update 2". Auch die Docker Version ist auf dem neusten Stand.
Ich habe mir folgendes Skript erstellt und rufe das im Systemsteuerung -> Aufgabenplaner alle 5 Minuten als Benutzer root auf:
#!/bin/sh if ip link | grep "mac1@eth0" > /dev/null; then echo "Device mac1 existiert" else echo "Device mac1 anlegen" ip link del mac1 ip link add mac1 link eth0 type macvlan mode bridge ip addr add 192.168.20.80/32 dev mac1 ip link set mac1 up ip route add 192.168.20.80/28 dev mac1 fi
Die IP-Adresse 192.168.20.80 musst Du durch Deine aus der dem MACVLAN ersetzen. Bei mir ist es die der NAS.
Also die NAS ist aus dem Docker Container mit MACVLAN Adresse nicht mehr über die "Standard" IP-Adresse der NAS zu erreichen. Du musst daher den SQL Server und alle anderen Dienste auf der NAS über die MACVLAN Adresse aus dem Docker Container aufrufen.
Bsp. Dein Docker Conntainer hat die IP-Adresse 192.168.20.81 (macvlan), Die NAS 192.168.20.2 und 192.168.20.80 (macvlan IP-Adresse der NAS). Dann musst Du die Adresse 192.168.20.80 statt 192.168.20.2 für den Aufruf der NAS aus dem Docker Container angeben. Das gilt auch bei einem Ping.
Ich hoffe ich konnte helfen, sonst jederzeit melden
VG
Stübi
-
Hi Stübi,
danke für deine Antwort.
Hab ich mir dann auch gleich eingerichtet, das Skript. Danke! Funzt leider noch nicht ganz.
Zum Überblick:
xxx.xxx.xxx.1 ist mein Router
xxx.xxx.xxx.21 ist meine DS
xxx.xxx.xxx.161 ist der ioBroker (ab 160 ist im Router im DHCP auch ausgeschlossen)
xxx.xxx.xxx.160 ist die zweite IP der DS
Den von dir geposteten Code für die mac0-Netzwerkschnittstelle habe ich, wie folgt angepasst, verwendet:
docker network create -d macvlan --subnet=xxx.xxx.xxx.0/24 --gateway=xxx.xxx.xxx.1 --ip-range=xxx.xxx.xxx.160/28 --aux-address 'host=xxx.xxx.xxx.160' -o parent=ovs_bond0 mac0
(Ich nutze zwei der vier Ethernet-Ports in einem Bond. OVS wegen Virtual Machine Manager.)
Hab also in deinem Skript die 160 verwendet. Geht leider nicht.
Die zusätzliche Netzwerkschnittstelle habe ich eingerichtet und wird im DSM unter Docker angezeigt.
ping xxx.xxx.xxx.160 92 bytes from iobroker (xxx.xxx.xxx.161): Destination Host Unreachable
Bekomme ich leider immer als Ergebnis.
Eine Idee?
-
hmm, kannst du Deine Fritzbox mit xxx.xxx.xxx.1 aus dem Docker Container anpingen und kannst Du z.B. von einem PC (nicht NAS) den Docker Container mit ping xxx.xxx.xxx.161 (kann statt 161 auch 162 bis 175 sein) erreichen?
Ist die Subnetmask Deines Bonds ovs_bond0 auf der NAS 24 (255.255.255.0)?
Und in Deinem Überblick sind xxx.xxx.xxx immer gleich, d.h. z.B. immer 192.168.1. ?
-
@tstueben:hmm, kannst du Deine Fritzbox mit xxx.xxx.xxx.1 aus dem Docker Container anpingen `
Ja, das klappt, wie es soll.@tstueben:kannst Du z.B. von einem PC (nicht NAS) den Docker Container mit ping xxx.xxx.xxx.161 (kann statt 161 auch 162 bis 175 sein) erreichen? `
Ja, ping xxx.xxx.xxx.161 funktioniert auch.@tstueben:Ist die Subnetmask Deines Bonds ovs_bond0 auf der NAS 24 (255.255.255.0)? `
Ja, die Subnetzmaske ist 255.255.255.0 - eben noch mal auf der DS überprüft.@tstueben:Und in Deinem Überblick sind xxx.xxx.xxx immer gleich, d.h. z.B. immer 192.168.1. ? `
Ja, richtig.Nachtrag, 22:13 Uhr:
Wenn ich in ioBroker im Terminal den Befehl````
arp -a? (xxx.xxx.xxx.21) auf <unvollständig> auf eth1
? (xxx.xxx.xxx.32) auf 78:0f:77:17:fd:4b [ether] auf eth1
? (xxx.xxx.xxx.1) auf 24:65:11:5a:d6:33 [ether] auf eth1
? (xxx.xxx.xxx.100) auf a0:04:60:15:08:2d [ether] auf eth1
? (xxx.xxx.xxx.110) auf 0c:47:c9:04:92:15 [ether] auf eth1
? (xxx.xxx.xxx.160) auf <unvollständig> auf eth1
? (xxx.xxx.xxx.22) auf d4:9a:20:d8:ba:b2 [ether] auf eth1
? (xxx.xxx.xxx.30) auf 00:c0:ee:96:b3:be [ether] auf eth1
? (xxx.xxx.xxx.103) auf 98:9e:63:3d:0e:98 [ether] auf eth1
? (xxx.xxx.xxx.107) auf 28:6a:ba:ae:87:7b [ether] auf eth1</unvollständig></unvollständig>Hilft das weiter? Die 160 taucht zwar auch, wie auch die 21 - beide lassen sich aber nicht anpingen (unreachable). Seltsam ist, dass die 21 und 160 auch als IPv6 "unvollständig" dargestellt werden. Hm…
-
und Du hast folgendes auf der NAS im Terminalfenster mit dem Netzwerkadapter ovs_bond0 statt eth0 aufgerufen?
# Virtuelles Netzwerk Device mac1 anlegen ip link add mac1 link ovs_bond0 type macvlan mode bridge ip addr add xxx.xxx.xxx.160/32 dev mac1 ip link set mac1 up ip route add xxx.xxx.xxx.160/28 dev mac1
Ich hätte gedacht wenn Du mit dem Netzwerk ovs_bond0 arbeitest, wird beim Befehl arp -a nicht eth1 sondern ovs_bond0 angezeigt. Ich kann das leider nicht nachstellen, da ich mit einem Netzwerkadater kein Bond aufbauen kann.
Kannst du einmal den Befehl ifconfig mac1 auf der NAS aufrufen. Du müsstest denn so etwas sehen:
mac1 Link encap:Ethernet HWaddr 06:53:85:57:4D:E5 inet addr:192.168.20.80 Bcast:0.0.0.0 Mask:255.255.255.255 inet6 addr: aaaa::bbb:ccff:fddd:4de5/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:8119539 errors:0 dropped:0 overruns:0 frame:0 TX packets:4786899 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:1314284250 (1.2 GiB) TX bytes:1112319842 (1.0 GiB)
und dann nochmals den Befehl netstat -rn auf der NAS ausführen. Was siehst Du da für das Device mac1?
Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface 192.168.20.80 0.0.0.0 255.255.255.240 U 0 0 0 mac1
-
Danke, dass du dir die Zeit nimmst, mir zu helfen!
@tstueben:und Du hast folgendes auf der NAS im Terminalfenster mit dem Netzwerkadapter ovs_bond0 statt eth0 aufgerufen?
# Virtuelles Netzwerk Device mac1 anlegen ip link add mac1 link ovs_bond0 type macvlan mode bridge ip addr add xxx.xxx.xxx.160/32 dev mac1 ip link set mac1 up ip route add xxx.xxx.xxx.160/28 dev mac1
Ich hätte gedacht wenn Du mit dem Netzwerk ovs_bond0 arbeitest, wird beim Befehl arp -a nicht eth1 sondern ovs_bond0 angezeigt. Ich kann das leider nicht nachstellen, da ich mit einem Netzwerkadater kein Bond aufbauen kann. `
Naja, nicht auf dem NAS im Terminal. Habe SSH temporär aktiviert, mich per SSH mit dem NAS verbunden und es im Terminal von meinem Rechner aus gemacht.@tstueben:Kannst du einmal den Befehl ifconfig mac1 auf der NAS aufrufen. `
ifconfig mac1 mac1 Link encap:Ethernet HWaddr EA:AA:8F:E6:0A:17 inet addr:192.168.20.80 Bcast:0.0.0.0 Mask:255.255.255.255 inet6 addr: 2002:5477:60a4:0:e8aa:8fff:fee6:a17/64 Scope:Global inet6 addr: fe80::e8aa:8fff:fee6:a17/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:407650 errors:0 dropped:0 overruns:0 frame:0 TX packets:304434 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:301739518 (287.7 MiB) TX bytes:51057880 (48.6 MiB)
Ich sehe, da passt die IP nicht. Das müsste ja meine IP xxx.xxx.xxx.160 sein - die zweite IP meiner NAS, richtig?
Hab ich wahrscheinlich beim ersten eingeben nicht sauber editiert. Weißt du, wie ich das ändern kann? Oder alles neu setzen kann?
@tstueben:und dann nochmals den Befehl netstat -rn auf der NAS ausführen. Was siehst Du da für das Device mac1? `
netstat -rn Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface 0.0.0.0 xxx.xxx.xxx.1 0.0.0.0 UG 0 0 0 ovs_bond0 172.17.0.0 0.0.0.0 255.255.0.0 U 0 0 0 docker0 192.168.20.80 0.0.0.0 255.255.255.240 U 0 0 0 mac1 192.168.20.160 0.0.0.0 255.255.255.240 U 0 0 0 mac1 xxx.xxx.xxx.0 0.0.0.0 255.255.255.0 U 0 0 0 ovs_bond0 xxx.xxx.xxx.160 0.0.0.0 255.255.255.240 U 0 0 0 mac1
Ich glaub auch hier müsste ich das irgendwie "geradeziehen" - hast du eine Idee, wie ich das sauber editieren kann?
Da hab ich wohl zu viel rumprobiert.
-
Hallo,
das sieht ja etwas wild aus Probiere es mal mit:
ip link del mac1
wenn Du dann ifconfig mac1 und ip link show mac1 aufrufst, solltest Du einen Fehler bekommen, da das Device gelöscht wurde. Mit netstat -rn sollte es auch nicht mehr zu sehen sein.
Anschließend einmal folgendes ausführen:
# Virtuelles Netzwerk Device mac1 anlegen ip link add mac1 link ovs_bond0 type macvlan mode bridge ip addr add xxx.xxx.xxx.160/32 dev mac1 ip link set mac1 up ip route add xxx.xxx.xxx.160/28 dev mac1
ich hoffe danach geht es und Du bekommst den Ping durch?
-
Klasse - also der Ping geht durch. Danke!
Allerdings ist mein ursprüngliches Problem noch nicht ganz gelöst.
SQL funzt nun, aber nicht der Adapter Backitup.
Da bekomme ich immer folgende Fehlermeldung:
[DEBUG] --- Mount Backup-Path on CIFS --- [ERROR] mount: //xxx.xxx.xxx.160/iobroker/backup/ is write-protected, mounting read-only [ERROR] mount: cannot mount //xxx.xxx.xxx.160/iobroker/backup/ read-only [ERROR] mount: //xxx.xxx.xxx.160/iobroker/backup/ is write-protected, mounting read-only mount: cannot mount //xxx.xxx.xxx.160/iobroker/backup/ read-only
Du hast mir schon so weit geholfen… Irgendeine Idee?
Von meinem Rechner kann ich xxx.xxx.xxx.160 anpingen, mich aber auch nicht zur Freigabe verbinden. Muss ich da seitens der DS noch irgendwas einstellen? Oder Ports frei geben?
-
@rrr:Klasse - also der Ping geht durch. Danke!
Allerdings ist mein ursprüngliches Problem noch nicht ganz gelöst.
SQL funzt nun, aber nicht der Adapter Backitup.
Da bekomme ich immer folgende Fehlermeldung:
[DEBUG] --- Mount Backup-Path on CIFS --- [ERROR] mount: //xxx.xxx.xxx.160/iobroker/backup/ is write-protected, mounting read-only [ERROR] mount: cannot mount //xxx.xxx.xxx.160/iobroker/backup/ read-only [ERROR] mount: //xxx.xxx.xxx.160/iobroker/backup/ is write-protected, mounting read-only mount: cannot mount //xxx.xxx.xxx.160/iobroker/backup/ read-only
Du hast mir schon so weit geholfen… Irgendeine Idee?
Von meinem Rechner kann ich xxx.xxx.xxx.160 anpingen, mich aber auch nicht zur Freigabe verbinden. Muss ich da seitens der DS noch irgendwas einstellen? Oder Ports frei geben? `
Für mich hört sich das nach einem Berechtigungsproblem an. Du kannst testweise einmal versuchen das freigegebene Verzeichnis /iobroker/backup/ Jedermann (all) Lese und Schreibrechte zu geben.
Ich selber nutze den Adapter backupit nicht. Ich führe das Backup täglich mit Synology Hypber Backup durch. Wenn Du in dem ioBroker Docker Container unter Volume das /opt/iobroker/ mit einem Verzeichnis auf der NAS gemounted hast (das solltest Du umbedingt so machen), dann musst Du nur mit Hyper Backup dieses Verzeichnis sichern und Du hast Deine Datensicherung.
Wenn ich mal einen größeren Umbau oder Test mit ioBroker durchführe, melde ich mit ssh auf der NAS an und erstelle ein tar File von dem iobroker Verzeichnis. Falls etwas schief läuft, geht die Rücksicherung dann schneller als mit Hyper Backup.
Hier das Skript zum Erstellen des tar Files
#!/bin/bash datum=$(date +%Y%m%d) filename="iobroker-${datum}.tgz" backupdir="/volume1/backup" iobrokerdir="/volume1/docker/iobroker" cd ${iobrokerdir} tar cvfz ${backupdir}/${filename} ./opt ./etc
-
Hey, danke dir.
Das mit den manuellen Backups hatte ich auch schon versucht. Da gibts ja eine direkte Funktion für, was ein tar erstellt.
sudo iobroker backup
erstellt unter /opt/iobroker/backups ein Backup in der Form 2018_08_03-19_17_36_backupiobroker.tar.gz.
Das mit dem Hyper Backup ist eine gute Idee. Finde ich auch besser.
So ist es bei mir in DSM eingestellt. Aber irgendwie bleibt der Ordner leer. Ich müsste doch den Inhalt sehen, oder?Nachtrag:
Mittlerweile hat sich der Ordner gefüllt…
-
@rrr:Hey, danke dir.
Das mit den manuellen Backups hatte ich auch schon versucht. Da gibts ja eine direkte Funktion für, was ein tar erstellt.
sudo iobroker backup
erstellt unter /opt/iobroker/backups ein Backup in der Form 2018_08_03-19_17_36_backupiobroker.tar.gz.
Das mit dem Hyper Backup ist eine gute Idee. Finde ich auch besser.
Bildschirmfoto 2018-08-12 um 22.58.51.JPG
So ist es bei mir in DSM eingestellt. Aber irgendwie bleibt der Ordner leer. Ich müsste doch den Inhalt sehen, oder?
Nachtrag:
Mittlerweile hat sich der Ordner gefüllt… `
Hallo,
Das Verzeichnis iobroker/backup auf der NAS sollte nicht leer sein. Melde Dich mal im Docker Container an (z.B. über den Punkt Terminal im ioBroker Docker Container) und schaue Dir einmal das Verz. /opt/iobroker an. Ist das gefüllt? Dann führe einmal den Befehl mount im Docker Container an. Ist das Verzeichnis /opt/iobroker mit iobroker/backup gemounted ?
-
Habe es nun auch entsprechend umgesetzt, da die Home-APP den Homekit-Controller nicht finden wollte. Dabei bin ich auf folgende Probleme gestoßen:
1. Die Einrichtung des Adapters habe ich wie folgt vorgenommen:
docker network create -d macvlan –subnet=192.168.50.0/24 --gateway=192.168.50.1 --ip-range=192.168.50.101/28 --aux-address 'host=192.168.50.101' -o parent=ovs_eth1 mac0
Das hat auch wunderbar funktioniert. Mein IOBrocker-Docker bekommt die IP 192.168.50.96 und ist auch von außen ansprechbar. Leider bekomme ich keine Verbindung zum NAS und meinem MQQT-Broker. Daher habe ich diese Befehle auf dem NAS eingegeben:
ip link add mac1 link ovs_eth1 type macvlan mode bridge
ip addr add 192.168.50.101/32 dev mac1
ip link set mac1 up
ip route add 192.168.50.101/32 dev mac1
Die IP kann ich von außen anpingen, intern aus dem Docker leider nicht Die IP´s sind auch frei und nicht in Benutzung.
2. Mein internes DNS-problem konnte ich selber lösen
Homekit funktioniert nun dank dieser Anleitung. Nur das Problem mit der internen Verbindung zum NAS schmälert aktuell das Resultat.
Hier die Routen:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default fritz.box 0.0.0.0 UG 0 0 0 ovs_eth1
172.17.0.0 0.0.0.0 255.255.0.0 U 0 0 0 docker0
192.168.50.0 0.0.0.0 255.255.255.0 U 0 0 0 ovs_eth1
192.168.50.101 0.0.0.0 255.255.255.255 UH 0 0 0 mac1
-
Habe es nun auch entsprechend umgesetzt, da die Home-APP den Homekit-Controller nicht finden wollte. Dabei bin ich auf folgende Probleme gestoßen:
1. Die Einrichtung des Adapters habe ich wie folgt vorgenommen:
docker network create -d macvlan –subnet=192.168.50.0/24 --gateway=192.168.50.1 --ip-range=192.168.50.101/28 --aux-address 'host=192.168.50.101' -o parent=ovs_eth1 mac0
Das hat auch wunderbar funktioniert. Mein IOBrocker-Docker bekommt die IP 192.168.50.96 und ist auch von außen ansprechbar. Leider bekomme ich keine Verbindung zum NAS und meinem MQQT-Broker. Daher habe ich diese Befehle auf dem NAS eingegeben:
ip link add mac1 link ovs_eth1 type macvlan mode bridge
ip addr add 192.168.50.101/32 dev mac1
ip link set mac1 up
ip route add 192.168.50.101/32 dev mac1
Die IP kann ich von außen anpingen, intern aus dem Docker leider nicht Die IP´s sind auch frei und nicht in Benutzung.
2. Mein internes DNS-problem konnte ich selber lösen
Homekit funktioniert nun dank dieser Anleitung. Nur das Problem mit der internen Verbindung zum NAS schmälert aktuell das Resultat. `
da ist ein kleiner Tippfehler (28 statt 32) bei den ip link Befehlen auf der NAS. Probiere mal folgendes:
ip link del mac1 ip link add mac1 link ovs_eth1 type macvlan mode bridge ip addr add 192.168.50.101/32 dev mac1 ip link set mac1 up ip route add 1192.168.50.101/28 dev mac1
Funktioniert es jetzt?
Nachtrag: Wichtig, die Adresse 192.168.50.101 war vorher nicht vergeben, d.h. das ist nicht die NAS Adresse am Device ovs_eth1
-
Das hat leider nicht funktioniert…
ash-4.3# ip route add 192.168.50.101/28 dev mac1
RTNETLINK answers: Invalid argument
Die Adresse ist vorher nicht vergeben worden, nun aber natürlich in Benutzung.
-
Das hat leider nicht funktioniert…
ash-4.3# ip route add 192.168.50.101/28 dev mac1
RTNETLINK answers: Invalid argument
Die Adresse ist vorher nicht vergeben worden, nun aber natürlich in Benutzung. `
Also bei bei Mask Bit 28 stehen Dir bei 192.168.50.101/28 folgende IP Adressen zur Verfügung 192.168.50.96 - 192.168.50.111. D.h Dein Docker Container im MAC0 Netzt sollten eine IP Adresse von 192.168.50.97 bis 192.168.50.111 haben (http://www.subnet-calculator.com). Diese IP Adressen dürfen durch Deine NAS (DHCP) nicht vergeben werden!
Fahre einmal alle Docker Container runter die das MAC0 Netz nutzen. Nun folgendes Skript auf der NAS ausführen. Den Befehl ip link del mac1 nicht vergessen! Damit alles alte gelöscht wird!
ip link del mac1 ip link add mac1 link ovs_eth1 type macvlan mode bridge ip addr add 192.168.50.96/32 dev mac1 ip link set mac1 up ip route add 1192.168.50.101/28 dev mac1
Nun fahre Deine Docker Container wieder hoch und versuche aus dem Docker Container die IP-Adresse 192.168.50.96 zu erreichen. Es kann sein, dass Du das MAC0 Netz nochmals anlegen musst um die aux-address auf 192.168.50.96 zu legen. Dann Docker Container aus dem MAC0 Netz runterfahren. Dann änderst Du in den Container das Netzwerkdevice ohne hochzufahren. Anschliessend löscht Du das MAC0 in Docker und legst es neu an und weißt das neue MAC0 Netz den Docker Containern wieder zu.
docker network create -d macvlan --subnet=192.168.50.0/24 --gateway=192.168.50.1 --ip-range=192.168.50.101/28 --aux-address 'host=192.168.50.96' -o parent=ovs_eth1 mac0
Ich habe bei mir das 192.168.50.80/28 gewählt, da es übersichtlicher ist. Da gehen die IP-Adressen von 192.168.50.80 - 192.168.50.95. Und da ist keine Adresse kleiner 192.168.50.80, sondern immer größer als 192.168.50.80
-
Leider immer noch der selbe Fehler…
ash-4.3# ip route add 192.168.50.97/28 dev mac1
RTNETLINK answers: Invalid argument
Ich habe als erstes den Container heruntergefahren und das Netzwerk MAC0 gelöscht. Danach habe ich den Befehl
docker network create -d macvlan --subnet=192.168.50.0/24 --gateway=192.168.50.1 --ip-range=192.168.50.101/28 --aux-address 'host=192.168.50.96' -o parent=ovs_eth1 mac0
eingegeben und den Container wieder zugeordnet und dann gestartet. Dieser hat nun die Adresse 192.168.50.97
1: lo: <loopback,up,lower_up>mtu 65536 qdisc noqueue state UNKNOWN group default
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
50: eth0@if9: <broadcast,multicast,up,lower_up>mtu 9000 qdisc noqueue state UNKNOWN group default
inet 192.168.50.97/24 scope global eth0
valid_lft forever preferred_lft forever
Nun hab ich wieder folgende Befehle auf dem NAS eingeben bei eingeschaltetem Container
ip link del mac1
ip link add mac1 link ovs_eth1 type macvlan mode bridge
ip addr add 192.168.50.96/32 dev mac1
ip link set mac1 up
ip route add 192.168.50.97/28 dev mac1
Beim letzten Befehl kommt der besagte Fehler
Die IP-Adressen sind nicht vergeben und werden auch nicht vergeben.</broadcast,multicast,up,lower_up></loopback,up,lower_up>
-
Der letzte Befehl muss auch
ip route add 1192.168.50.101/28 dev mac1
sein und nicht,
ip route add 1192.168.50.97/28 dev mac1
Ich würde aber vorher das mac1 wider löschen und dann folgendes eingeben:
ip link del mac1 ip link add mac1 link ovs_eth1 type macvlan mode bridge ip addr add 192.168.50.96/32 dev mac1 ip link set mac1 up ip route add 1192.168.50.101/28 dev mac1
funktioniert das?