[gelöst] systemd Fallentscheidung: Laptop an 3 Anschlüssen

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
Benutzeravatar
detix
Beiträge: 1699
Registriert: 07.02.2007 18:51:28
Wohnort: MK

[gelöst] systemd Fallentscheidung: Laptop an 3 Anschlüssen

Beitrag von detix » 07.06.2018 09:15:36

Kann man 3 Anschlussmöglichkeiten in einer einzigen /etc/systemd/network/*.network Datei unterbringen?

1. Laptop ist am Zweitanschluss meiner FritzBox, Internet mit dhcp und ssh funktioniert
2. Laptop ist über WLAN verbunden, Internet mit dhcp und ssh funktioniert
3. Laptop ist am Hub Switch des Desktops angeschlossen, eine statische IP ist hier wohl erforderlich, und zusätzlich noch IP forwarding und ein iptables Befehl auf dem Desktop, Internet und ssh funktioniert

Gesucht wird also etwas in der Art if-then-else, genommen wird was gerade verfügbar ist, wenn dann noch der Laptop vom Desktop aus per ssh in allen Fällen mit „ssh peter@laptop” ansprechbar wäre...
In der /etc/hosts ist Letzteres bei 3 unterschiedlichen IPs leider nicht möglich.
Zuletzt geändert von detix am 16.06.2018 12:13:35, insgesamt 4-mal geändert.
Gruß an alle Debianer, und immer daran denken:
Macht ohne Haftung funktioniert nicht!

Benutzeravatar
MSfree
Beiträge: 10686
Registriert: 25.09.2007 19:59:30

Re: systemd Fallentscheidung: Laptop an 3 Anschlüssen

Beitrag von MSfree » 07.06.2018 11:23:12

detix hat geschrieben: ↑ zum Beitrag ↑
07.06.2018 09:15:36
3. Laptop ist am Hub des Desktops angeschlossen, eine statische IP ist hier wohl erforderlich...
Was soll das für ein "Hub" sein?

Netzwerkhubs gibt es schon seit einer gefühlten Ewigkeit mehr, die letzten ihrer Art konnte nur 100MBit/s. Eine statische IP ist an so einem "Hub" aber definitiv nicht nötig.

Benutzeravatar
jph
Beiträge: 1049
Registriert: 06.12.2015 15:06:07
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Greven/Westf.

Re: systemd Fallentscheidung: Laptop an 3 Anschlüssen

Beitrag von jph » 07.06.2018 21:11:11

detix hat geschrieben: ↑ zum Beitrag ↑
07.06.2018 09:15:36
Kann man 3 Anschlussmöglichkeiten in einer einzigen /etc/systemd/network/*.network Datei unterbringen?

1. Laptop ist am Zweitanschluss meiner FritzBox, Internet mit dhcp und ssh funktioniert
2. Laptop ist über WLAN verbunden, Internet mit dhcp und ssh funktioniert
Das dynamische Verwalten von Netzwerkverbindungen ist keine der Stärken von systemd. Schau dir besser mal NetworkManager an; der kann per CLI konfiguriert werden und bindet sich in die meisten DE ein.
detix hat geschrieben: ↑ zum Beitrag ↑
07.06.2018 09:15:36
3. Laptop ist am Hub Switch des Desktops angeschlossen, eine statische IP ist hier wohl erforderlich, und zusätzlich noch IP forwarding und ein iptables Befehl auf dem Desktop, Internet und ssh funktioniert
Der Switch des Desktops? Was soll das sein? Ein mit der Fritzbox verbundener Switch, an dem auch dein Desktop hängt? Dann brauchst du kein IP Forwarding etc.

Benutzeravatar
detix
Beiträge: 1699
Registriert: 07.02.2007 18:51:28
Wohnort: MK

Re: systemd Fallentscheidung: Laptop an 3 Anschlüssen

Beitrag von detix » 08.06.2018 09:34:58

Soetwas?
https://www.tp-link.com/de/products/det ... 1005D.html
Aber vielen Dank für eure Hinweise, da sonst nichts kommt ist das Thema für mich erledigt, entschuldigt die Störung... :oops:
Gruß an alle Debianer, und immer daran denken:
Macht ohne Haftung funktioniert nicht!

Benutzeravatar
MSfree
Beiträge: 10686
Registriert: 25.09.2007 19:59:30

Re: systemd Fallentscheidung: Laptop an 3 Anschlüssen

Beitrag von MSfree » 08.06.2018 09:59:20

detix hat geschrieben: ↑ zum Beitrag ↑
08.06.2018 09:34:58
Soetwas?
https://www.tp-link.com/de/products/det ... 1005D.html
Ich hoffe, daß der Switch mit einem LAN-Kabel mit der Fritzbox verbunden ist. In dem Fall ist nämlich
1. Laptop ist am Zweitanschluss meiner FritzBox, Internet mit dhcp und ssh funktioniert
3. Laptop ist am Hub Switch des Desktops angeschlossen, eine statische IP ist hier wohl erforderlich,
das gleiche. Du Konfiguration braucht sich dann nämlich nicht zu unterscheiden. Sprich 3. und 1. können beide einfach mit DHCP gelöst werden, statische IP und Portforwarding sind nicht nötig.

Benutzeravatar
smutbert
Moderator
Beiträge: 8315
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: [erledigt] systemd Fallentscheidung: Laptop an 3 Anschlüssen

Beitrag von smutbert » 08.06.2018 23:28:09

Wegen einem (möglichst automatischen) Umschalten würde ich wie jph network-manager empfehlen.

und nachdem 1. und 3. vermutlich dasslebe sind, hättest du damit, wenn du die WLAN-Schnittstelle (2.) genauso wie das kabelgebundende Netzwerkinterface per DHCP konfigurierst und der Router außerdem DNS für die lokal angemeldeten Clients bietet, eigentlich eh schon alles was du willst.


Wenn der Router die Namen im lokalen Netz dagegen nicht auflösen kann, müsstest du dir etwas anderes überlegen, zum Beispiel
  • könntest du den DHCP- und DNS-Server auf einem anderen Computer laufen lassen, der dann allerdings immer laufen müsste (beides auf einmal und einfach zu konfigurieren bietet zum Beispiel Debiandnsmasq).
  • statische IP-Adressen und Einträge in /etc/hosts, wobei 1. und 3. wieder dasselbe und damit dieselbe IP-Adresse wären und ich kein Problem sehe auch für 2. dieselbe IP-Adresse zu vergeben, solange man zu vermeiden sucht, dass 1./3. und 2. gleichzeitig aktiv sind (network-manager aktiviert imho nicht mehrere Verbindungen gleichzeitig — da wäre das also ok).
  • „irgendwelche“ IP-Adressen und Namensauflösung über mdns
    Dabei ist es egal ob du die IP-Adressen über DHCP, statisch oder gar per IPv4ll (zB avahi-autoipd) vergibst.
    Es muss nur auf den Computern, deren Name aufgelöst werden soll, Debianavahi-daemon und auf denen, die den Namen auflösen können sollen, Debianlibnss-mdns installiert sein.
    Um die lokalen Rechner per Namen zu erreichen, musst du dann nur .local an den Hostnamen hängen, zB »ssh peter@laptop.local«

ich habe schon ziemlich viele Varianten durchprobiert, unter anderem:
  • zuerst DHCP ohne Namensauflösung
    Also das was mein Router von Haus aus geboten hat, aber das ist aus offensichtlichen Gründen unpraktisch.
  • statische IP-Adressen und Einträge in /etc/hosts
    Bei Änderungen wird diese Variante sogar schon mit wenigen Geräten lästig und nicht bei allen Geräten lässt sich die /etc/hosts einfach (oder überhaupt) anpassen (Drucker, Android,...).
  • DHCP und mdns
    Das ist zwar einfach zu administrieren, aber es hat nicht immer 100%ig zuverlässig funktioniert und vor allem nicht mit allen Geräten, zum Beispiel kann Android nichts mit mdns anfangen.
  • schließlich ein eigenes System als Router und AP mit dnsmasq für DHCP und DNS
    Ob da nun dnsmasq oder ein anderer DHCP- und DNS-Server läuft und ob es ein selbst zusammengestelltes System ist oder ein fertiger Router/AP, der diese Funktionen bietet ist egal.
    Es ist auf jeden Fall mit Abstand die bequemste Lösung. Es funktioniert mit allen Geräten/Betriebssystemen, benötigt auf den Clients weder exotische Einstellungen noch spezielle Software und man muss nichts unternehmen um es aktuell zu halten.

dufty2
Beiträge: 1709
Registriert: 22.12.2013 16:41:16

Re: [erledigt] systemd Fallentscheidung: Laptop an 3 Anschlüssen

Beitrag von dufty2 » 10.06.2018 09:48:16

Möglicherweise ist gemeint, dass der Desktop mit einem Port an der FritzBox, mit einem zweiten dann am kleinen Switch.
Könntest auf dem Desktip eine Bridge einrichten, ihm eine feste Bridge-IP verpassen und
dann wären Szenarien 1 und 3 wirklich gleich.

Benutzeravatar
detix
Beiträge: 1699
Registriert: 07.02.2007 18:51:28
Wohnort: MK

Re: [erledigt] systemd Fallentscheidung: Laptop an 3 Anschlüssen

Beitrag von detix » 10.06.2018 18:53:27

Nach zig Versuchen...
Und nein, kein network-manager, kein wicd oder sonstwas, das muss auch ohne gehen...
devices sind auf beiden Rechnern als interNet benannt, Netzwerkarte des Desktops hat die IP 192.168.0.2
Konfiguriert ist der Laptop momentan per systemd-network Dateien so:

Code: Alles auswählen

/etc/systemd/network/40-dhcp.network:
[Match]
Name=interNet
[Network]
DHCP=yes
[DHCP]
RouteMetric=10
[Network]
Address=192.168.0.10/24
Gateway=192.168.0.2

/etc/systemd/network/50-wlan.network:
[Match]
Name=wlan0
[Network]
DHCP=yes
[DHCP]
RouteMetric=20
Ob richtig oder falsch, mit diesen Einträgen funktioniert zumindest Variante3 (Laptop ist am Switch des Desktops angeschlossen) sofort beim Neustart des Laptops.
Debianavahi-daemon und Debianlibnss-mdns sind bei debian scheinbar automatisch installiert und von Haus aus schon richtig konfiguriert, für ssh musste ich hier garnichts verändern oder anpassen und Internet kann auch funktionieren, Desktop:

Code: Alles auswählen

$ ssh peter@laptop.local
funktionierte auf Anhieb völlig problemlos, vielen Dank dafür smutbert.
Um den Laptop damit auch ins Internet zu bringen, muss ich hier entgegen anderer Meinung diese Befehle auf dem Desktop ausführen:

Code: Alles auswählen

# echo 1 > /proc/sys/net/ipv4/ip_forward
# iptables -t nat -A POSTROUTING -o interNet -j MASQUERADE
Bei den beiden anderen Varianten macht eigentlich nur die default Route Probleme
1. Laptop ist am Zweitanschluss meiner FritzBox, „ip r” sagt (WLAN war eingeschaltet):
default via 192.168.0.2 dev interNet proto static
default via 192.168.178.1 dev interNet proto dhcp src 192.168.178.21 metric 10
default via 192.168.178.1 dev wlan0 proto dhcp src 192.168.178.22 metric 20
2. Laptop ist nur über WLAN verbunden, „ip r” sagt:
default via 192.168.0.2 dev interNet proto static linkdown
default via 192.168.178.1 dev wlan0 proto dhcp src 192.168.178.22 metric 20
In beiden Fällen ist die default Route falsch, läßt sich aber einfach beheben:

Code: Alles auswählen

# route del default
Der ssh Zugang funktioniert bei den 3 Möglichkeiten dann tatsächlich immer mit demselben og Befehl, eine Problematik ist damit gelöst, vielleicht auch beide: ein kleines Skript könnte das Routing zurechtbiegen...
War ein wenig „angefressen” aufgrund der ersten 2 Antworten, nehme das erledigt im Titel erstmal wieder zurück.
Gruß an alle Debianer, und immer daran denken:
Macht ohne Haftung funktioniert nicht!

Benutzeravatar
smutbert
Moderator
Beiträge: 8315
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: [erledigt] systemd Fallentscheidung: Laptop an 3 Anschlüssen

Beitrag von smutbert » 11.06.2018 22:18:41

detix hat geschrieben: ↑ zum Beitrag ↑
10.06.2018 18:53:27
[…]
Um den Laptop damit auch ins Internet zu bringen, muss ich hier entgegen anderer Meinung diese Befehle auf dem Desktop ausführen:
[…]
Das klingt für mich so als würde dufty2s Vermutung stimmen (tut sie das?).
Wenn ja, wäre vielleicht auch interessant warum du das Notebook, bzw, den Switch so anschließt und falls du das beibehalten willst, würde mir dufty2s Lösung (die Bridge) am ehesten zusagen.

192.168.0.2 ist die Fritzbox und
192.168.178.1 der Desktop?
Wenn es um Netzwerke geht, bin ich ja ohnehin bestenfalls unerfahren (schlimmstenfalls ahnungslos), aber ich verstehe deine Konfiguration auch nicht so ganz

Code: Alles auswählen

[Match]
Name=interNet
[Network]
DHCP=yes
[DHCP]
RouteMetric=10
[Network]
Address=192.168.0.10/24
Gateway=192.168.0.2
Du aktivierst zwar DHCP, aber vergibst trotzdem eine statische IP-Adresse?

Außerdem, wenn mich meine Netzwerkahnunglosigkeit nicht in die Irre führt, dann sind die beiden IP-Adressen, die das Interface "interNet" bekommt, in unterschiedlichen Subnetzen, von denen nur eines gerade zugänglich sein kann, je nachdem wo der Laptop gerade dran hängt (Switch oder Fritzbox)?
(Um zwei Subnetzte zu verbinden braucht man einen Router und genau das machst du ja auf dem Desktop-PC. Wäre alles im gleichen Subnetz würde eine Bridge genügen und die ließe sich auch mit systemd-networks konfigurieren.)

Ist das mit den 2 Subnetzen Absicht?

reox
Beiträge: 2459
Registriert: 06.06.2006 22:09:47
Lizenz eigener Beiträge: MIT Lizenz

Re: [erledigt] systemd Fallentscheidung: Laptop an 3 Anschlüssen

Beitrag von reox » 12.06.2018 08:57:02

smutbert hat geschrieben: ↑ zum Beitrag ↑
11.06.2018 22:18:41
Ist das mit den 2 Subnetzen Absicht?
Naja kann man so machen, allerdings nicht mit /24 sondern nur mit einem /16.
Ich schätze das NAT muss man aufdrehen, damit er zwischen dem 192.168.0.0/24 und 192.168.178.0/24 übersetzt.

dufty2
Beiträge: 1709
Registriert: 22.12.2013 16:41:16

Re: systemd Fallentscheidung: Laptop an 3 Anschlüssen

Beitrag von dufty2 » 12.06.2018 21:29:37

Ohne jetzt eine zu besitzen ist die 192.168.178.1 die default-IP einer Fritzbox, sowohl per lan als auch wlan.
192.168.0.2 ist die IP der Desktops auf der dem kleinen switch zugewandten Seite.

Was NAT betrifft, lässt sich das sogar verkleinern, auf /32 ;)
Unter Linux als MASQUERADE bekannt, i.a. spricht man von PAT (Port Address Translation).

Wenn die beiden Subnetze beibehalten werden sollen (also keine bridge),
dann würde sich noch anbieten, auf dem Desktop ein DHCP-Serverchen einzurichten,
welcher nur auf der 192.168.0.2 lauscht.
Dann kann man sich das

Code: Alles auswählen

[Network]
Address=192.168.0.10/24
Gateway=192.168.0.2
Anhängseln sparen und hätte dann im Fall 1&2 nicht diese Doppel-Moppel default-route.

Benutzeravatar
detix
Beiträge: 1699
Registriert: 07.02.2007 18:51:28
Wohnort: MK

Re: systemd Fallentscheidung: Laptop an 3 Anschlüssen

Beitrag von detix » 16.06.2018 12:11:26

Um das mal zum Abschluss zu bringen (hat halt etwas gedauert):
Habe mich aufgrund von smutberts Vorschlägen für Debiandnsmasq entschieden, dies scheint tatsächlich die bequemste Lösung zu sein, einzige Änderung in /etc/dnsmasq.conf:
dhcp-range=192.168.0.8,192.168.0.12 # muss wohl irgendwie sein...
/etc/hosts:
192.168.0.10 laptop
/etc/resolv.conf (war und kann ein Symlink auf /run/systemd/resolve/resolv.conf bleiben):
nameserver 192.168.178.1 # ist die FritzBox
mehr hats garnicht gebraucht, die Zuweisung in /etc/systemd/network/40-dhcp.network mit:
[Network]
Address=192.168.0.10/24
Gateway=192.168.0.2
ist damit unnötig und ich konnte sie wieder löschen, perfekt!
Herzlichen Dank smutbert und dufty2 für eure ausführliche Antwort und auch an die anderen Beteiligten, Thema ist gelöst.
Gruß an alle Debianer, und immer daran denken:
Macht ohne Haftung funktioniert nicht!

Antworten