[gelöst] Routing Problem Client zu Server1 zu Server2

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
Benutzeravatar
joe2017
Beiträge: 1298
Registriert: 07.08.2017 14:29:51

[gelöst] Routing Problem Client zu Server1 zu Server2

Beitrag von joe2017 » 16.12.2020 13:21:12

Hallo zusammen,

ich weiß, hierzu gibt es dutzende Anleitungen. Jedoch hänge ich gerade fest und komm nicht weiter. Vielleicht sieht jemand was ich vergessen habe.
Ich möchte lediglich von meinem Client (10.20.0.0/16) über den Server1 in das Netz von Server2 (10.40.0.0/16) zugreifen.
Der Client (eth0) steckt mit dem Server1 (eth0) in einem Netz.
Der Server1 (eth1) steckt mit dem Server2 (eth0) in einem Netz.
Der Server2 (eth1) steckt mit den gewünschten Netz (Printer) zusammen.

Client
eth0=10.20.0.1/16

Server1
eth0=10.20.0.100/16
eth1=10.30.0.100/16

Server2
eth0=10.30.0.200/16
eth1=10.40.0.200/16


Die Firewall habe ich in meiner Testumgebung aktuell noch auf accept stehen. Also chain input, forward, output nicht geblockt.
Mein Client kann beiden Adressen des Server1 anpingen.
Der Server1 Kann den Client und beide Adressen des Server2 anpingen.

Warum kann ich mit meinem Client (10.20.0.1) nicht die Adresse von Server2 (10.30.0.200, 10.40.0.200) anpingen?
Ich habe auch schon versucht eine Route anzulegen. Das hat leider auch alles nichts geholfen.

Folgende Routen existieren:
Client
default via 10.20.0.100

Server1
10.20.0.0/16 dev ... proto kernel scope link src 10.20.0.100
10.30.0.0/16 dev ... proto kernel scope link src 10.30.0.100

Server1
10.30.0.0/16 dev ... proto kernel scope link src 10.30.0.200
10.40.0.0/16 dev ... proto kernel scope link src 10.40.0.200
10.20.0.0/16 via 10.30.0.100 dev ...


Was genau fehlt mir an dieser Stelle noch? Mein Client kommt zu dem Server1 Adapter wird aber über diesen nicht zum anderen Server2 weitergeleitet?
Ich seh wahrscheinlich vor lauter Bäumen den Wald nicht. :facepalm:

Vielen Dank für eure Hilfe.
Zuletzt geändert von joe2017 am 18.12.2020 10:08:02, insgesamt 1-mal geändert.

mat6937
Beiträge: 3432
Registriert: 09.12.2014 10:44:00

Re: Routing Problem Client zu Server1 zu Server2

Beitrag von mat6937 » 16.12.2020 13:38:22

joe2017 hat geschrieben: ↑ zum Beitrag ↑
16.12.2020 13:21:12
Mein Client kommt zu dem Server1 Adapter wird aber über diesen nicht zum anderen Server2 weitergeleitet?
Wie hast Du das festgestellt?

Hast Du auf den Servern auch MASQUERADE (source-NAT)-Regeln konfiguriert?
Debian 12.9 mit LXDE, OpenBSD 7.6 mit i3wm, FreeBSD 14.1 mit Xfce

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

Re: Routing Problem Client zu Server1 zu Server2

Beitrag von MSfree » 16.12.2020 13:59:29

mat6937 hat geschrieben: ↑ zum Beitrag ↑
16.12.2020 13:38:22
Hast Du auf den Servern auch MASQUERADE (source-NAT)-Regeln konfiguriert?
Wozu denn NAT? Das läßt sich auch mit "normalem" Routing hinbekommen.

Allerdings reicht es nicht, nur eine Route anzulegen, es werden zwei benötigt.

1. Der Client muß wissen, daß er Server1 also Router zum Server2 nutzen soll.
2. Server2 muß ebenfalls wissen, daß er Server1 also Router zum Client nutzen soll.

Benutzeravatar
martinelli
Beiträge: 192
Registriert: 18.07.2005 07:00:26
Lizenz eigener Beiträge: GNU General Public License
Wohnort: RW

Re: Routing Problem Client zu Server1 zu Server2

Beitrag von martinelli » 16.12.2020 14:44:21

MSfree hat geschrieben: ↑ zum Beitrag ↑
16.12.2020 13:59:29

2. Server2 muß ebenfalls wissen, daß er Server1 also Router zum Client nutzen soll.
Genau! Wenn Server2 nicht weiß, wie er das 10.20.x.x erreicht, kann er seine Antwort nicht los werden, d. h. dort fehlt vermutlich der entsprechende Eintrag für die (Rück-)route.
Gruß
martinelli

<_42_>

