staging.inyokaproject.org

Frage zu Routing Tabellen

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

TeTiGt

Anmeldungsdatum:
2. Dezember 2020

Beiträge: 49

Hallo,

meine Routing Tabelle sagt:

1
2
3
4
5
6
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.1.1     0.0.0.0         UG    100    0        0 enp4s0
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 enp4s0
172.17.0.0      0.0.0.0         255.255.0.0     U     0      0        0 docker0
192.168.1.0     0.0.0.0         255.255.255.0   U     100    0        0 enp4s0

ifconfig docker0 sagt:

1
2
3
4
5
6
7
docker0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 172.17.0.1  netmask 255.255.0.0  broadcast 172.17.255.255
        ether 02:42:4d:18:65:73  txqueuelen 0  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

Würde das nicht heißen, dass alle Pakete, die nach 172.17.0.0 geschickt werden bzw. in dieses SubNetz einfach über das Interent nach 0.0.0.0 verschickt werden? Oder habe ich falsch verstanden, wie man Routing Tabellen liest. Demnach könnte ich gar nicht mehr 172.17.0.1 erreichen. Wo ist mein Denkfehler?

Zweite Frage ist: Warum ist beim ersten Eintrag mein Gateway 192.168.1.1 wenn ifconfig für enps0 die Adresse 192.168.1.100 angibt? Müsste dann nicht das Gateway 192.168.1.100 sein anstatt 192.168.1.1, denn mein LAN Kabel ist mit meinem Router verbunden. Dann müsste dies doch das Gateway für alle ausgehenden Pakete sein? Woher kennt er die IP Adresse 192.168.1.1 für meinen Router?

Bearbeitet von redknight:

Titel angepasst

TeTiGt

(Themenstarter)

Anmeldungsdatum:
2. Dezember 2020

Beiträge: 49

Hallo,

meine Routing Table mit route -n zeigt mir an

1
2
3
4
5
6
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.1.1     0.0.0.0         UG    100    0        0 enp4s0
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 enp4s0
172.17.0.0      0.0.0.0         255.255.0.0     U     0      0        0 docker0
192.168.1.0     0.0.0.0         255.255.255.0   U     100    0        0 enp4s0

ifconfig sagt:

1
2
3
4
5
6
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.1.1     0.0.0.0         UG    100    0        0 enp4s0
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 enp4s0
172.17.0.0      0.0.0.0         255.255.0.0     U     0      0        0 docker0
192.168.1.0     0.0.0.0         255.255.255.0   U     100    0        0 enp4s0

Moderiert von sebix:

An bestehenden Thread angehängt. Bitte erstelle keine Doppelpostings.

JensHol

Anmeldungsdatum:
31. Oktober 2017

Beiträge: 324

TeTiGt schrieb:

So wie ich das lese:

1
2
3
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.1.1     0.0.0.0         UG    100    0        0 enp4s0

Alles, was in die große weite Welt soll geht über deine Netzwerkkarte raus an den Gateway (Router z.B. Fritzbox) 192.168.1.1

1
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 enp4s0

Dummy Adresse?

1
172.17.0.0      0.0.0.0         255.255.0.0     U     0      0        0 docker0

Deine Docker Adresse ist 172.17.0.1/16 und alles an den Adresskreis für Docker geht an das Docker-Device

1
192.168.1.0     0.0.0.0         255.255.255.0   U     100    0        0 enp4s0

Alles, was in dein lokales Netz geht also an die geräte die direkt am Router hängen gehen an deine Netzwerkkarte und nicht an einen Gateway, die können ja im gleichen IP-Bereich zugestellt werden ohne Router (=Gateway)!

Würde das nicht heißen, dass alle Pakete, die nach 172.17.0.0 geschickt werden bzw. in dieses SubNetz einfach über das Interent nach 0.0.0.0 verschickt werden? Oder habe ich falsch verstanden, wie man Routing Tabellen liest. Demnach könnte ich gar nicht mehr 172.17.0.1 erreichen. Wo ist mein Denkfehler?

Nein, das heisst, dass alles was in das Subnetz (z.B. an die Adresse 172.17.0.2) geht ist im gleichen Netz und braucht keinen Gateway. 172.17.0.1 ist dein eigener Rechner und deine eigene IP

Zweite Frage ist: Warum ist beim ersten Eintrag mein Gateway 192.168.1.1 wenn ifconfig für enps0 die Adresse 192.168.1.100 angibt? Müsste dann nicht das Gateway 192.168.1.100 sein anstatt 192.168.1.1, denn mein LAN Kabel ist mit meinem Router verbunden. Dann müsste dies doch das Gateway für alle ausgehenden Pakete sein? Woher kennt er die IP Adresse 192.168.1.1 für meinen Router?

Wenn du enp4s0 meinst, dann ist der Gateway natürlich dein Gate nach draussen an andere Adressen, also dein Router.

Woher kennt er den Router? In der Regel holt sich dein Rechner eine IP Adresse via DHCP vom Router und bekommt dann auch den Gateway mitgeteilt. Sonst kämst du ja nicht ins Internet

TeTiGt

(Themenstarter)

Anmeldungsdatum:
2. Dezember 2020

Beiträge: 49

