Routing Problem (Asynchron?)

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
rayquaza
Beiträge: 4
Registriert: 25.04.2022 21:25:50

Routing Problem (Asynchron?)

Beitrag von rayquaza » 18.02.2024 19:52:13

Hallo

Ich habe seit einiger Zeit probiert ein (mehr oder weniger sporadisches) Netzwerkproblem zu finden.
Dabei bin ich zu der Idee gekommen, das die Debian interfaces config nicht wie gewünscht bei mir zu arbeiten scheint.

Meine Idee war auf Verbindungen zu antworten auf dem Interface auf dem sie auch eingehen.
Besonders bei TCP Paketen scheinen aber Probleme beim Netzwerkverkehr zu bestehen.

Code: Alles auswählen

----------     Netz A       -----------     Netz A und B      --------      Netz A und B      ------------
Smartphone <------------>   AccessPoint   <===============>   Firewall  <=================>   VM(Proxy)
----------                  -----------                       --------                        VM(Services)
                                                                  ^                           ------------
                                                                  |
                                                                  v
                                  ----------     Internet     --------
                                  Smartphone   <~~~~~~~~~~>   Fritzbox
                                  ----------                  --------
Aus dem Internet bin ich in der Lage mit dem Services fehlerfrei zu kommunizieren die auf der VM mit Interface B, allerdings ist das für Geräte in Netz A eher sporadisch möglich, (kleinere Datenübertragungen wie Text funktionieren, aber größere wie Bilderupload nicht)
Auch ist alles in Ordnung wenn ich über VPN versuche die Verbindung herzustellen.

Der Verbindungsaufbau ist wie folgt:
- Smartphone aus Netz A, Internet oder einem VPN Netz verbindet sich mit der VM(proxy) auf Interface B, welche selbst eine Verbindung von Interface B nach VM(Services) nach Interface B aufbauen soll.

Die Firewall dient ja hier auch als router und routet netz A zu B.
Mir ist jetzt die Idee gekommen, das weil beide VMs ja das Netz A kennen und die Antwort wahrscheinlich direkt versucht wird zu versenden so das asynchron geroutet wird.

Hier ist die /etc/iproute2/rt_tables

Code: Alles auswählen

#
# reserved values
#
255	local
254	main
253	default
0	unspec
#
# local
#
#1	inr.ruhep

100	intern
Und die /etc/network/interfaces

Code: Alles auswählen

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

auto enp1s0
#iface enp1s0 inet dhcp
iface enp1s0 inet static
  address 10.a.a.49
  netmask 255.255.255.0
  network 10.a.a.0
  #gateway 10.a.a.1
  #dns-nameservers 10.a.a.1
  up ip route add 10.a.a.0/24 dev enp1s0 src 10.a.a.49 table intern
  up ip route add default via 10.a.a.1 dev enp1s0 table intern
  up ip rule add from 10.a.a.0/24 table intern
  up ip rule add to 10.a.a.0/24 table intern

auto enp7s0
#iface enp7s0 inet dhcp
iface enp7s0 inet static
  address 10.b.b.24
  netmask 255.255.255.0
  network 10.b.b.0
  gateway 10.b.b.1
  dns-nameservers 10.b.b.1
  up ip route add 10.b.b.0/24 dev enp7s0 src 10.b.b.24 table main
  up ip route add default via 10.b.b.1 dev enp7s0 table main
  up ip rule add from 10.b.b.24/24 table main
  up ip rule add to 10.b.b.24/24 table main

Kann mir hier jemand helfen, dieses merkwürdige Verhalten weiter einzugrenzen bzw zu beheben?
Sollten weitere Informationen notwendig sein, so werde ich diese selbständig zur Verfügung stellen.

Vielen Dank

Benutzeravatar
unitra
Beiträge: 638
Registriert: 15.06.2002 21:09:38
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: 127.128.129.130

Re: Routing Problem (Asynchron?)

Beitrag von unitra » 19.02.2024 09:08:13

Die Ausgabe auf das Wesentliche bereinigt.

Der Router hat
2 NIC's
2 IP routing tables
---> main
---> intern

Beide IP Routing Tabellen funktionieren unabhängig. Irgendwo in dem Regelwerk, ich vermute die Informationen sind hier nicht vollständig, wenn es funktioniert, gibt es ein Packetfilter, oder eine Funktion nenne ich da mal, die die MAIN IP routing Tabelle in INTERN IP routing Tabelle überführt oder vice-versa, via Policy Based Routing (PBR). Egal.Tut nichts zur Sache hier.

