Jump to content

Zwei NIC > einer für Docker > Fix Common Problems


saber1

Recommended Posts

Hallo zusammen,

 

da auf meinem Mainboard zwei Ethernet-Ports vorhanden sind, wollte ich sie auch beide nutzen.

Allerdings nicht zum Bonding (greife eh nur über WLAN auf die Freigaben zu > Server im Keller), sondern damit ausgesuchte Docker quasi eine "eigene" Leitung bekommen. Zum Streamen mit Jellyfin beispielsweise.

 

Also die beiden Ports folgendermaßen konfiguriert:

eth0:

eth0.thumb.png.bfbf7612f4cc1a93779a3a9dd8ccd70e.png

 

eth1:

eth1.thumb.png.158abce0dafcf9d1f47ef0c75fd33e79.png

 

Routing:

1994825305_RoutingTabelle.thumb.png.5237c85e164af8d6209716be4d12f625.png

 

Docker (custom br1):

445603714_Dockersettings.thumb.png.9d236e319ce0f8c43a003d46b6df1b4e.png

 

DHCP Pool ab soll ab 151 sein.

Jellyfin hat auch, wie gewünscht 10.0.1.151 bekommen und funktioniert einwandfrei.

 

DHCP im Router geht von Adresse 51 bis 150:

Router.thumb.png.f3e3a5a3914548994ba57334e899ac69.png

 

Also kein Konflikt mit den Docker Custom Network settings.

 

Was mich aber jetzt wundert ist, das Fix Common Problems einen Error erkannt haben will:

FixCommon.thumb.png.a3d060bffea4251d2b460ba986022620.png

 

Was soll mir das sagen?

 

Jemand eine Idee?

 

Link to comment
30 minutes ago, saber1 said:

Was mich aber jetzt wundert ist, das Fix Common Problems einen Error erkannt haben will:

FixCommon.thumb.png.a3d060bffea4251d2b460ba986022620.png

 

Was soll mir das sagen?

 

Jemand eine Idee?

Ja, weil das Murks ist. Bringt dann evtl. auch die lokale DNS Auflösung durcheinander.

Wenn, dann mach zwei getrennte IP-Segmente auf (muss Dein Router aber auch zwei Segmente können und das IP-Forwarding aktivieren nicht vergessen).

Besser, gleich VLANs aktivieren....siehe unten.

 

32 minutes ago, saber1 said:

Hallo zusammen,

 

da auf meinem Mainboard zwei Ethernet-Ports vorhanden sind, wollte ich sie auch beide nutzen.

Allerdings nicht zum Bonding (greife eh nur über WLAN auf die Freigaben zu > Server im Keller), sondern damit ausgesuchte Docker quasi eine "eigene" Leitung bekommen. Zum Streamen mit Jellyfin beispielsweise.

Wenn es Dir um Bandbreite geht ist ein Bond genau richtig (entweder rr oder lacp/802.3ad).

Wenn es auch um Trennung geht, dann noch VLANs aktivieren.

Link to comment

Hm, okay. VLAN unterstützt mein Router (Orbi RBR50) nicht.

 

Also ist eine Trennung ohne VLAN nicht möglich?

 

Wie geschrieben funktioniert es aktuell, wie gedacht:

eth0 bekommt vom Router: 10.0.1.7

eth1 bekommt vom Router: 10.0.1.8

 

Das br1 ist so konfiguriert, das es ab 10.0.1.151 Adressen nutzt.

 

Also besser wieder mit einem NIC arbeiten?

Link to comment

nein, besser wäre mit zwei Netzen zu arbeiten, also zB 10.0.1.0/24 und 10.0.2.0/24.

Ohne VLANs ist es dann so, dass der unraid Host selbst auch beide Routen kennt und auch im forwarding nutzt.

Damit geht traffic innerhalb von unraid, zB zwischen zwei Dockern immer direkt über unraid.

Sieht jetzt wie ein Vorteil aus, aber eben bekommt der Router davon nix mit und kann nicht eine Trennung/Filterung forcieren.

 

Ich denke der Orbi kann das aber auch nicht, 2 Netze?....openWRT kann er auch nicht...kann er denn Bonding/LACP?

Wie gesagt, wenn es erstmal um Bandbreite geht, dann wäre Bonding das Mittel der Wahl.