mat6937
Beiträge: 3432
Registriert: 09.12.2014 10:44:00

Re: Routing Problem Client zu Server1 zu Server2

Beitrag von mat6937 » 16.12.2020 15:14:48

MSfree hat geschrieben: ↑ zum Beitrag ↑
16.12.2020 13:59:29
Wozu denn NAT?
Ich finde das einfacher bzw. allgemeingültiger, mit dem source-NAT:

Code: Alles auswählen

iptables -t nat -I POSTROUTING 1 -j MASQUERADE
Mit source-NAT wird der Rückweg/Rückroute gelernt.

Bei einer Route (statt source-NAT) sind Host/Netz, gateway und device involviert und die können sich auch mal ändern und müssen dann in der gesetzten Route, angepasst/geändert werden.
Debian 12.9 mit LXDE, OpenBSD 7.6 mit i3wm, FreeBSD 14.1 mit Xfce

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

Re: Routing Problem Client zu Server1 zu Server2

Beitrag von MSfree » 16.12.2020 15:47:26

mat6937 hat geschrieben: ↑ zum Beitrag ↑
16.12.2020 15:14:48
Ich finde das einfacher bzw. allgemeingültiger, mit dem source-NAT:
NAT ist überhaupt nicht allgemeingültig. Das ist eine ziemlich aufwändige Sonderlösung, die eigentlich dazu gedacht ist, um mehrere Rechner hinter einem auf eine IP-Adresse begrentzten Netzwerkzugang zu ermöglichen, typischerweise private DSL-Zugänge.
Mit source-NAT wird der Rückweg/Rückroute gelernt.
Da wird auch nichts "gelernt". Der NAT-Router merkt sich die Quell-IP und die Quell-Portnummer eines Netzwerkpaketes, ersetzt dann die IP durch seine eigene mit neuem Quellport, und bei Empfang der Antwort alles wieder Retour. Das kostet Speicher für die ganzen Lookuptabellen und es kostet CPU-Last. Bei lahmen DSL-Zugängen fällt das natürlich nicht auf, aber im GBit-LAN kann das ärgerlich werden.

Bei reinem Routing wird das Netzwerkpaket einfach ins zweite Segment durchgereicht.

Benutzeravatar
joe2017
Beiträge: 1298
Registriert: 07.08.2017 14:29:51

Re: Routing Problem Client zu Server1 zu Server2

Beitrag von joe2017 » 16.12.2020 16:10:55

Also danke schon mal für die heiße Diskusion.

Ich würde das gerne mit dem Routing durchführen. Aber ich dachte eigentlich das die Routen bereits passen.
Ich habe jetzt bei meinem Client noch folgende hinzugefügt:

Code: Alles auswählen

sudo ip route add 10.40.0.0/16 via 10.20.0.100
Client
default via 10.20.0.100
10.40.0.0/16 dev ... proto kernel scope link src 10.20.0.100 (Client kennt doch somit die Route zu 10.40.0.0/16 - wobei eigentlich überflüssig wegen default gateway)

Server1
10.20.0.0/16 dev ... proto kernel scope link src 10.20.0.100
10.30.0.0/16 dev ... proto kernel scope link src 10.30.0.100

Server1
10.30.0.0/16 dev ... proto kernel scope link src 10.30.0.200
10.40.0.0/16 dev ... proto kernel scope link src 10.40.0.200
10.20.0.0/16 via 10.30.0.100 dev ...(Server2 kennt doch somit die Route zu 10.20.0.0/16)


Leider funktioniert das aber nicht.

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

Re: Routing Problem Client zu Server1 zu Server2

Beitrag von MSfree » 16.12.2020 16:21:25

Code: Alles auswählen

echo /proc/sys/net/ipv4/ip_forward
?

Benutzeravatar
joe2017
Beiträge: 1298
Registriert: 07.08.2017 14:29:51

Re: Routing Problem Client zu Server1 zu Server2

Beitrag von joe2017 » 16.12.2020 16:29:34

Und natürlich war es mal wieder dieser verdammte Eintrag!
sudo nano /etc/sysctl.conf

Code: Alles auswählen

net.ipv4.ip_forward=1
Super und Danke für diese Erinnerung! Ich komm zumindest gerade einen Schritt weiter.
Ich mede mich wenn ich fertig bin und poste hier falls noch etwas aufgetreten ist!

Danke zusammen.

Benutzeravatar
joe2017
Beiträge: 1298
Registriert: 07.08.2017 14:29:51

Re: Routing Problem Client zu Server1 zu Server2

Beitrag von joe2017 » 18.12.2020 10:07:44

Schönen guten Morgen zusammen,

ich wollte nur noch schnell die Rückmeldung geben, dass es lediglich an dem forwarding Eintrag gelegen hat.
Danke für die Erinnerung! :-)

Antworten