ubuntuusers.de

Wie funktioniert hier das IP Routing?

Status: Ungelöst | Ubuntu-Version: Ubuntu 20.04 (Focal Fossa)
Antworten |

TeTiGt

Anmeldungsdatum:
2. Dezember 2020

Beiträge: 46

Hallo,

Angenommen ich hoste einen spring Boot Server auf einem Ubuntu PC mit der IP 192.1.1.1 und der Server dort hat die IP 192.1.1.2:8000. Jetzt stellt aus dem lokalen Netzwerk ein Rechner mit der IP 192.1.1.3 eine Anfrage, dann müsste doch die Anfrage erst an die IP 191.1.1.1 weitergeleitet werden, da der Server auf dem Rechner mit der IP 192.1.1.1 läuft oder kann die IP direkt an 192.1.1.3 weitergeleitet werden aber der Port 8000 auf dem Rechner mit der IP 192.1.1.2 ist dann geblockt?

DJKUhpisse Team-Icon

Supporter, Wikiteam
Avatar von DJKUhpisse

Anmeldungsdatum:
18. Oktober 2016

Beiträge: 18196

Wohnort: in deinem Browser, hier auf dem Bildschirm

Routing funktioniert immer anhand der Routingtabelle. Wenn ein via drinsteht, bedeutet das, dass diese IP auf dem lokalen Link ist und das Paket unverändert an diesen Rechner (aber nicht an diese IP) geschickt wird.

Zu deinem Problem: Beschreibe, was du genau haben willst. NAT, Proxy und Co. sind recht umfangreiche Angelegenheiten, die ich falls möglich immer meide.

TeTiGt

(Themenstarter)

Anmeldungsdatum:
2. Dezember 2020

Beiträge: 46

Ich frage mich nur, wie genau das funktioniert, wenn ich einen Server auf einem PC laufen lasse. Wie werden an den Server die Pakete geschickt, wenn diese von einem zweiten PC kommen?

micneu

Avatar von micneu

Anmeldungsdatum:
19. Januar 2021

Beiträge: 750

Wohnort: Hamburg

  1. Wie ist denn dein Netz aufgebaut , bitte ein grafischen netzwerkplan

  2. wer ist den in dem netz das default GW, der muss ja alle Netze kennen?

TeTiGt

(Themenstarter)

Anmeldungsdatum:
2. Dezember 2020

Beiträge: 46

micneu schrieb:

  1. Wie ist denn dein Netz aufgebaut , bitte ein grafischen netzwerkplan

  2. wer ist den in dem netz das default GW, der muss ja alle Netze kennen?

1.ich habe keinen grafischen netplan, da dass eine rein hypothetisch Frage ist. Es geht einfach um ein Netz mit einem Modem Router. Dort sind zwei PCs angeschlossen.

2. Default GW ist der Router.

TeTiGt

(Themenstarter)

Anmeldungsdatum:
2. Dezember 2020

Beiträge: 46

DJKUhpisse schrieb:

Routing funktioniert immer anhand der Routingtabelle. Wenn ein via drinsteht, bedeutet das, dass diese IP auf dem lokalen Link ist und das Paket unverändert an diesen Rechner (aber nicht an diese IP) geschickt wird.

Zu deinem Problem: Beschreibe, was du genau haben willst. NAT, Proxy und Co. sind recht umfangreiche Angelegenheiten, die ich falls möglich immer meide.

Ich frage mich nur wie das ganze IP Routing funktioniert wenn auf einem Rechner ein server läuft, der selbst eine eigene IP Adresse hat. Woher weiß der Rechner der eine Anfrage an den Srver stellt, wo das Paket hinsoll? D.h das Paket müsste erst an den Rechner und dann an den Server geschickt werden, ist das richtig?

DJKUhpisse Team-Icon

Supporter, Wikiteam
Avatar von DJKUhpisse

Anmeldungsdatum:
18. Oktober 2016

Beiträge: 18196

Wohnort: in deinem Browser, hier auf dem Bildschirm

Jeder Rechner guckt in seine eigene Routingtabelle. Anhand derer wird entschieden, an welches System welches Paket geht. Die Routingtabelle wird durch die eigene Adresse samt Netzgröße gefüllt. Ebenfalls durch Informationen wie die Standardroute oder zusätzliche Routen, die per DHCP, dem RA oder manuell verteilt werden können.

lubux

Anmeldungsdatum:
21. November 2012

Beiträge: 14313

TeTiGt schrieb:

Ich frage mich nur wie das ganze IP Routing funktioniert wenn auf einem Rechner ein server läuft, der selbst eine eigene IP Adresse hat. Woher weiß der Rechner der eine Anfrage an den Srver stellt, wo das Paket hinsoll? D.h das Paket müsste erst an den Rechner und dann an den Server geschickt werden, ist das richtig?

Der Rechner weiß es aus seinen _definierten_ Routen und (... wenn die Interfaces/NICs ARPable sind,) aus seinem arp- bzw. neighbor-cache. Siehe z. B. auf dem Rechner und auf dem Server, die Ausgaben von:

ip a
ip r
ip n s

Testen kannst Du mit z. B.:

ip r g <destination-IP-Adresse>

Beispiel (mit einem Interface das nicht ARPable ist):

:~$ ip r g 192.168.22.15
192.168.22.15 dev wg0 src 192.168.22.14 uid 1000 
    cache

EDIT:

Z. B. ein Ping im W/LAN auf eine IP-Adresse die nicht zugewiesen ist (... d. h. Destination Host Unreachable, aber zuständig für das Routing ist eine vorhandene definierte Route, so dass die default route dafür nicht zuständig ist bzw. nicht benutzt wird):

:~$ ping -c 1 192.168.178.42
PING 192.168.178.42 (192.168.178.42) 56(84) bytes of data.
From 192.168.178.4 icmp_seq=1 Destination Host Unreachable

--- 192.168.178.42 ping statistics ---
1 packets transmitted, 0 received, +1 errors, 100% packet loss, time 0ms

Der source-Host hat diese IP-Adresse (+ MAC-Adresse) nicht in seinem arp-cache und startet deshalb sofort ein arp-request (als broadcast) ins W/LAN (Subnetz):

:~# tcpdump -c 10 -vvveni eth0 arp and host 192.168.178.42
tcpdump: listening on eth0, link-type EN10MB (Ethernet), snapshot length 262144 bytes
10:03:55.440169 00:16:d3:b6:b9:a2 > ff:ff:ff:ff:ff:ff, ethertype ARP (0x0806), length 42: Ethernet (len 6), IPv4 (len 4), Request who-has 192.168.178.42 tell 192.168.178.4, length 28
10:03:56.467990 00:16:d3:b6:b9:a2 > ff:ff:ff:ff:ff:ff, ethertype ARP (0x0806), length 42: Ethernet (len 6), IPv4 (len 4), Request who-has 192.168.178.42 tell 192.168.178.4, length 28
10:03:57.491977 00:16:d3:b6:b9:a2 > ff:ff:ff:ff:ff:ff, ethertype ARP (0x0806), length 42: Ethernet (len 6), IPv4 (len 4), Request who-has 192.168.178.42 tell 192.168.178.4, length 28

Er bekommt aber kein arp-reply, weil diese IP-Adresse nicht zugewiesen ist bzw. keiner bekannten MAC-Adresse zugeordnet ist.

Antworten |