Wenn das der Orbi nicht kann, dann kann man einen Switch dazwischen setzen, der sowas kann....zB: https://geizhals.de/d-link-dgs-1100-desktop-gigabit-smart-switch-dgs-1100-08v2-a2451470.html?hloc=de

Das Feature ist offiziell 802.1AX (früher hiess es 802.3ad)....

 

Link to comment

Zwei Netze:

Kann man da nicht einfach die Subnetzmaske auf 255.255.0.0 stellen?

 

Ich habe aber irgendwie das Problem noch nicht erkannt.

Jellyfin taucht auch im Router unter seiner IP-Adresse (10.0.1.151) auf.

 

Und nur eth1 ist ja in den globalen Docker Settings für diese IP (oberhalb 10.0.1.150) eingestellt...

 

Was ist hiermit gemeint?

2 hours ago, Ford Prefect said:

Bringt dann evtl. auch die lokale DNS Auflösung durcheinander.

 

Link to comment
1 hour ago, saber1 said:

Zwei Netze:

Kann man da nicht einfach die Subnetzmaske auf 255.255.0.0 stellen?

...um was zu bewirken? Hast Du nicht genug IP-Adressen übrig mit der Maske /24 ?

 

1 hour ago, saber1 said:

Ich habe aber irgendwie das Problem noch nicht erkannt.

Jellyfin taucht auch im Router unter seiner IP-Adresse (10.0.1.151) auf.

 

Und nur eth1 ist ja in den globalen Docker Settings für diese IP (oberhalb 10.0.1.150) eingestellt...

...es geht nicht um die Docker, sondern um den unRaid-Host.

Innerhalb des selben IP-Netzes kommunizieren Hosts im LAN letztlich nicht über die IP, sondern letztlich über die MAC (unter Verwendung von ARP).

Deshalb funktioniert eine Verbindung zwischen zwei Hosts im selben IP-Segment auch ohne Router/Gateway - z.b. bei einer Direktverbindung!!

Unraid hat in Deinem Setup keine eindeutige Adresse in diesem Netz (sondern eben 2)....das gibt Probleme!

 

1 hour ago, saber1 said:

Was ist hiermit gemeint?

...welche IP kommt raus wenn Du //Tower eingibst?

Zu welchem NIC wird die Verbindung dann geführt? Der selbe Host, der zum Zeitpunkt A die erste IP "lernt" und zu einem späteren Zeitpunkt B die zweite IP auflöst kann da schon schön durcheinander kommen. Vor allem wenn auf diesem Host ein Programm läuft, welches multiple, dynamische Sitzungen öffnet (Multi-Channel-SMB zB).

Das kann spassig werden, bis hin zum Datenverlust....auf jeden Fall Frust.

 

Ein Host kann "Multi-Homed" sein, also beliebige Anzahl NICs haben. Aber in jedem Netz bitte nur ein Beinchen (eine IP, eine MAC).

Willst Du mehr Bandbreite brauchst, als die von einem NICs, nimmt man einen Bond...was glaubst Du, wofür das erfunden wurde?

 

1 hour ago, Patty92 said:

In Kombination mit den oben genannten Switch (Layer 2) bräuchte er doch aber auch einen VLAN Fähigen Router oder irre ich mich?

Hier geht es um den Bond, nicht VLANs. Zwei unterschiedliche Dinge.

In einem Bond - und daher muss der Switch das unterstützen - hat die Verbindung aus 1-n physischen Ports nur eine MAC Adresse und sieht nun aus wie ein einzelner Port.

In diesem Szenario mit Link Aggregation wären die ge-bondeten NICs alle aktiv und die verfügbare Gesamt-Bandbreite steigt...aber weiterhin nur 1 Netz, also eine IP (die liegt auf dem bond0, nicht auf eth0 oder br0).

 

Daher schon mehrmals meine Frage an den TE (ohne Antwort), was er überhaupt will....Bandbreite oder Trennung.

 

33 minutes ago, saber1 said:

Die Anregung zu den Settings, wie ich sie habe kommen übrigens hier her:

....und hast sie wohl *nicht* so umgesetzt, oder? 😂

 

Aber auch diese Anregung ist nur ein netter Hack. Wenn Du Ruhe willst in Deinem Netz, mach es nach den Regeln der Kunst.

