anleitungen:netzwerk_grundlagen

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
anleitungen:netzwerk_grundlagen [2023/11/24 16:22] – [Netzwerke und MAC-Adressen] epkrichianleitungen:netzwerk_grundlagen [2023/12/05 17:30] (aktuell) epkrichi
Zeile 1: Zeile 1:
-<WRAP center round alert 60%> 
-Dieser Artikel befindet sich noch in Arbeit. 
-</WRAP> 
- 
- 
 ====== Netzwerkgrundlagen ====== ====== Netzwerkgrundlagen ======
  
Zeile 46: Zeile 41:
 ===== Subnetze und IP-Adressen ===== ===== Subnetze und IP-Adressen =====
  
-Möchte man jetzt immer mit immer mehr Geräten Daten austauschenempfiehlt es sich, nicht alle Geräte in ein großes Netzwerk aufzunehmenStattdessen baut man sich mehrere kleine Netzwerke, die man dann miteinander verbindetDafür gibt es etliche Gründe (z.B. SicherheitVerlässlichkeitReduzierung des Netzwerkverkehrs, ...).+Möchte man immer mehr Geräte miteinander verbinden, dann ergeben sich immer mehr Probleme. Z.B. würde man in einem großen Netzwerk gerne mehrere Querverbindungen habenwas aber gegen die sternförmige Topologie verstößt. Deswegen baut man sich lieber viele kleine Netzwerke, die man dann mit Routern verbindet. 
 + 
 +Wie man im folgenden Beispiel sehen kann, kann man einen Router auch verwenden, um mehr als zwei Netzwerke miteinander zu verbinden. Außerdem kann man auch mehrere Router in einem Netzwerk aufstellen, um dieses Netzwerk mit mehreren anderen Netzwerken zu verbinden. Die Topologie innerhalb eines Netzwerks muss zwar noch sternenförmig sein, aber man darf diese Netzwerke mit Routern so verbinden, dass die Topologie außerhalb dann nicht sternenförmig ist. 
 + 
 +{{ :anleitungen:netzwerke_6.png?800 |}} 
 + 
 +Weil die Topologie jetzt nicht mehr sternenförmig sein muss, kann es auch mehrere Routen zwischen zwei Geräten geben. Hier sollte natürlich immer die Beste gewählt werden. Damit man sich nicht für jedes Gerät eine eigene Route merken musswerden IP-Adressen verwendet. Das sind 32-bit Zahlen, die oft als vier 8-bit Blöcke dargestellt werden (z.B. ''192.168.12.4''). Jedes Subnetz (so nennt man Netzwerke in diesem Zusammenhang) bekommt jetzt einen IP-Adressbereich. Wie groß dieser ist, wird durch die Subnetzmaske bestimmt. Diese gibt an, wie viele der ersten Bits der Adresse zum Subnetzteil gehören - der Rest gehört dann zum Hostteil. Bei jedem Host aus einem Subnetz mit einer Subnetzmaske von n bit müssen die ersten n bit übereinstimmen - die restlichen ''32-n'' bit werden dann benutzt, um jedem Gerät eine eindeutige Adresse zu geben. 
 + 
 +Hier ein Beispiel dazu: Hier ein Beispiel dazu: Ein Host hat die Adresse 192.168.12.4 und sein Netzwerk hat die Subnetzmaske 24 (dafür schreibt man dann oftmals ''192.168.12.4/24''). In welchem Subnetz sich dieser Host befindet, erfährt man, wenn man sich die ersten 24 bit seiner IP-Adresse anschaut: ''192.168.12.4 = 11000000.10101000.00001100.00000100 -> 11000000.10101000.00001100.00000000 = 192.168.12.0''. Diese Adresse nennt man auch die Subnetzadresse. Weil die Subnetzmaske mit 24 bit genau die ersten drei Blöcke in der Dezimaldarstellung einnimmt, sind auch die ersten drei Blöcke identisch zur IP-Adresse des Hosts und der Rest wird mit Nullen gefüllt. Man könnte sich nun auch Fragen, ob ein zweiter Host sich im selben Subnetz befindet. Dieser hat zum Beispiel die Adresse und Subnetzmaske ''192.168.12.208/24''. Um diese Frage zu beantworten, berechnet man wieder die Subnetzadresse: ''192.168.12.208 = 11000000.10101000.00001100.11010000 -> 11000000.10101000.00001100.00000000 = 192.168.12.0''. Da die Subnetzadresse dieselbe ist, befinden sich die Geräte im selben Subnetz. Das hätte man auch gleich dran sehen können, dass sich die ersten drei Blöcke der IP-Adressen gleichen - das geht aber nur, weil die Subnetzmaske in diesem Beispiel 24 bit einnimmt - wäre sie z.B. 22 bit lang, dann wäre das nicht so einfach. 
 + 
 +In der folgenden Grafik haben nun alle Geräte auch eine passende IP-Adresse: 
 + 
 +{{ :anleitungen:netzwerke_7.png?800 |}} 
 + 
 +===== IP-Adress-Konfiguration ===== 
 + 
 +Jetzt stellt sich natürlich die Frage, woher die Geräte ihre eigene IP-Adresse bekommen und wie sie sichergehen können, dass diese auch in ihrem eigenen Netzwerk liegt. 
 + 
 +Typischerweise wird für die Konfiguration DHCP verwendet. Auf dem Router im eigenen Netz läuft ein DHCP-Server und wenn man sein Gerät anschaltet, fragt das Gerät im Netzwerk nach, ob es einen DHCP-Server gibtDa der Router die eigene Subnetzmaske und Subnetzadresse kennt, kann er auch eine neue, gültige IP-Adresse erzeugen. Zusammen mit einigen anderen Informationen schickt er diese dann dem anfragendem Gerät und das Gerät übernimmt diese IP-Adresse. 
 + 
 +Natürlich kann man die IP-Adressen aber auch von Hand konfigurieren. Dazu muss aber jeder Nutzer wissen, in welchem Subnetz er sich befindet und welche IP-Adressen noch nicht belegt wurden. 
 + 
 +Wenn man einen Freifunk-Router konfiguriert, so befindet dieser sich im Config-Modus und es läuft ein DHCP-Server auf ihm. Verbindet man seinen Computer mit dem Router, so bekommt dieser automatisch eine IP-Adresse zugewiesen. Es gibt aber auch manchmal Geräte, auf denen kein DHCP-Server läuft. In der Anleitung steht dann die IP-Adresse, unter dem das Gerät zu erreichen ist. Dann muss dem eigenen Computer manuell eine IP-Adresse geben, die sich im selben Subnetz befindet, wie das Gerät, das man erreichen möchte. 
 + 
 +===== Routing ===== 
 + 
 +Damit die Geräte basierend auf ihren IP-Adressen Pakete austauschen können, müssen jetzt noch Routen erstellt werden. Eine Route ist eine Zuordnung von einem Subnetz zu einem Port. Wenn ein Gerät jetzt ein Paket verschickt, schaut es zuerst, ob das Ziel sich in einem Subnetz befindet, für das es eine Route gibt in der eigenen Routingtabelle gibt. Dementsprechend wird das Paket am ausgesuchten Port weiter geschickt. Diesen Prozess nennt man Forwarding. 
 + 
 +Doch woher kommen die Routen eigentlich? Zuerst mal sollte gesagt sein, dass man die Routen natürlich manuell konfigurieren kann. Damit aber so große Netzwerke wie das Internet möglich sindbraucht es automatische Routing Algorithmen. Die Router tauschen dann untereinander Pakete aus, in dem sie sich mitteilen, welche Subnetze sie erreichen können und wie gut die Verbindung dahin ist. Die Qualität der Verbindung kann z.B. über die Zeit, die ein Paket braucht, bis es am Ziel ist, bestimmt werden, oder aber durch die Bandbreite oder durch die Anzahl der Router, die sich auf dem Weg bis zum Ziel befinden. 
 + 
 +In einem Heimnetzwerk haben Geräte meistens nur zwei relevante Routen - hier ein Beispiel: 
 + 
 +<code> 
 +default via 192.168.0.1 dev enp3s0 
 +192.168.0.0/24 dev enp3s0 
 +</code> 
 + 
 +Die erste Route ist die default Route. Wenn es keine andere Route für die Zieladresse gibt, dann wird die default Route verwendet. Dabei wird dann alles an das Gateway geschickt - das ist hier die ''192.168.0.1'' verschickt, was in den meisten Heimnetzwerken der eigene Router ist. Das Gateway kann man manuell konfigurieren, oder es wird per DHCP konfiguriert. 
 + 
 +Die zweite Route sagt dem Gerät nur, dass es sich selbst im Subnetz ''192.168.0.0/24'' befindet - also muss es die Pakete nicht noch an ein anderes Gerät schicken, sondern direkt an das eigentliche Ziel. 
 + 
 +Erhält ein Router ein Paket, so schaut er sich das Ziel an und schaut dann wiederum in seiner eigenen Routingtabelle, wie er das Paket weiter schicken sollWenn man ein Paket über das Internet schickt, wird es irgendwann an einem Router ankommen, der tatsächlich mehrere Möglichkeiten hätte, das Paket weiterzuschicken - und der benötigt dann die Routingalgorithmen, damit die beste Route ausgewählt werden kann. 
 + 
 +===== IP-Adressen unter Linux anschauen und konfigurieren ===== 
 + 
 +==== IP-Adresskonfiguration anschauen ==== 
 + 
 +Mit dem Befehl ''ip address show'' kann man sich die eigene IP-Adresse anzeigen lassen. Der Befehl könnte z.B. folgenden Output haben: 
 + 
 +<code> 
 +1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 
 +    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 
 +    inet 127.0.0.1/8 scope host lo 
 +       valid_lft forever preferred_lft forever 
 +2: enp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 
 +    link/ether 4c:cc:6a:0a:45:d2 brd ff:ff:ff:ff:ff:ff 
 +    inet 192.168.0.214/24 brd 192.168.0.255 scope global dynamic noprefixroute enp3s0 
 +       valid_lft 598481sec preferred_lft 598481sec 
 +</code> 
 + 
 +Der Befehl listet für alle Netzwerkschnittstellen die IP-Adressen auf. Normalerweise hat ein Computer nur eine Netzwerkschnittstelle, aber unter Linux gibt es zusätzlich das Loopback-Interface, das hier mit ''lo'' abgekürzt wird. Die eigentliche Schnittstelle hat also den Namen ''enp3s0''. Unter ''link/ether'' findet sich erst mal die eigene MAC-Adresse, hier ''4c:cc:6a:0a:45:d2''. Unter ''inet'' findet man dann die eigene IP-Adresse und die Subnetzmaske, hier ''192.168.0.214/24''. Taucht kein ''inet''-Abschnitt auf, bedeutet das, dass das Gerät keine IP-Adresse hat. Das ist oft ein erster Diagnoseschritt, wenn man Netzwerkprobleme hat. 
 + 
 +''ip address show'' kann man übrigens auch zu ''ip a s'' oder sogar zu ''ip a'' abkürzen. 
 + 
 +==== Eigene IP-Adressen konfigurieren ==== 
 + 
 +Um eigene IP-Adressen zu konfigurieren, kann man entweder das Terminal oder einen Netzwerkmanager mit graphischer Benutzeroberfläche verwenden. 
 + 
 +=== Mit dem Terminal === 
 + 
 +Dazu verwendet man den Befehl 
 + 
 +''sudo ip a add <ip-adresse>/<subnetzgröße> dev <interface>'' 
 + 
 +das könnte z.B. so aussehen: 
 + 
 +''sudo ip a add 192.168.202.3/24 dev enp5s1'' 
 + 
 +Um die IP-Adresse wieder zu entfernenverwendet man statt ''add'' ''del''. Also z.B. 
 + 
 +''sudo ip a del 192.168.202.3/24 dev enp5s1'' 
 + 
 +=== Mit dem KDE Netzwerkmanager === 
 + 
 +Jede Linux-Distribution kann seinen eigenen Netzwerkmanager haben. Hier wird der von KDE Plasma gezeigtder auch am QG installiert ist. 
 + 
 +  - Mit der rechten Maustaste unten rechts auf das Netzwerk-Icon klicken. {{ :anleitungen:netzwerke_netzwerkkonfiguration_1.png?400 |}} 
 +  - Auf "Netzwerkverbindungen einrichten..." klicken. {{ :anleitungen:netzwerke_netzwerkkonfiguration_2.png?400 |}} 
 +  - Auf das Plus-Icon klicken. {{ :anleitungen:netzwerke_netzwerkkonfiguration_3.png?800 |}} 
 +  - "Kabelgebundenes Ethernet" auswählen und auf "Erstellen" klicken. {{ :anleitungen:netzwerke_netzwerkkonfiguration_4.png?800 |}} 
 +  - Nun kann man die Verbindung konfigurieren: 
 +    - Einen neuen Namen für die Verbindung eingeben. 
 +    - Auf den IPv4-Reiter wechseln. 
 +    - Unter "Methode" "Manuell" auswählen. 
 +    - Auf "Hinzufügen" klicken. 
 +    - Die gewünschte IP-Adresse und Netzwerkmaske eingeben. Das Gateway kann man leer lassenfalls man diese Konfiguration nur braucht, um sich z.Bdirekt mit einem Router zu verbinden. 
 +    - Auf "Speichern" klicken. {{ :anleitungen:netzwerke_netzwerkkonfiguration_5.png?800 |}} 
 +  - Nun kann man wieder auf das Netzwerk-Icon klicken und die neue Konfiguration mit einem Klick auf "Verbindung" aktivieren. {{ :anleitungen:netzwerke_netzwerkkonfiguration_6.png?400 |}}
  
-Um unterschiedliche Netzwerke miteinander zu verbinden, benötigt man einen Router. Verbindet man nun mehrere Netzwerke über Router miteinander, dann stellt sich die Frage, woher ein Gerät weiß, wohin es ein Paket schicken muss. Wenn alle Geräte  
  
  • anleitungen/netzwerk_grundlagen.1700839321.txt.gz
  • Zuletzt geändert: 2023/11/24 16:22
  • von epkrichi