Wenn man beide Interfaces (NIC'S), die oben gelisteten in EINE IP Routing Tabelle setzt, also entweder main oder intern. Dann ist das beschriebene "Routing Problem (Asynchron)?", es ist kein Asynchrones Routing, behoben.

Viel Erfolg
rayquaza hat geschrieben: ↑ zum Beitrag ↑
18.02.2024 19:52:13

Code: Alles auswählen

#
# reserved values
#
255	local
254	main <<<
[...]
100	intern <<<
Und die /etc/network/interfaces

Code: Alles auswählen

source /etc/network/interfaces.d/*
...
auto enp1s0
iface enp1s0 inet static
 ....
  up ip route add 10.a.a.0/24 dev enp1s0 src 10.a.a.49 table intern
  up ip route add default via 10.a.a.1 dev enp1s0 table intern
  up ip rule add from 10.a.a.0/24 table intern
  up ip rule add to 10.a.a.0/24 table intern

....
iface enp7s0 inet static
 ....
   up ip route add 10.b.b.0/24 dev enp7s0 src 10.b.b.24 table main
  up ip route add default via 10.b.b.1 dev enp7s0 table main
  up ip rule add from 10.b.b.24/24 table main
  up ip rule add to 10.b.b.24/24 table main
...

Benutzeravatar
unitra
Beiträge: 638
Registriert: 15.06.2002 21:09:38
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: 127.128.129.130

Re: Routing Problem (Asynchron?)

Beitrag von unitra » 19.02.2024 10:11:06

Nachtrag

Es gibt 2 Möglichkeiten das zu Konfigurieren:

Low Layer Lösung

* Wenn man beide Interfaces (NIC'S), die oben gelisteten in EINE IP Routing Tabelle setzt, also entweder main oder intern. Dann ist das beschriebene "Routing Problem (Asynchron)?", es ist kein Asynchrones Routing, behoben.

High Layer Lösung

* Dieses IP Script da wo die IP Tabellen, ich sage nicht fachspezifisch, "verheiratet" werden. main<->intern, da könnte man das auch fixen, aber da es hier nirgendwo erscheint. Kann ich nichts dazu sagen.

Wenn man nur eine Routing Table hat, ist das alles einfacher. Ich sehe keinen technischen Grund 2 IP Tabellen zu haben, wenn eine FW, oder IP Packetfilter auf dem Router läuft, macht alles nur unnötig komplex, meiner Meinung nach.

Viel Erfolg
rayquaza hat geschrieben: ↑ zum Beitrag ↑
18.02.2024 19:52:13

Code: Alles auswählen

#
# reserved values
#
255	local
254	main <<<
[...]
100	intern <<<
Und die /etc/network/interfaces

Code: Alles auswählen

source /etc/network/interfaces.d/*
...
auto enp1s0
iface enp1s0 inet static
 ....
  up ip route add 10.a.a.0/24 dev enp1s0 src 10.a.a.49 table intern
  up ip route add default via 10.a.a.1 dev enp1s0 table intern
  up ip rule add from 10.a.a.0/24 table intern
  up ip rule add to 10.a.a.0/24 table intern

....
iface enp7s0 inet static
 ....
   up ip route add 10.b.b.0/24 dev enp7s0 src 10.b.b.24 table main
  up ip route add default via 10.b.b.1 dev enp7s0 table main
  up ip rule add from 10.b.b.24/24 table main
  up ip rule add to 10.b.b.24/24 table main
...

rayquaza
Beiträge: 4
Registriert: 25.04.2022 21:25:50

Re: Routing Problem (Asynchron?)

Beitrag von rayquaza » 19.02.2024 19:24:03

Ich hatte die Zweite Tabelle eingeführt um damit mein Problem zu lösen, was allerdings nicht von Erfolg gekrönt war.

Ich habe jetzt in den VMs, die Konfiguration so angepasst, das jetzt nur noch eine Tabelle genutzt wird. (254 main)
Allerdings habe ich weiterhin das gleiche Problem. Nach rund 288KB Datentransfer(upload) scheint mit die Verbindung abzubrechen, bzw kommt keine Rückmeldung mehr zurück und es kommt zum Timeout.
Der Router hat
2 NIC's
2 IP routing tables
---> main
---> intern
Ja mein Router/Firewall hat mehrere NIC's (z.B. 10.a.a.1 und 10.b.b.1).
Allerdings gibt es auf diesen Gerät nur eine Routing Tabelle.

Die von mir geposteten Konfigurationen stammen von der VM(proxy) und ist mit der config von der VM(services) von der Logik her identisch (nur unterschiedliche IP's).

Aus dem journalctl kann ich zudem noch bei den VM's folgendes entnehmen:

Code: Alles auswählen

Feb 19 18:27:00 proxy systemd[1]: Starting networking.service - Raise network interfaces...
Feb 19 18:27:00 proxy ifup[994]: RTNETLINK answers: File exists
Feb 19 18:27:00 proxy ifup[987]: ifup: failed to bring up enp1s0
Feb 19 18:27:00 proxy ifup[999]: RTNETLINK answers: File exists
Feb 19 18:27:00 proxy ifup[987]: ifup: failed to bring up enp7s0
Feb 19 18:27:00 proxy systemd[1]: networking.service: Main process exited, code=exited, status=1/FAILURE
Feb 19 18:27:00 proxy systemd[1]: networking.service: Failed with result 'exit-code'.
Feb 19 18:27:00 proxy systemd[1]: Failed to start networking.service - Raise network interfaces.
Nach dem Boot steht das Netzwerk dann aber doch, nur halt mit dem Fehler.

Interersanter Weise muss ich hier feststellen, das ich nur in die Uploadrichtung vom Endgerät aus diese Probleme habe. Im Download ist kein Problem erkennbar.

Antworten