Namespaced Netzwerkstack braucht im globalen Stack anderen Default

zerofool

New member
Hallo....
Noch nicht einmal Fragen beantwortet und schon eine schwere Nuss zum knacken.

Ich habe folgenden Use-Case:
Ich will in meinem globalen Setup hin und wieder eine andere Netwerkkonfiguration nutzen.
d.h.
Ich bin per VPN verbunden und will ein paar Befehle mit einem anderen Verbindungssetup nutzen.
Schon alleine damit ich nicht meine ganze Desktopumgebung in einen Netzwerknamespace schieben muss.
Obwohl das mittels firejail und modifizierten .desktop-Dateien machbar ist, oder aber man startet den Window/Desktop-Manager gleich in einem vorkonfigurierten Namespace, was in .service dank NetworkNamespacePath (man systemd.exec) machbar ist.

Aber ich hoffe das dass mittels routing machbar ist.
Wenn ich im global Namespace bin und nur den Link habe und mich mit dem Netzwerk verbinde(Wlan deshalb geht keine Bridge und ich will es generell halten) kann ich einen Namespace anlegen und mich von Global in den Namespace verbinden und umgekehrt. Ich kann aus dem Namespace heraus auch auf das Internet zugreifen.

Problematisch wird es wenn ich mich im Globalen Namespace mit einem VPN verbinde.
Dann verschwinden meine Packete(ping) vom Namespace ins Nirgendwo.

Ich vermute sehr stark das die Regel `0.0.0.0/1 via 10.7.1.1 dev tun0` verantwortlich ist.
Selbst wenn ich die Regeln von vor der VPN-Verbindung in einer eigenen Routing-Policy "/etc/iproute2/rt_tables" reproduziere, und source- und destination-routing einbringe, bricht die Verbindung ab sobald ich mich mit dem VPN verbinde.
Wenn ich den VPN im Namespace starte habe ich das Problem nicht. Dies arbeitet wie erwartet ich will aber gerne ein paralleles Routing durch den gleichen Link haben.
Ich wermute aber das dieses X:Y-Mapping, wenn ueberhaupt, nicht ohne NAT funktioniert, was ich gerne der Einfachheit halber, vermeiden will.
Bevor ich nun mein gesamtes System in einen Netzwerknamespace schiebe dachte ich mir, ich frage mal nach.
Ist es machbar, und wenn ja wie, das ich aus einem Namespace heraus durch den normalen Uplink(wlan0) gehe und der globale Namespace mittels tun0 per VPN ins Internet geht?
Dieser Thread hier macht aber nicht viel Mut. Hier wurde etwas Vergleichbares versucht.

Ich habe mal mein Skript zur Reproduktion angehangen.
Freue mich auf Feedback.

Fool

P.s.: Sollte hier mal in naher Zukunft jemand kommen mit einem anderen Nick und Fragen beantworten und dieser Nick nicht protestieren, dann bin ich das, hab PW verlegt und Moeglichkeit zum Reset. Hoffe aber das dies nicht noetig ist, weil das Problem gut genug beschrieben wurde, oder das Login lange genug gueltig ist.

P.P.S.: Gibt es eigentlich auch eine Buchempfehlung wo ich mich noch etwas tiefer einarbeiten kann. So gibt es z.B. fuer Bridges den Parameter `cost` der in den Manpages aber nicht weiter beschrieben wird.
 

Anhänge

  • minimal.txt
    995 Bytes · Aufrufe: 2
Zuletzt bearbeitet:
Oben