Die Geschwindigkeit, mit der Daten über Netzwerke transportiert werden, wächst dank fortschreitender Technologien stetig. Doch Geschwindigkeit allein ist nicht das einzige Kriterium, um die Bedürfnisse des Anwenders in Bezug auf die Datenübertragung zufriedenzustellen. Oft ist es auch notwendig, bestimmten Datenverkehr vorrangig zu behandeln oder bestimmten Anwendungen eine Mindestbandbreite zu garantieren. Weitere Anforderungen können das Verbieten oder Umleiten von Datenpaketen beinhalten.
Das Betriebssystem Linux stellt dafür zwei Werkzeuge zur Verfügung, die diese Bedürfnisse abdecken. Dabei handelt es sich zum einen um die Firewall, die seit der Kernelversion 2.6 mit dem iptables-Befehl realisiert wird. Zum anderen behandelt das Programm „tc“ sämtliche Anforderungen, welche das Bandbreitenmanagement oder die Priorisierung des Netzwerkverkehrs betreffen.
In der vorliegenden Arbeit werden zu Beginn das Prinzip und die Funktionsweise der Linux-Firewall betrachtet. Im Anschluss daran werden einige Möglichkeiten vorgestellt, die das Programm „tc“ anbietet, um den QoS-Anforderungen gerecht zu werden. Im letzten Schritt wird das Verhalten beider Programme beobachtet, wenn Pakete innerhalb drei verschiedener Netzwerke verschickt und kontrolliert werden müssen.
Das Ergebnis dieser Beobachtungen führt zu dem Schluss, dass mit Hilfe dieser beiden Anwendungen ein Netzwerk derart gestaltet werden kann, dass es sowohl sicher ist, als auch QoS-Anforderungen zufriedenstellend erfüllt.
Inhaltsverzeichnis
1 Einleitung
2 Die Funktion des Linux-Kernels in Bezug auf Firewalling
2.1 Die Filter-Tabelle
2.2 Die NAT-Tabelle
2.3 Die Mangle-Tabelle
2.4 Die Raw-Tabelle
3 Traffic Control
3.1 Classless Queueing Disciplines
3.1.1 pfifo_fast
3.1.2 bfifo und pfifo
3.1.3 Stochastic Fairness Queueing (SFQ)
3.1.4 Token Bucket Filter (TBF)
3.1.5 Weitere Classless Queueing Disciplines
3.2 Classful Queueing Disciplines
3.2.1 PRIO QDisc
3.2.2 Hierarchical Token Bucket (HTB)
3.2.3 Weitere Classful Queueing Disciplines
3.3 Filter
3.3.1 Klassifikation anhand Markierungen: Der fw-Filter
3.3.2 Klassifikation anhand der Routing-Tabelle: Der route-Filter
3.3.3 Flexibel klassifizieren mit dem u32-Filter
4 Aufbau und Bewertung einer Testumgebung mit Firewall und Traffic Control
4.1 Die Testumgebung
4.2 Anforderungen an die Firewall und den QDiscs
4.3 Vorbereitungen
4.3.1 Konfiguration der Netzwerkkarten
4.3.2 Installation von SSH
4.3.3 Installation des Programmes iperf (jperf)
4.4 Errichtung der Firewall
4.5 Erstellung der QDiscs für sämtliche Schnittstellen
4.5.1 Schnittstelle eth0: Die Entlastung der Modem-Warteschlange
4.5.2 Schnittstelle eth1: Der Intra-/Internet-Server in der DMZ
4.5.3 Schnittstelle eth2 und eth4: Die Clients im LAN
4.6 Messungen
4.6.1 Messungen ohne Bandbreitenentlehnung
4.6.2 Messungen mit der Möglichkeit einer Bandbreitenentlehnung
5 Erkenntnis und Ausblick
Zielsetzung & Themen
Die Arbeit untersucht die Möglichkeiten des Linux-Betriebssystems, Netzwerkverkehr mittels der Firewall "iptables" zu sichern und durch das Werkzeug "tc" (Traffic Control) effizient zu steuern, um sowohl Sicherheits- als auch QoS-Anforderungen in verschiedenen Netzwerkszenarien zu erfüllen.
- Grundlagen und Funktionsweise der Linux-Firewall und des Paketfilters iptables.
- Theorie und Implementierung von "Queueing Disciplines" (QDiscs) zur Bandbreitensteuerung.
- Aufbau einer komplexen Testumgebung zur Simulation von DMZ-, LAN- und Internet-Szenarien.
- Detaillierte Konfiguration und Evaluierung von Traffic-Control-Mechanismen wie TBF und HTB.
- Messung und Analyse der Netzwerkleistung bei verschiedenen Lastszenarien.
Auszug aus dem Buch
3.1.1 pfifo_fast
Die pfifo_fast-Queue wird den physikalischen Netzwerkschnittstellen vom Kernel defaultmäßig zugeordnet. Hierbei handelt es sich um eine Queue, die drei sogenannte Bänder beinhaltet, wie in Abbildung 6 schematisch dargestellt ist. Jedes dieser Bänder arbeitet nach dem First-In-First-Out-Prinzip. Dabei werden die einzelnen Bänder unterschiedlich bevorzugt: Befinden sich in Band 0 noch Pakete, so werden eventuell vorhandene Pakete in Band 1 nicht weitergeleitet. Analog verhält es sich zwischen Band 1 und dem niedrigstprioren Band 2.
Die Entscheidung, welches Paket welchem Band zugeordnet wird, wird anhand des TOS-Feldes im IP-Header getroffen. Diese vier Bits (Bit 3 bis 6 im Type-Of-Service-Oktett) kennzeichnen das Paket in Bezug auf die gewünschten QoS-Eigenschaften.
Zusammenfassung der Kapitel
1 Einleitung: Beschreibt die Notwendigkeit von Traffic Control zur Priorisierung und Begrenzung von Netzwerkverkehr über das bloße Best-Effort-Prinzip hinaus.
2 Die Funktion des Linux-Kernels in Bezug auf Firewalling: Erläutert die Architektur der Linux-Firewall mit den vier Tabellen Filter, NAT, Mangle und Raw sowie deren Ketten.
3 Traffic Control: Definiert die Grundelemente des Traffic Control und behandelt klassenlose sowie klassenbasierte Queueing Disciplines und Filtermechanismen.
4 Aufbau und Bewertung einer Testumgebung mit Firewall und Traffic Control: Beschreibt die praktische Implementierung einer Testumgebung inklusive der Firewall-Konfiguration und der Erstellung verschiedener QDiscs für LAN- und DMZ-Schnittstellen sowie die Durchführung und Analyse der Messungen.
5 Erkenntnis und Ausblick: Fasst die Ergebnisse der Arbeit zusammen und gibt einen Ausblick auf "Traffic Control Next Generation" (tcng).
Schlüsselwörter
Firewall, QoS, Bandbreite, Queueing Discipline, iptables, Linux, Traffic Control, Shaping, Scheduling, Bandbreitenmanagement, Netzwerkverkehr, HTB, TBF, DMZ, Netzwerksicherheit
Häufig gestellte Fragen
Worum geht es in dieser Arbeit grundsätzlich?
Die Arbeit beschäftigt sich mit der Kontrolle und Sicherheit des Netzwerkverkehrs unter Linux, insbesondere durch den Einsatz von Firewalls und Traffic-Control-Werkzeugen.
Was sind die zentralen Themenfelder?
Zentrale Themen sind die Funktionsweise von iptables zur Paketfilterung sowie der Einsatz von Queueing Disciplines zur gezielten Bandbreitensteuerung und Priorisierung von Daten.
Was ist das primäre Ziel der Arbeit?
Das Ziel ist die Konfiguration und Erprobung eines robusten Linux-basierten Netzwerksystems, das sowohl Sicherheitsrichtlinien durchsetzt als auch spezifische Qualitätsvorgaben (QoS) für unterschiedliche Anwendungen erfüllt.
Welche wissenschaftlichen Methoden werden verwendet?
Es werden theoretische Grundlagen analysiert und im Anschluss eine praktische Testumgebung mit verschiedenen Rechnerkonfigurationen und Netzwerktopologien aufgebaut, um durch systematische Messungen die Wirksamkeit der implementierten Mechanismen zu evaluieren.
Was wird im Hauptteil behandelt?
Der Hauptteil befasst sich detailliert mit der Klassifizierung von Paketen, dem Aufbau einer HTB-Klassenhierarchie, dem Einsatz von Filtern (fw, u32) und der anschließenden Bandbreitenmessung in verschiedenen Szenarien.
Welche Schlüsselwörter charakterisieren die Arbeit?
Wichtige Begriffe sind Firewall, QoS, Bandbreite, Queueing Discipline, iptables, Linux und Traffic Control.
Welche Rolle spielt die DMZ im Testaufbau?
Die DMZ dient als isolierter Bereich für Serverdienste, deren Datenverkehr mittels DNAT und spezifischer Filterregeln vom Internet aus erreichbar gemacht und in der Bandbreite kontrolliert wird.
Warum wird der u32-Filter in der Arbeit besonders hervorgehoben?
Der u32-Filter ermöglicht eine tiefgehende, eigenständige Klassifizierung von Netzwerkpaketen direkt basierend auf Feldern im IP- oder TCP-Header, ohne von vorangegangenen Paketmarkierungen durch iptables abhängig zu sein.
- Quote paper
- Michael Sauer (Author), 2010, Traffic Control unter Linux, Munich, GRIN Verlag, https://www.hausarbeiten.de/document/229439