Die Hardware kostet nicht die Welt.

Also nochmal...was ist das Ziel? A: mehr Bandbreite oder B: Trennung oder 😄 beides? -> A: Bond, B: VLANs, 😄 Bond+VLANs

 

BTW: Im übrigen wird dann 6.10 mit ipvlans wieder ein paar wundersame Blüten schlagen, weil dann eben nicht jeder Docker eine eindeutige MAC- hat, sondern eine MAC mehrere IPs trägt. Je nach Bond-Algo kann das auch nach hinten losgehen und das zieht hier wieder Supportanfragen nach "warum ist das plötzlich nicht mehr so schnell?" kommen werden.

Link to comment
7 minutes ago, Ford Prefect said:

Innerhalb des selben IP-Netzes kommunizieren Hosts im LAN letztlich nicht über die IP, sondern letztlich über die MAC

Das ist klar.

Im Router habe ich von 10.0.1.2 bis 50 die IP‘s statisch (MAC) vergeben.

Die beiden NIC‘s, um die es geht, haben jeweils eigene MAC‘s und bekommen im Router je eine andere IP.

Der Router vergibt erst ab 51 Adressen. Bis 150. Ab 150 übernimmt das Setting für den br1 (Screenshot oben > DHCP Pool 10.0.1.151/25).

 

Das Ziel ist eigentlich Trennung.

Würde gerne den Traffic von Jellyfin nur über eth1 laufen lassen.

Sieht auch so aus, als ob es das so tut.

14 minutes ago, Ford Prefect said:

Daher schon mehrmals meine Frage an den TE (ohne Antwort)

 

4 hours ago, saber1 said:

Also ist eine Trennung ohne VLAN nicht möglich?

 

Link to comment
57 minutes ago, saber1 said:

Das ist klar.

Im Router habe ich von 10.0.1.2 bis 50 die IP‘s statisch (MAC) vergeben.

Die beiden NIC‘s, um die es geht, haben jeweils eigene MAC‘s und bekommen im Router je eine andere IP.

Der Router vergibt erst ab 51 Adressen. Bis 150. Ab 150 übernimmt das Setting für den br1 (Screenshot oben > DHCP Pool 10.0.1.151/25).

....leider bleibe ich bei der Behauptung, das es Dir *nicht* klar ist.

 

In dem Link, der Dir als "Anregung" gedient hat....finde Deinen Fehler!!

image.thumb.png.971491c2feb2654afaa59c438eaec558.png

 

Aber es ist ein Hack.

...führt nur zu weit, das jetzt zu erklären...vielleicht kommst Du selbst drauf.

Richtiger und effizienter wäre es mit einem Bond.

 

57 minutes ago, saber1 said:

Das Ziel ist eigentlich Trennung.

Würde gerne den Traffic von Jellyfin nur über eth1 laufen lassen.

Sieht auch so aus, als ob es das so tut.

Trennung im Sinne von "beide wissen ohne einen Dritten nix voneinander" = Security?  -> Nein!

Trennung im Sinne von Verteilung der Datenströme auf mehrere, parallele Kanäle? -> Ja, Du nennst es Trennung aber es ist eigentlich Aufteilung.

Auch in einem Bond würde eine Verbindung Host1:PortA zu Host2:portB - ohne weitere, besondere Massnahmen - auch immer nur über einen der Links laufen.

Nur das eine zweite/andere Verbindung dann den anderen Link nimmt...uswusw.

 

Das läuft deswegen, weil der Docker eine eigene IP und eine eigene MAC hat.

Mit der zweiten IP (und MAC) in unraid hat das nix zu tun!!!! 

 

Ohne VLANs keine (echte) Trennung...ohne zweiten Link, keine Aufteilung ... mit 2ter IP in Unraid, der Ruf nach Problemen.

Edit: nochmal zusammen: Um Bandbreite zu erhöhen braucht es keine VLANs, für sichere Trennung schon (und dann einen VLAN-fähigen Router oder L3-Switch)....für das, was Du augenscheinlich willst = den Effekt, den Du beschreibst, willst Du einen Bond (oder den Hack von oben, aber dann mach es eben richtig!).

 

Edited by Ford Prefect
Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...