Aber woher weiß der Rechner dann, dass er das Paket für den Router über ensp04 mit der IP 192.168.1.100 schicken muss? Denn dieses Interface ist per LAN mit dem Router verbunden? Müsste nicht in der routing Tabelle stehen, dass Pakete die nach 192.168.1.2 geschickt werden sollen über 192.168.1.100 versendet werden müssen?

lubux

Anmeldungsdatum:
21. November 2012

Beiträge: 14402

TeTiGt schrieb:

... Woher kennt er die IP Adresse 192.168.1.1 für meinen Router?

Aus seinem neighbor-cache bzw. aus den arp-replys vom Router (default gateway). Siehe z. B. die Ausgabe von:

ip n s

Poste mal die Ausgaben von:

ip r g 1.1.1.1
ip r g 192.168.1.10
ip r g 172.17.0.10

EDIT:

Die IP 192.168.1.1 hast Du auch als gateway (... DHCP-, DNS-Server?) konfiguriert, oder?

TeTiGt

(Themenstarter)

Anmeldungsdatum:
2. Dezember 2020

Beiträge: 49

ip n s liefert

1
2
192.168.1.1 dev enp4s0 lladdr 34:60:f9:31:36:aa REACHABLE
fe80::3660:f9ff:fe31:36aa dev enp4s0 lladdr 34:60:f9:31:36:aa router REACHABLE

Was heißt die Zeile

1
192.168.1.1 dev enp4s0 lladdr 34:60:f9:31:36:aa REACHABLE

genau? Und was sind n und s genau? Für mich liest sich das so, als hätte das Interface enp4s0 noch eine zweite IP Adresse

lubux

Anmeldungsdatum:
21. November 2012

Beiträge: 14402

TeTiGt schrieb:

Was heißt die Zeile

1
192.168.1.1 dev enp4s0 lladdr 34:60:f9:31:36:aa REACHABLE

genau?

Im arp-cache für das Interface enp4s0 ist der IP-Adresse 192.168.1.1 die MAC-Adresse 34:60:f9:31:36:aa zugeordnet.

Und was sind n und s genau?

n steht für neighbor und s steht für show. Du kannst auch

ip neighbor show

benutzen, statt

ip n s

TeTiGt

(Themenstarter)

Anmeldungsdatum:
2. Dezember 2020

Beiträge: 49

Das heißt dann, dass mein OS durch "192.168.1.1 dev enp4s0" weiß, dass es 192.168.1.100(enp4s0) nehmen muss um nach 192.168.1.1 zu gelangen? Und dann noch eine Frage: Kann das OS dann nicht einfach bei der routing tabelle sehen, dass für 192.168.1.1 das Interface enp4s0 eingetragen ist? Wenn ich jetzt die IP Adresse 192.168.X.X als Gateway eintragen würde mit dem Interface enp4s0, würde dann mein OS immer versuchen über enp4s0 die Datenpackete rauszusenden?

lubux

Anmeldungsdatum:
21. November 2012

Beiträge: 14402

TeTiGt schrieb:

Das heißt dann, dass mein OS durch "192.168.1.1 dev enp4s0" weiß, dass es 192.168.1.100(enp4s0) nehmen muss um nach 192.168.1.1 zu gelangen?

Ja.

Und dann noch eine Frage: Kann das OS dann nicht einfach bei der routing tabelle sehen, dass für 192.168.1.1 das Interface enp4s0 eingetragen ist?

Ja, und das ist das Gateway für die default Route. Für die definierte Route zu Geräten/IP-Adressen aus dem Subnetz 192.168.1.0/24 ist ein Gateway nicht erforderlich, weil die Geräte über den Switch (Router) untereinander direkt verbunden sind.

Wenn ich jetzt die IP Adresse 192.168.X.X als Gateway eintragen würde mit dem Interface enp4s0, würde dann mein OS immer versuchen über enp4s0 die Datenpackete rauszusenden?

Wenn diese IP (+ MAC-Adresse)bekannt und zugewiesen/zugänglich ist und die konfigurierte Route brauchbar bzw. „realistisch“ ist, dann ja.

lubux

Anmeldungsdatum:
21. November 2012

Beiträge: 14402

TeTiGt schrieb:

Das heißt dann, dass mein OS durch "192.168.1.1 dev enp4s0" weiß, dass es 192.168.1.100(enp4s0) nehmen muss um nach 192.168.1.1 zu gelangen?

BTW: Das kannst Du auch zusätzlich absichern, mit z. B.:

net.ipv4.conf.enp4s0.arp_filter = 1
net.ipv4.conf.enp4s0.accept_source_route = 1

in der /etc/sysctl.conf (oder gleichwertig).

encbladexp Team-Icon

Ehemaliger
Avatar von encbladexp

Anmeldungsdatum:
16. Februar 2007

Beiträge: 17531

Du kannst das Routing relativ einfach nachvollziehen indem du dieses kleine Spielzeug nimmst:

ip route get 1.2.3.4

Da kommt dann sowas bei raus:

1.2.3.4 via 192.168.1.4 dev enp4s0 src 192.168.1.8 uid 1000 
    cache

Er nimmt also das Interface enp4so, geht dort an das Gateway 192.168.1.4. Braucht er kein Gateway fehlt das via im Output.

Antworten |