Von außen komme ich ohne Probleme an die VM.
Aber ich benötige Zugriff auf die Shares des Wirts-NAS.
Ich habe die Anleitung zum Einrichten einer Bridge gefunden. Leider sagt die nichts darüber, warum ich wo welche IP eintragen muß. Oder ob ich die IP der VM ändern muß etc. Auch im Netz habe ich dazu nichts deutschsprachiges gefunden, allenfalls Geräte-spezifische Anleitungen die mir nichts nützen.
Kann mir jemand da eine Kurzanleitung geben ? Und ggf. einen Link, wo das Konzept umfassend beschrieben wird? Eine Übersetzungsmaschine zu bemühen ist ja nicht das Problem, wenn ich denn erst mal weiß WO ich suchen muß.
Alternativ habe ich noch die Möglichkeit, den 2. NIC zu verwenden. Wäre das einfacher oder ist das wegen des erforderlich anderen Subnetzes nur die 2. Wahl?
Ja das ist doch dann schon die korrekte Anleitung.
Das ergibt sich ja eigentlich aus der Anleitung:
Dein physisches Interface hat die IP 192.168.8.180 und diese soll am, Ende der Bridge zugeordnet sein. Also überträgst du entsprechend der Anleitung die IP vom physischen Interface zur Bridge.
Diese Hinweise natürlich beachten:
Stop running apps before proceeding with network interface changes.
Power off any running virtual machines (VMs) before making interface IP changes. Remove active NIC devices.
Nein, du musst aber der VM natürlich dann die Bridge als NIC zuweisen und nicht dein physisches Interface. Je nach Konfiguration (DHCP etc.) kann sich die IP der VM ändern. Wenn das nicht erwünscht ist musst du in der VM eben die .179 als statische IP wiederzuweisen.
Das mit dem Einrichten der Bridge entsprechend der Anleitung hat funktioniert.
Aber das Zuweisen der Bridge in der VM ist mir noch unklar.
Die /etc/network/interfaces habe ich so angepasst:
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
x allow-hotplug ens3
allow-hotplug br-8ee3c6e62d48
# iface ens3 inet static
iface br-8ee3c6e62d48 inet static
address 192.168.8.179/24
gateway 192.168.8.1
# dns-* options are implemented by the resolvconf package, if installed
dns-nameservers 192.168.8.1
dns-search priv.dom
Danach sieht die Netzwerkonfiguration nach Eingabe von “ip a” so aus:
2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 00:a0:98:58:f3:b3 brd ff:ff:ff:ff:ff:ff
altname enp0s3
inet 192.168.8.179/24 brd 192.168.8.255 scope global ens3
valid_lft forever preferred_lft forever
inet6 fe80::2a0:98ff:fe58:f3b3/64 scope link
valid_lft forever preferred_lft forever
4: br-8ee3c6e62d48: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default
link/ether 02:42:56:b6:f6:a2 brd ff:ff:ff:ff:ff:ff
inet 172.18.0.1/16 brd 172.18.255.255 scope global br-8ee3c6e62d48
valid_lft forever preferred_lft forever
inet 192.168.8.179/24 brd 192.168.8.255 scope global br-8ee3c6e62d48
valid_lft forever preferred_lft forever
inet6 fe80::42:56ff:feb6:f6a2/64 scope link
valid_lft forever preferred_lft forever
Aber die Freigaben des TrueNAS-Hosts erreiche ich damit nicht (fehlende Route). Irgenwas mache ich da falsch - oder feht da ausschließlich die Route? Was mich wundert, sind die Adressen der Bridge.
Wozu eine Bridge? Deine beiden Kisten sind doch im gleichen Netz und können sich daher doch auch gegenseitig sehen. Wenn Du nun Zugriffsproblem von der Linux-VM auf die Shares der TN hast, dann liegt dies an fehlerhaften Freigaben und Rechten (und u.U. an einer lokalen FW) - eine Bridge ändert daran dann auch nichts.
Du solltest nicht direkt in der Konfiguration arbeiten, sondern erstmal schauen.
Du musst ens3 als NIC in der VM entfernen und dafür die Bridge hinzufügen. Ich habe die GUI gerade nicht vor mir, wahrscheinlich wäre da sogar am einfachsten bei gleicher MAC Adresse einfach nur ens3 durch br0 zu tauschen. Also bei NIC to attach (unter devices/nic) dann die Bridge einfach eingeben.
Edit: lass Linux die Netzwerk Geschichte erstmal alleine konfigurieren bevor du da etwas änderst.
Ich bin mir zu 99% sicher dass das mit einem Interface nur mit Bridge geht. So verstehe ich es auch aus der Anleitung und so funktioniert es bei mir auch. Die Ersteinrichtung ist bei mir länger her, allerdings lief es iirc ohne Bridge nicht.
Um die Bridge der VM zuzuordnen musst du im Truenas gui die Devices bei deiner VM bearbeiten und statt der Netzwerkkarte die Bridge bei Netzwerkgeräten eintragen.
Also VM runterfahren, Devices bearbeiten und dann die VM wieder starten.
Ok, wäre dann eine Eigenheit des TN-Hypervisiors - damit habe ich zugegeben keine Erfahrung. Bei allen Hypervisioren, welche ich kenne, läuft das über eine NIC problemlos, wenn sich die VMs im gleichen Netzwerksegment befinden. Eine Bridge benötigt man nur dann (und wie der Name es schon sagt) als “Brücke”, wenn man verschiedene Netzwerke/-segment (Kollisionsdomänen) verknüppern will/muss.
Da beide IP’s an ein und demselben NIC hängen, geht es nicht anders.
Und davon abgesehen, es liegt offenbar nicht an Zugriffsrechten, denn soweit komme ich ja erst gar nicht sondern es kommt die Fehlermeldung der fehlenden Route. Sprich, das Zielsystem ist nicht erreichbar. Mir ist nur unklar, wie die Route aussehen muß.
Soweit ich das im Netz herausgefunden habe, ist das keine Eigenheit des KVM sondern eine, na ja, sagen wir mal feste Größe. Das wird anders kaum richtig funktionieren, weil ein Systen pro Netzwerk/IP nur mit einer NIC/MAC zurechtkommt. Hängt, wenn ich das richtig verstanden habe, mit dem Netzwerkstack zusammen.
Und da steht bei dir dann ja ens3 und da soll deine Bridge rein. Oder du löscht beide NIC Einträge, fügst einen neuen Eintrag hinzu und machst da die bridge rein. [1]
Normalerweise ist da überhaupt nichts an der Route zu ändern. Wie gesagt, lass Linux das alles machen. Und wenn dir dann am Ende die IP nicht passt, kannst du eine statische IP vergeben.
Das kommt jetzt drauf an was du unter interfaces bereits geändert hast. Entweder spielst du das backup von /etc/network/interfaces ein, was du hoffentlich vorher gemacht hast. Und änderst dann in deinem NIC was vorher ens3 war auf die bridge, oder aber du entfernst beide NICs, fügst ein neues hinzu und hoffst das linux das dann erstmal ordentlich konfiguriert. Ist halt die Frage wie sehr du an der .179 hängst. ↩︎
welche sich der Hypervisior (Xen) und die vier VMs (alle irgendwelche Linuxe) teilen, denn alle haben ihre eigene IP - z.T. fest, z.T. per DHCP zugewiesen, aber alle in der gleichen Broadcast-Domäne. Daher können sie sich auch alle sehen und bei Bedarf aufeinander zugreifen - alles nur eine Frage der Rechte. Eine (virtuelle) extra Bridge ist ebensowenig erforderlich, wie das Anlegen von Routen. Nun erzähl mir aber bloß nicht, das wäre bei ESXi, Proxmox, Hyper-V, etc. anders
Routing wird i.d.R. nur benötigt, wenn Netzwerkgrenzen überschritten werden sollen, das ist bei Dir aber nicht der Fall. Wieso Du nun eine Fehlermeldung wg. fehlender Route erhälst , ist dies beim Zugriff auf jede Netzwerkresource so, oder nur bei den TN-Shares?
Stimmt, hatte mir das beim Lesen falsch gemerkt. Mehrere IP’s aus demselben Subnetz auf einem NIC sind was anderes als mehrere NIC’s mit IP’s aus demselben Subnetz in einem Rechner.
Das mit der fehlenden Route kam anscheinend irgendwo aus der Ecke vom mount-Befehl. Hatte die CIFS-utils vergessen zu installieren. Danach ging es anstandslos.
Habe jetzt die Linux-VM noch mal neu aufgesetzt. Zuvor bereits auf TN die Bridge, wie in der Anleitung beschrieben, eingestellt. Brauchte nirgens eine Route eintragen. Funtioniert alles ohne weiteres Zutun so wie es sein soll.