Netzwerke
- Grundlagen
- Schicht 1: z.B. Ethernet
- Broadcast-Medium
- Zwei Sendemodi: Direktadressierung und Broadcast (Lauschen mit Promiscous Mode einer Netzwerkschnittstelle)
- in Karten-Eproms eingebrannte MAC-Adressen dienen der Adressierung (Medium Access Control)
- ifconfig - zeigt u.a. die MAC-Adresse einer Ethernet-Karte an
- Mapping von MAC-Adressen zu IP-Adressen: Address Resolution Protocol (ARP)
- arp -a- Anzeige des Kernel-ARP-Caches
- Mapping von IP-Adressen zu MAC-Adressen: Reverse Address Resolution Protocol (RARP) - wird beim Booten übers Netz benutzt
- Schicht 3: z.B. IP
- Adressierung von Netzwerkschnittstellen mittels IP-Adressen
- Adreßraum: IP-Adresse besteht aus Netzwerk- und Host-Teil
- Netzwerkklassen: Klasse A-, B- und C-Netze (s. Howto)
- Offiziell vergebene Adressen <-> Privatadressen
- Gateways zwischen den unterschiedlichen Netzwerken
- Bridges zur Verbindung von Netzsegmenten eines Netzwerkes (auch mit Linux-PC möglich)
- ifconfig - Konfiguration einer Netzwerkschnittstelle (-> IP-Adresse!)
- route - Konfiguration der (statischen) Routingtabelle (dynamisch: routed - Aufpassen...)
- Resolver - Bestandteil der C-Library zur Auflösung von Rechnernamen (libc4 <-> libc5 <-> libc6)
- /etc/hosts - Zuordnung von Rechnernamen zu IP-Adressen (auch über NIS und DNS möglich)
- nslookup - manuelles Befragen von Nameservern
- /etc/networks - Zuordnung von Netzwerknamen zu Netzwerk-Adressen
- Schicht 4: z.B. TCP und UDP
- Adressierung von Diensten auf einem Host mittels Port-Adressen
- TCP: verbindungsorientiert, garantierte Zustellung in korrekter Reihenfolge
- UDP: verbindungslos, keinerlei Garantien
- Verbindungen werden über Paare von IP-Adresse und Port von Sender und Empfänger identifiziert
- /etc/services - Definition sog. Well-Known Ports
- Portnummern bis 1024 können nur von root-Prozessen benutzt werden
- Serverprozesse fordern explizit einen bestimmten (Well-Known-)Port an
- Clientprozesse fordern einen beliebigen Port an, i.d.R > 1024 (Ausnahme: z.B. rlogin -> Masquerading scheitert!)
- netstat [-a] - Anzeigen von Verbindungen und Servern
- ntop - wie top nur für Netzwerke
- ipchains - Pflegen und Anzeigen von Firewall-Regeln (z.B. zur Realisierung von Masquerading)
3 Standard-Chains: Input, Forward, Output; User-Chains möglich; Default-Policies falls keine Regel matcht
- Masquerading
- Funktion eines Gateways zur Verbindung von Rechnernetzen mit Privat-Adressen mit dem Internet
- Prinzip: Umsetzen der (Privat-)Absender-Adressen (IP und Port) auf Gateway-Adresse und Fake-Port
- Kernel-interne Tabelle zur Zuordnung der vergebenen Fake-Ports zu Privat-Adressen (IP und Port)
- Probleme:
- Dienste, die Client-Portnummern bis 1024 benötigen (Masquerading-Code mappt auf Nummern im Bereich 60.000)
- ftp: Aufbau der Datenverbindung erfolgt in umgekehrter Richtung (Server -> Client)
- erfordert Kernel-Modul, das ftp-Kontrollverbindungen belauscht und Kernel-Tabelle entsprechend erweitert
- Portforwarding zur Umlenkung von Verbindungen Internet -> Firewall auf Internet -> geschützter Rechner
- Dienste
- Grundsätzliche Unterscheidung:
- inetd-basierte Dienste
- inetd: "Pförtnerprinzip", Konfiguration via /etc/inetd.conf
- inetd-interne Dienste <-> extern implementierte Dienste
- NICHT BENÖTIGTE DIENSTE ABKLEMMEN!
- TCP-Wrapper tcpd für Zugriffschutz (/etc/hosts.allow und /etc/hosts.deny)
- extern implementierte Server müssen den Start via inetd explizit unterstützen
- stand-alone Dienste
- Manche Server unterstützen beide Arten des Startens (z.B. Apache)
- Der Portmapper
- Entwicklungsumgebung für Client-/Server-Systeme
- Zur Adressierung von Diensten werden standardisierte Dienstnummern statt Portnummern verwendet (s. /etc/rpc)
- Portmapper-Prozeß (Well-Known Port 111) zum Mappen von Dienstnummern auf Portnummern
- RPC-Serverprozesse müssen sich beim Portmapper anmelden
- Portmapper-basierte Dienste:
- NFS (rpc.mountd, rpc.nfsd und /etc/exports)
- NIS (ehemals YP) - Achtung: NIS-Clients implementieren auch RPC-Serverfunktionen, d.h. es muß auch auf Clients der Portmapper laufen!
- rpcinfo - manuelles Abfragen von Portmappern (auch Broadcast-Betrieb möglich!)
- Weitere Dienste:
- automount (/etc/autofs.master) - gut, aber leider sehr geschwätzig (Vorsicht mit überwachten Verzeichnissen)
- Domain Name Service (DNS) - Baumstruktur "offizieller" Nameserver
- nist - einer von vielen Zeit-Sync-Clients
- telnet, ftp, rsh, rcp, httpd
Lars Oergel <Lars.Oergel@cfd.tu-berlin.de>, letzte Änderung: 05.11.2001