Linux/Netzwerk/Infrastruktur: Unterschied zwischen den Versionen
K Textersetzung - „““ durch „"“ |
K Textersetzung - „http://“ durch „https://“ |
||
Zeile 6: | Zeile 6: | ||
! | Beschreibung | ! | Beschreibung | ||
|- | |- | ||
| | [ | | | [https://packages.debian.org/sid/network-manager network-manager] | ||
| | [https://de.wikipedia.org/wiki/NetworkManager NetworkManager] (Daemon): das Netzwerk automatisch verwalten | | | [https://de.wikipedia.org/wiki/NetworkManager NetworkManager] (Daemon): das Netzwerk automatisch verwalten | ||
|- | |- | ||
| | [ | | | [https://packages.debian.org/sid/network-manager-gnome network-manager-gnome] | ||
| | [https://de.wikipedia.org/wiki/NetworkManager NetworkManager] (GNOME-Frontend) | | | [https://de.wikipedia.org/wiki/NetworkManager NetworkManager] (GNOME-Frontend) | ||
|- | |- | ||
| | [ | | | [https://packages.debian.org/sid/ifupdown ifupdown] | ||
| | standardisiertes Werkzeug zum Aktivieren und Deaktivieren des Netzwerks (Debian-spezifisch) | | | standardisiertes Werkzeug zum Aktivieren und Deaktivieren des Netzwerks (Debian-spezifisch) | ||
|- | |- | ||
| | [ | | | [https://packages.debian.org/sid/isc-dhcp-client isc-dhcp-client] | ||
| | DHCP-Client | | | DHCP-Client | ||
|- | |- | ||
| | [ | | | [https://packages.debian.org/sid/pppoeconf pppoeconf] | ||
| | Konfigurations-Hilfswerkzeug für PPPoE-Verbindungen | | | Konfigurations-Hilfswerkzeug für PPPoE-Verbindungen | ||
|- | |- | ||
| | [ | | | [https://packages.debian.org/sid/wpasupplicant wpasupplicant] | ||
| | clientseitige Unterstützung für WPA und WPA2 (IEEE 802.11i) | | | clientseitige Unterstützung für WPA und WPA2 (IEEE 802.11i) | ||
|- | |- | ||
| | [ | | | [https://packages.debian.org/sid/wpagui wpagui] | ||
| | Qt-GUI-Programm für wpa_supplicant | | | Qt-GUI-Programm für wpa_supplicant | ||
|- | |- | ||
| | [ | | | [https://packages.debian.org/sid/wireless-tools wireless-tools] | ||
| | Werkzeuge zum Bearbeiten der Linux Wireless Extensions | | | Werkzeuge zum Bearbeiten der Linux Wireless Extensions | ||
|- | |- | ||
| | [ | | | [https://packages.debian.org/sid/iw iw] | ||
| | Werkzeug zum Konfigurieren von Drahtlos-Netzwerkgeräten unter Linux | | | Werkzeug zum Konfigurieren von Drahtlos-Netzwerkgeräten unter Linux | ||
|- | |- | ||
| | [ | | | [https://packages.debian.org/sid/iproute2 iproute2] | ||
| | [ | | | [https://www.linuxfoundation.org/collaborate/workgroups/networking/iproute2 iproute2], IPv6 und andere erweiterte Netzwerkkonfiguration: <tt>ip</tt>(8), <tt>tc</tt>(8) usw. | ||
|- | |- | ||
| | [ | | | [https://packages.debian.org/sid/iptables iptables] | ||
| | Administrationswerkzeuge für Paketfilterung und NAT ([https://de.wikipedia.org/wiki/Netfilter Netfilter]) | | | Administrationswerkzeuge für Paketfilterung und NAT ([https://de.wikipedia.org/wiki/Netfilter Netfilter]) | ||
|- | |- | ||
| | [ | | | [https://packages.debian.org/sid/iputils-ping iputils-ping] | ||
| | Erreichbarkeit eines fernen Rechners über das Netzwerk testen, entweder mittels [https://de.wikipedia.org/wiki/Hostname Rechnername] oder [https://de.wikipedia.org/wiki/IP-Adresse IP-Addresse] ([ | | | Erreichbarkeit eines fernen Rechners über das Netzwerk testen, entweder mittels [https://de.wikipedia.org/wiki/Hostname Rechnername] oder [https://de.wikipedia.org/wiki/IP-Adresse IP-Addresse] ([https://www.linuxfoundation.org/collaborate/workgroups/networking/iproute2 iproute2]) | ||
|- | |- | ||
| | [ | | | [https://packages.debian.org/sid/iputils-arping iputils-arping] | ||
| | Erreichbarkeit eines fernen Rechners über das Netzwerk mittels seiner [https://de.wikipedia.org/wiki/Address_Resolution_Protocol ARP]-Addresse testen | | | Erreichbarkeit eines fernen Rechners über das Netzwerk mittels seiner [https://de.wikipedia.org/wiki/Address_Resolution_Protocol ARP]-Addresse testen | ||
|- | |- | ||
| | [ | | | [https://packages.debian.org/sid/iputils-tracepath iputils-tracepath] | ||
| | Netzwerkpfad zu einem fernen Rechner verfolgen | | | Netzwerkpfad zu einem fernen Rechner verfolgen | ||
|- | |- | ||
| | [ | | | [https://packages.debian.org/sid/ethtool ethtool] | ||
| | Eigenschaften von Ethernet-Geräten anzeigen oder ändern | | | Eigenschaften von Ethernet-Geräten anzeigen oder ändern | ||
|- | |- | ||
| | [ | | | [https://packages.debian.org/sid/mtr-tiny mtr-tiny] | ||
| | Netzwerkpfad zu einem fernen Rechner verfolgen (Curses-basiert) | | | Netzwerkpfad zu einem fernen Rechner verfolgen (Curses-basiert) | ||
|- | |- | ||
| | [ | | | [https://packages.debian.org/sid/mtr mtr] | ||
| | Netzwerkpfad zu einem fernen Rechner verfolgen (Curses- und GTK-basiert) | | | Netzwerkpfad zu einem fernen Rechner verfolgen (Curses- und GTK-basiert) | ||
|- | |- | ||
| | [ | | | [https://packages.debian.org/sid/gnome-nettool gnome-nettool] | ||
| | Werkzeuge für allgemeine Netzwerkinformations-Operationen (GNOME) | | | Werkzeuge für allgemeine Netzwerkinformations-Operationen (GNOME) | ||
|- | |- | ||
| | [ | | | [https://packages.debian.org/sid/nmap nmap] | ||
| | Netzwerk-Mapper/Port-Scanner ([https://de.wikipedia.org/wiki/Nmap Nmap], konsolen-basiert) | | | Netzwerk-Mapper/Port-Scanner ([https://de.wikipedia.org/wiki/Nmap Nmap], konsolen-basiert) | ||
|- | |- | ||
| | [ | | | [https://packages.debian.org/sid/zenmap zenmap] | ||
| | Netzwerk-Mapper/Port-Scanner (GTK-basiert) | | | Netzwerk-Mapper/Port-Scanner (GTK-basiert) | ||
|- | |- | ||
| | [ | | | [https://packages.debian.org/sid/tcpdump tcpdump] | ||
| | Netzwerkverkehr-Analysator ([https://de.wikipedia.org/wiki/Tcpdump Tcpdump], konsolen-basiert) | | | Netzwerkverkehr-Analysator ([https://de.wikipedia.org/wiki/Tcpdump Tcpdump], konsolen-basiert) | ||
|- | |- | ||
| | [ | | | [https://packages.debian.org/sid/wireshark wireshark] | ||
| | Netzwerkverkehr-Analysator ([https://de.wikipedia.org/wiki/Wireshark Wireshark], GTK-basiert) | | | Netzwerkverkehr-Analysator ([https://de.wikipedia.org/wiki/Wireshark Wireshark], GTK-basiert) | ||
|- | |- | ||
| | [ | | | [https://packages.debian.org/sid/tshark tshark] | ||
| | Netzwerkverkehr-Analysator (konsolen-basiert) | | | Netzwerkverkehr-Analysator (konsolen-basiert) | ||
|- | |- | ||
| | [ | | | [https://packages.debian.org/sid/tcptrace tcptrace] | ||
| | eine Zusammenfassung von Verbindungen auf Basis der <tt>tcpdump</tt>-Ausgabe erstellen | | | eine Zusammenfassung von Verbindungen auf Basis der <tt>tcpdump</tt>-Ausgabe erstellen | ||
|- | |- | ||
| | [ | | | [https://packages.debian.org/sid/snort snort] | ||
| | flexibles Einbruchmeldesystem für das Netzwerk ([https://de.wikipedia.org/wiki/Snort Snort]) | | | flexibles Einbruchmeldesystem für das Netzwerk ([https://de.wikipedia.org/wiki/Snort Snort]) | ||
|- | |- | ||
| | [ | | | [https://packages.debian.org/sid/ntopng ntopng] | ||
| | Daten über die Netzwerknutzung im Webbrowser anzeigen | | | Daten über die Netzwerknutzung im Webbrowser anzeigen | ||
|- | |- | ||
| | [ | | | [https://packages.debian.org/sid/dnsutils dnsutils] | ||
| | Netzwerk-Clients, die mit [https://de.wikipedia.org/wiki/BIND BIND] bereitgestellt werden: <tt>nslookup</tt>(8), <tt>nsupdate</tt>(8), <tt>dig</tt>(8) | | | Netzwerk-Clients, die mit [https://de.wikipedia.org/wiki/BIND BIND] bereitgestellt werden: <tt>nslookup</tt>(8), <tt>nsupdate</tt>(8), <tt>dig</tt>(8) | ||
|- | |- | ||
| | [ | | | [https://packages.debian.org/sid/dlint dlint] | ||
| | [https://de.wikipedia.org/wiki/Domain_Name_System DNS]-Zoneninformationen mittels Nameserver-Abfragen überprüfen | | | [https://de.wikipedia.org/wiki/Domain_Name_System DNS]-Zoneninformationen mittels Nameserver-Abfragen überprüfen | ||
|- | |- | ||
| | [ | | | [https://packages.debian.org/sid/dnstracer dnstracer] | ||
| | eine Verkettung von [https://de.wikipedia.org/wiki/Domain_Name_System DNS]-Servern zu ihrer Quelle verfolgen | | | eine Verkettung von [https://de.wikipedia.org/wiki/Domain_Name_System DNS]-Servern zu ihrer Quelle verfolgen | ||
|- | |- | ||
Zeile 118: | Zeile 118: | ||
Die IP-Adresse <tt>127.0.1.1</tt> in der zweiten Zeile dieses Beispiels ist auf einigen anderen Unix-ähnlichen Systemen möglicherweise nicht vorhanden. | Die IP-Adresse <tt>127.0.1.1</tt> in der zweiten Zeile dieses Beispiels ist auf einigen anderen Unix-ähnlichen Systemen möglicherweise nicht vorhanden. | ||
* Der [https://de.wikipedia.org/wiki/Debian-Installer Debian Installer] erstellt diesen Eintrag für Systeme ohne feste IP-Adresse als provisorische Lösung für einige Software-Produkte (z. B. GNOME), wie in [ | * Der [https://de.wikipedia.org/wiki/Debian-Installer Debian Installer] erstellt diesen Eintrag für Systeme ohne feste IP-Adresse als provisorische Lösung für einige Software-Produkte (z. B. GNOME), wie in [https://bugs.debian.org/719621 Fehler #719621] dokumentiert. | ||
* Der Eintrag ''rechnername'' entspricht dem in"<tt>/etc/hostname</tt>" festgelegten Rechnernamen. | * Der Eintrag ''rechnername'' entspricht dem in"<tt>/etc/hostname</tt>" festgelegten Rechnernamen. | ||
* Auf Systemen mit einer festen IP-Adresse sollte allerdings diese feste IP-Adresse statt der <tt>127.0.1.1</tt> verwendet werden. | * Auf Systemen mit einer festen IP-Adresse sollte allerdings diese feste IP-Adresse statt der <tt>127.0.1.1</tt> verwendet werden. | ||
Zeile 144: | Zeile 144: | ||
; Anmerkung | ; Anmerkung | ||
:* Die [ | :* Die [https://newgtlds.icann.org/en/program-status/delegated-strings Ausweitung generischer Top-Level-Domains (gTLD)] im [https://de.wikipedia.org/wiki/Domain_Name_System Domain-Name-System] ist in Arbeit. | ||
* Achten Sie bei Auswahl von Domain-Namen, die nur im lokalen Netzwerk verwendet werden sollen, auf [ | * Achten Sie bei Auswahl von Domain-Namen, die nur im lokalen Netzwerk verwendet werden sollen, auf [https://icannwiki.com/Name_Collision Namenskollisionen] | ||
==== Der Netzwerkschnittstellenname ==== | ==== Der Netzwerkschnittstellenname ==== | ||
Zeile 152: | Zeile 152: | ||
==== Der Netzwerkadressbereich für das LAN ==== | ==== Der Netzwerkadressbereich für das LAN ==== | ||
Wir wollen uns an die IPv4 32-Bit-Adressbereiche erinnern, die durch die [ | Wir wollen uns an die IPv4 32-Bit-Adressbereiche erinnern, die durch die [https://tools.ietf.org/html/rfc1918 rfc1918] für jede Klasse zur Verwendung in [https://de.wikipedia.org/wiki/Local_Area_Network Local Area Networks (LANs)] reserviert sind. Diese Adressen werden bestimmt nicht mit irgendwelchen Adressen im Internet kollidieren. | ||
; Anmerkung | ; Anmerkung | ||
Zeile 244: | Zeile 244: | ||
=== Netzwerkkonfiguration auf unterster Ebene === | === Netzwerkkonfiguration auf unterster Ebene === | ||
Für Netzwerkkonfiguration über die Konsole können Sie unter Linux die [ | Für Netzwerkkonfiguration über die Konsole können Sie unter Linux die [https://www.linuxfoundation.org/collaborate/workgroups/networking/iproute2 iproute2]-Programme (<tt>ip</tt>(8), …) verwenden. | ||
==== iproute2-Befehle ==== | ==== iproute2-Befehle ==== | ||
Die [ | Die [https://www.linuxfoundation.org/collaborate/workgroups/networking/iproute2 iproute2]-Befehle bieten vollwertige Funktionalität auf der untersten Ebene der Netzwerkkonfiguration. Hier eine Tabelle zur Gegenüberstellung von veralteten [https://www.linuxfoundation.org/collaborate/workgroups/networking/net-tools net-tools]-Befehlen und neuen [https://www.linuxfoundation.org/collaborate/workgroups/networking/iproute2 iproute2]- und anderen Befehlen. | ||
; Gegenüberstellung von <tt>net-tools</tt>- und <tt>iproute2</tt>-Befehlen | ; Gegenüberstellung von <tt>net-tools</tt>- und <tt>iproute2</tt>-Befehlen | ||
Zeile 288: | Zeile 288: | ||
|} | |} | ||
Lesen Sie <tt>ip</tt>(8) und das [ | Lesen Sie <tt>ip</tt>(8) und das [https://www.policyrouting.org/iproute2.doc.html IPROUTE2 Utility Suite Howto]. | ||
Zeile 367: | Zeile 367: | ||
! | Beschreibung | ! | Beschreibung | ||
|- | |- | ||
| | [ | | | [https://packages.debian.org/sid/iftop iftop ] | ||
| | [ | | | [https://qa.debian.org/popcon-graph.php?packages=iftop V:7, I:112] | ||
| | [ | | | [https://packages.qa.debian.org/i/iftop.html 97] | ||
| | Informationen zur Bandbreitennutzung einer Netzwerkschnittstelle anzeigen | | | Informationen zur Bandbreitennutzung einer Netzwerkschnittstelle anzeigen | ||
|- | |- | ||
| | [ | | | [https://packages.debian.org/sid/iperf iperf ] | ||
| | [ | | | [https://qa.debian.org/popcon-graph.php?packages=iperf V:3, I:52] | ||
| | [ | | | [https://packages.qa.debian.org/i/iperf.html 322] | ||
| | Werkzeug zur IP-Bandbreiten-Messung | | | Werkzeug zur IP-Bandbreiten-Messung | ||
|- | |- | ||
| | [ | | | [https://packages.debian.org/sid/ifstat ifstat ] | ||
| | [ | | | [https://qa.debian.org/popcon-graph.php?packages=ifstat V:0, I:8] | ||
| | [ | | | [https://packages.qa.debian.org/i/ifstat.html 59] | ||
| | InterFace STATistics Monitoring (Netzwerkschnittstellen-Statistik/-Überwachung) | | | InterFace STATistics Monitoring (Netzwerkschnittstellen-Statistik/-Überwachung) | ||
|- | |- | ||
| | [ | | | [https://packages.debian.org/sid/bmon bmon ] | ||
| | [ | | | [https://qa.debian.org/popcon-graph.php?packages=bmon V:1, I:17] | ||
| | [ | | | [https://packages.qa.debian.org/b/bmon.html 146] | ||
| | Portierbarer Bandbreitenmonitor und Geschwindigkeitsrechner | | | Portierbarer Bandbreitenmonitor und Geschwindigkeitsrechner | ||
|- | |- | ||
| | [ | | | [https://packages.debian.org/sid/ethstatus ethstatus ] | ||
| | [ | | | [https://qa.debian.org/popcon-graph.php?packages=ethstatus V:0, I:4] | ||
| | [ | | | [https://packages.qa.debian.org/e/ethstatus.html 40] | ||
| | Skript, das schnell den Durchsatz eines Netzwerkgerätes messen kann | | | Skript, das schnell den Durchsatz eines Netzwerkgerätes messen kann | ||
|- | |- | ||
| | [ | | | [https://packages.debian.org/sid/bing bing ] | ||
| | [ | | | [https://qa.debian.org/popcon-graph.php?packages=bing V:0, I:1] | ||
| | [ | | | [https://packages.qa.debian.org/b/bing.html 80] | ||
| | Empirisch stochastischer Bandbreitentester | | | Empirisch stochastischer Bandbreitentester | ||
|- | |- | ||
| | [ | | | [https://packages.debian.org/sid/bwm-ng bwm-ng ] | ||
| | [ | | | [https://qa.debian.org/popcon-graph.php?packages=bwm-ng V:1, I:17] | ||
| | [ | | | [https://packages.qa.debian.org/b/bwm-ng.html 90] | ||
| | Kleiner und einfacher konsolenbasierter Bandbreitenmonitor | | | Kleiner und einfacher konsolenbasierter Bandbreitenmonitor | ||
|- | |- | ||
| | [ | | | [https://packages.debian.org/sid/ethstats ethstats ] | ||
| | [ | | | [https://qa.debian.org/popcon-graph.php?packages=ethstats V:0, I:0] | ||
| | [ | | | [https://packages.qa.debian.org/e/ethstats.html 23] | ||
| | Konsolenbasierter Ethernet-Statistikmonitor | | | Konsolenbasierter Ethernet-Statistikmonitor | ||
|- | |- | ||
| | [ | | | [https://packages.debian.org/sid/ipfm ipfm ] | ||
| | [ | | | [https://qa.debian.org/popcon-graph.php?packages=ipfm V:0, I:0] | ||
| | [ | | | [https://packages.qa.debian.org/i/ipfm.html 78] | ||
| | Bandbreitenanalyse-Werkzeug | | | Bandbreitenanalyse-Werkzeug | ||
|- | |- | ||
Zeile 441: | Zeile 441: | ||
rtt min/avg/max/mdev = 191.332/191.332/191.332/0.000 ms | rtt min/avg/max/mdev = 191.332/191.332/191.332/0.000 ms | ||
Dies ist das [https://de.wikipedia.org/wiki/Path_MTU_Discovery Path MTU (PMTU) Discovery]-Verfahren ([ | Dies ist das [https://de.wikipedia.org/wiki/Path_MTU_Discovery Path MTU (PMTU) Discovery]-Verfahren ([https://tools.ietf.org/html/rfc1191 RFC1191]) und der Befehl <tt>tracepath</tt>(8) kann dies automatisieren. | ||
; Grundregeln für den optimalen MTU-Wert | ; Grundregeln für den optimalen MTU-Wert | ||
Zeile 473: | Zeile 473: | ||
==== WAN-TCP-Optimierung ==== | ==== WAN-TCP-Optimierung ==== | ||
Der TCP-Durchsatz kann über die Anpassung von Parametern zur TCP-Puffergröße maximiert werden, wie es die Anleitungen "[ | Der TCP-Durchsatz kann über die Anpassung von Parametern zur TCP-Puffergröße maximiert werden, wie es die Anleitungen "[https://dsd.lbl.gov/TCP-tuning/ TCP Tuning Guide]" und "[https://en.wikipedia.org/wiki/TCP_tuning TCP Tuning]" für modernes WAN mit hoher Bandbreite und hoher Latenz beschreiben. Das soll hierzu genügen; die aktuellen Debian-Standardeinstellungen funktionieren für mein LAN mit seiner Verbindung zum sehr schnellen 1G bps FFTP-Dienst sehr gut | ||
=== Netfilter-Infrastruktur === | === Netfilter-Infrastruktur === | ||
Zeile 486: | Zeile 486: | ||
! | Beschreibung | ! | Beschreibung | ||
|- | |- | ||
| | [ | | | [https://packages.debian.org/sid/iptables iptables ] | ||
| | [ | | | [https://qa.debian.org/popcon-graph.php?packages=iptables V:306, I:942] | ||
| | [ | | | [https://packages.qa.debian.org/i/iptables.html 2521] | ||
| | Administrationswerkzeuge für [https://de.wikipedia.org/wiki/Netfilter netfilter] (<tt>iptables</tt>(8) für IPv4, <tt>ip6tables</tt>(8) für IPv6) | | | Administrationswerkzeuge für [https://de.wikipedia.org/wiki/Netfilter netfilter] (<tt>iptables</tt>(8) für IPv4, <tt>ip6tables</tt>(8) für IPv6) | ||
|- | |- | ||
| | [ | | | [https://packages.debian.org/sid/arptables arptables ] | ||
| | [ | | | [https://qa.debian.org/popcon-graph.php?packages=arptables V:0, I:2] | ||
| | [ | | | [https://packages.qa.debian.org/a/arptables.html 96] | ||
| | Administrationswerkzeuge für [https://de.wikipedia.org/wiki/Netfilter netfilter] (<tt>arptables</tt>(8) für ARP) | | | Administrationswerkzeuge für [https://de.wikipedia.org/wiki/Netfilter netfilter] (<tt>arptables</tt>(8) für ARP) | ||
|- | |- | ||
| | [ | | | [https://packages.debian.org/sid/ebtables ebtables ] | ||
| | [ | | | [https://qa.debian.org/popcon-graph.php?packages=ebtables V:14, I:33] | ||
| | [ | | | [https://packages.qa.debian.org/e/ebtables.html 265] | ||
| | Administrationswerkzeuge für [https://de.wikipedia.org/wiki/Netfilter netfilter] (<tt>ebtables</tt>(8) für Ethernet-Bridging-Betrieb) | | | Administrationswerkzeuge für [https://de.wikipedia.org/wiki/Netfilter netfilter] (<tt>ebtables</tt>(8) für Ethernet-Bridging-Betrieb) | ||
|- | |- | ||
| | [ | | | [https://packages.debian.org/sid/iptstate iptstate ] | ||
| | [ | | | [https://qa.debian.org/popcon-graph.php?packages=iptstate V:0, I:3] | ||
| | [ | | | [https://packages.qa.debian.org/i/iptstate.html 116] | ||
| | Fortlaufende Überwachung des [https://de.wikipedia.org/wiki/Netfilter netfilter]-Status (ähnlich zu <tt>top</tt>(1)) | | | Fortlaufende Überwachung des [https://de.wikipedia.org/wiki/Netfilter netfilter]-Status (ähnlich zu <tt>top</tt>(1)) | ||
|- | |- | ||
| | [ | | | [https://packages.debian.org/sid/shorewall-init shorewall-init ] | ||
| | [ | | | [https://qa.debian.org/popcon-graph.php?packages=shorewall-init V:0, I:0] | ||
| | [ | | | [https://packages.qa.debian.org/s/shorewall-init.html 68] | ||
| | Initialisierung der [https://de.wikipedia.org/wiki/Shorewall Shoreline Firewall] | | | Initialisierung der [https://de.wikipedia.org/wiki/Shorewall Shoreline Firewall] | ||
|- | |- | ||
| | [ | | | [https://packages.debian.org/sid/shorewall shorewall ] | ||
| | [ | | | [https://qa.debian.org/popcon-graph.php?packages=shorewall V:5, I:11] | ||
| | [ | | | [https://packages.qa.debian.org/s/shorewall.html 2458] | ||
| | Erzeugung von [https://de.wikipedia.org/wiki/Netfilter netfilter]-Konfigurationsdateien für [https://de.wikipedia.org/wiki/Shorewall Shoreline Firewall] | | | Erzeugung von [https://de.wikipedia.org/wiki/Netfilter netfilter]-Konfigurationsdateien für [https://de.wikipedia.org/wiki/Shorewall Shoreline Firewall] | ||
|- | |- | ||
| | [ | | | [https://packages.debian.org/sid/shorewall-lite shorewall-lite ] | ||
| | [ | | | [https://qa.debian.org/popcon-graph.php?packages=shorewall-lite V:0, I:0] | ||
| | [ | | | [https://packages.qa.debian.org/s/shorewall-lite.html 65] | ||
| | Erzeugung von [https://de.wikipedia.org/wiki/Netfilter netfilter]-Konfigurationsdateien für [https://de.wikipedia.org/wiki/Shorewall Shoreline Firewall] (abgespeckte Version) | | | Erzeugung von [https://de.wikipedia.org/wiki/Netfilter netfilter]-Konfigurationsdateien für [https://de.wikipedia.org/wiki/Shorewall Shoreline Firewall] (abgespeckte Version) | ||
|- | |- | ||
| | [ | | | [https://packages.debian.org/sid/shorewall6 shorewall6 ] | ||
| | [ | | | [https://qa.debian.org/popcon-graph.php?packages=shorewall6 V:1, I:2] | ||
| | [ | | | [https://packages.qa.debian.org/s/shorewall6.html 779] | ||
| | Erzeugung von [https://de.wikipedia.org/wiki/Netfilter netfilter]-Konfigurationsdateien für [https://de.wikipedia.org/wiki/Shorewall Shoreline Firewall] (IPv6-Version) | | | Erzeugung von [https://de.wikipedia.org/wiki/Netfilter netfilter]-Konfigurationsdateien für [https://de.wikipedia.org/wiki/Shorewall Shoreline Firewall] (IPv6-Version) | ||
|- | |- | ||
| | [ | | | [https://packages.debian.org/sid/shorewall6-lite shorewall6-lite ] | ||
| | [ | | | [https://qa.debian.org/popcon-graph.php?packages=shorewall6-lite V:0, I:0] | ||
| | [ | | | [https://packages.qa.debian.org/s/shorewall6-lite.html 64] | ||
| | Erzeugung von [https://de.wikipedia.org/wiki/Netfilter netfilter]-Konfigurationsdateien für [https://de.wikipedia.org/wiki/Shorewall Shoreline Firewall] (abgespeckte IPv6-Version) | | | Erzeugung von [https://de.wikipedia.org/wiki/Netfilter netfilter]-Konfigurationsdateien für [https://de.wikipedia.org/wiki/Shorewall Shoreline Firewall] (abgespeckte IPv6-Version) | ||
|- | |- | ||
Zeile 537: | Zeile 537: | ||
Konfigurations-Hilfsskripte wie [https://de.wikipedia.org/wiki/Shorewall shorewall] vereinfachen diesen Prozess. | Konfigurations-Hilfsskripte wie [https://de.wikipedia.org/wiki/Shorewall shorewall] vereinfachen diesen Prozess. | ||
Sie finden Dokumentation unter [ | Sie finden Dokumentation unter [https://www.netfilter.org/documentation/ https://www.netfilter.org/documentation/] oder in "<tt>/usr/share/doc/iptables/html/</tt>": | ||
* [ | * [https://www.netfilter.org/documentation/HOWTO/networking-concepts-HOWTO.html Linux Networking-Concepts HOWTO] | ||
* [ | * [https://www.netfilter.org/documentation/HOWTO/packet-filtering-HOWTO.html Linux 2.4 Packet Filtering HOWTO] | ||
* [ | * [https://www.netfilter.org/documentation/HOWTO/NAT-HOWTO.html Linux 2.4 NAT HOWTO] | ||
{| class="wikitable sortable options" | {| class="wikitable sortable options" |
Version vom 7. April 2025, 14:49 Uhr
Netzwerkinfrastruktur
- Elementare Netzwerkinfrastruktur eines Debian-Systems
Pakete | Beschreibung |
---|---|
network-manager | NetworkManager (Daemon): das Netzwerk automatisch verwalten |
network-manager-gnome | NetworkManager (GNOME-Frontend) |
ifupdown | standardisiertes Werkzeug zum Aktivieren und Deaktivieren des Netzwerks (Debian-spezifisch) |
isc-dhcp-client | DHCP-Client |
pppoeconf | Konfigurations-Hilfswerkzeug für PPPoE-Verbindungen |
wpasupplicant | clientseitige Unterstützung für WPA und WPA2 (IEEE 802.11i) |
wpagui | Qt-GUI-Programm für wpa_supplicant |
wireless-tools | Werkzeuge zum Bearbeiten der Linux Wireless Extensions |
iw | Werkzeug zum Konfigurieren von Drahtlos-Netzwerkgeräten unter Linux |
iproute2 | iproute2, IPv6 und andere erweiterte Netzwerkkonfiguration: ip(8), tc(8) usw. |
iptables | Administrationswerkzeuge für Paketfilterung und NAT (Netfilter) |
iputils-ping | Erreichbarkeit eines fernen Rechners über das Netzwerk testen, entweder mittels Rechnername oder IP-Addresse (iproute2) |
iputils-arping | Erreichbarkeit eines fernen Rechners über das Netzwerk mittels seiner ARP-Addresse testen |
iputils-tracepath | Netzwerkpfad zu einem fernen Rechner verfolgen |
ethtool | Eigenschaften von Ethernet-Geräten anzeigen oder ändern |
mtr-tiny | Netzwerkpfad zu einem fernen Rechner verfolgen (Curses-basiert) |
mtr | Netzwerkpfad zu einem fernen Rechner verfolgen (Curses- und GTK-basiert) |
gnome-nettool | Werkzeuge für allgemeine Netzwerkinformations-Operationen (GNOME) |
nmap | Netzwerk-Mapper/Port-Scanner (Nmap, konsolen-basiert) |
zenmap | Netzwerk-Mapper/Port-Scanner (GTK-basiert) |
tcpdump | Netzwerkverkehr-Analysator (Tcpdump, konsolen-basiert) |
wireshark | Netzwerkverkehr-Analysator (Wireshark, GTK-basiert) |
tshark | Netzwerkverkehr-Analysator (konsolen-basiert) |
tcptrace | eine Zusammenfassung von Verbindungen auf Basis der tcpdump-Ausgabe erstellen |
snort | flexibles Einbruchmeldesystem für das Netzwerk (Snort) |
ntopng | Daten über die Netzwerknutzung im Webbrowser anzeigen |
dnsutils | Netzwerk-Clients, die mit BIND bereitgestellt werden: nslookup(8), nsupdate(8), dig(8) |
dlint | DNS-Zoneninformationen mittels Nameserver-Abfragen überprüfen |
dnstracer | eine Verkettung von DNS-Servern zu ihrer Quelle verfolgen |
Aufgaben
Auflösung des Rechnernamens
- Die Auflösung des Rechnernamens (hostname) wird derzeit auch durch den NSS-(Name-Service-Switch-)Mechanismus unterstützt.
- Die Auflösung läuft wie folgt ab:# Die "/etc/nsswitch.conf"-Datei mit Einträgen wie "hosts: files dns" bestimmt die Reihenfolge der Rechnernamenauflösung.
- Dies ersetzt die alte Funktionalität der "order"-Einträge in "/etc/host.conf"
- Als erstes wird in diesem Beispiel die files-Methode aufgerufen.
- Wenn der Rechnername in der "/etc/hosts"-Datei gefunden wird, werden alle gültigen Adressen für den Rechner ausgegeben und die Abfrage wird beendet. (Die "/etc/host.conf"-Datei enthält "multi on".)
- Dann wird die dns-Methode wird aufgerufen.
- Wenn der Rechnername über das Internet Domain Name System (DNS) (definiert über die Datei "/etc/resolv.conf") gefunden wird, werden alle dafür gültigen Adressen ausgegeben und die Abfrage wird beendet.
- /etc/hosts
127.0.0.1 localhost 127.0.1.1 host_name # The following lines are desirable for IPv6 capable hosts ::1 localhost ip6-localhost ip6-loopback ff02::1 ip6-allnodes ff02::2 ip6-allrouters
Jede Zeile beginnt mit einer IP-Addresse und dahinter steht jeweils der zugeordnete Rechnername.
Die IP-Adresse 127.0.1.1 in der zweiten Zeile dieses Beispiels ist auf einigen anderen Unix-ähnlichen Systemen möglicherweise nicht vorhanden.
- Der Debian Installer erstellt diesen Eintrag für Systeme ohne feste IP-Adresse als provisorische Lösung für einige Software-Produkte (z. B. GNOME), wie in Fehler #719621 dokumentiert.
- Der Eintrag rechnername entspricht dem in"/etc/hostname" festgelegten Rechnernamen.
- Auf Systemen mit einer festen IP-Adresse sollte allerdings diese feste IP-Adresse statt der 127.0.1.1 verwendet werden.
Bei Systemen mit einer festen IP-Adresse und einem voll qualifizierten Domain-Namen (FQDN), bereitgestellt durch das Domain Name System (DNS), sollte rechnername.domain-name verwendet werden statt nur rechnername.
Die Datei "/etc/resolv.conf" ist eine statische Datei, falls das Paket resolvconf nicht installiert ist.
- Falls das Paket installiert ist, ist dies ein symbolischer Link.
- In beiden Fällen enthält es Informationen zur Initialisierung der Namensauflösungs-Routinen. Wenn das DNS zum Beispiel über die IP "192.168.11.1" erreichbar ist, enthält sie Folgendes:
nameserver 192.168.11.1
Das resolvconf-Paket macht "/etc/resolv.conf" zu einem symbolischen Link und verwaltet ihren Inhalt automatisch über die Hook-Skripte.
Bei PC-Arbeitsplatzrechnern in einer typischen LAN-Umgebung kann der Rechnername zusätzlich zu den grundlegenden files- und dns-Methoden auch über Multicast DNS (mDNS, Zeroconf) aufgelöst werden:
- Avahi stellt ein Rahmenwerk für Multicast-DNS-Diensteabfragen auf Debian-Systemen bereit.
- Es ist ein Äquivalent zu Apple Bonjour / Apple Rendezvous.
- Das libnss-mdns-Plugin-Paket bietet Rechnernamensauflösung via mDNS für die GNU Name-Service-Switch-(NSS-)Funktionalität der GNU C-Bibliothek (glibc).
- Die Datei "/etc/nsswitch.conf" sollte Einträge wie "hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4" enthalten.
- Rechnernamen, die mit der Pseudo-Top-Level Domain (TLD) ".local" enden, werden aufgelöst.
- Die mDNS IPv4 link-lokale Multicast-Adresse "224.0.0.251" oder ihr IPv6-Äquivalent "FF02::FB" wird verwendet, um DNS-Abfragen für einen auf ".local" endenden Namen durchzuführen.
Rechnernamensauflösung über das veraltete NETBios over TCP/IP, das von älteren Windows-Systemen verwendet wurde, kann über die Installation des Pakets winbind realisiert werden.
- Die "/etc/nsswitch.conf"-Datei sollte Einträge wie "hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4 wins" enthalten, um diese Funktionalität zu aktivieren.
- Moderne Windows-Systeme verwenden normalerweise die dns-Methode zur Rechnernamensauflösung.
- Anmerkung
-
- Die Ausweitung generischer Top-Level-Domains (gTLD) im Domain-Name-System ist in Arbeit.
- Achten Sie bei Auswahl von Domain-Namen, die nur im lokalen Netzwerk verwendet werden sollen, auf Namenskollisionen
Der Netzwerkschnittstellenname
Systemd verwendet "verlässlich vorhersagbare Namen (Predictable Network Interface Names)" wie "enp0s25".
Der Netzwerkadressbereich für das LAN
Wir wollen uns an die IPv4 32-Bit-Adressbereiche erinnern, die durch die rfc1918 für jede Klasse zur Verwendung in Local Area Networks (LANs) reserviert sind. Diese Adressen werden bestimmt nicht mit irgendwelchen Adressen im Internet kollidieren.
- Anmerkung
- IP-Adressen mit Doppelpunkten sind IPv6-Adressen, z. B. "::1" für localhost.
- Liste der Netzwerkadressbereiche
Klasse | Netzwerkadressen | Netzmaske | Netzmaske /Bits | von Subnetzwerken |
---|---|---|---|---|
A | 10.x.x.x | 255.0.0.0 | /8 | 1 |
B | 172.16.x.x — 172.31.x.x | 255.255.0.0 | /16 | 16 |
C | 192.168.0.x — 192.168.255.x | 255.255.255.0 | /24 | 256 |
- Anmerkung
- Wenn eine dieser Adressen einem Rechner zugewiesen ist, kann dieser Rechner das Internet nicht direkt erreichen, sondern muss ein Gateway verwenden, der als Proxy für verschiedene Dienste dient, oder er nutzt Network Address Translation (NAT). Ein Breitband-Router nutzt üblicherweise NAT für das Anwender-Netzwerk
Unterstützung für Netzwerkgeräte
Der größte Teil verfügbarer Netzwerk-Hardware wird durch das Debian-System unterstützt; es gibt einige Geräte, die laut DFSG nicht-freie Firmware für den Betrieb erfordern. Lesen Sie dazu Abschnitt 9.10.5, "Hardware-Treiber und Firmware".
Moderne Netzwerkkonfiguration für Arbeitsplatzsysteme
Auf modernen Debian-Desktop-Systemen mit systemd erfolgt die Initialisierung von Netzwerkschnittstellen für die Loopback-Schnittstelle lo typischerweise durch "networking.service" und für andere Schnittstellen durch "NetworkManager.service".
Debian-Systeme können Netzwerkverbindungen über Software-Daemons wie NetworkManager (NM) (network-manager und zugehörige Pakete) verwalten.
- Sie haben ihre eigenen grafischen GUI- und Befehlszeilen-Programme als Bedienoberfläche.
- Sie haben ihre eigenen Daemons als Unterbau.
- Sie erlauben eine einfache Verbindung Ihres Systems mit dem Internet.
- Sie ermöglichen eine problemlose Verwaltung von kabelgebundenen und kabellosen Netzwerkkonfigurationen.
- Sie erlauben uns, das Netzwerk unabhängig vom althergebrachten ifupdown zu konfigurieren.
- Anmerkung
- Verwenden Sie diese automatischen Netzwerkkonfigurations-Werkzeuge nicht für Server. Sie sind primär für die Nutzung auf Arbeitsplatzrechnern oder Laptops gedacht.
Diese modernen Werkzeuge müssen korrekt konfiguriert werden, um Konflikte mit dem ifupdown-Paket und seiner Konfigurationsdatei "/etc/network/interfaces" zu vermeiden.
Grafische Netzwerkkonfigurations-Werkzeuge
Offizielle Dokumentation für NM unter Debian ist in "/usr/share/doc/network-manager/README.Debian" verfügbar.
Grundsätzlich läuft die Netzwerkkonfiguration für Arbeitsplatzsysteme wie folgt ab:# Fügen Sie den Benutzer, der sich am Arbeitsplatz anmeldet, z. B. foo, mit folgendem Befehl zur Gruppe "netdev" hinzu (alternativ kann dies in modernen Arbeitsplatzumgebungen wie GNOME oder KDE auch automatisch über D-bus erledigt werden):
$ sudo adduser foo netdev
- Halten Sie die Konfiguration in "/etc/network/interfaces" so einfach wie hier:
auto lo
iface lo inet loopback - Starten Sie NM mit folgendem Befehl neu:
$ sudo systemctl restart network-manager - Konfigurieren Sie Ihr Netzwerk über die grafische GUI-Oberfläche.
- Anmerkung
- Um Konflikte mit ifupdown zu vermeiden, werden nur Schnittstellen, die nicht in "/etc/network/interfaces" aufgelistet sind, von NM verwaltet.
- Tipp
- Wenn Sie die Fähigkeiten von NM erweitern möchten, suchen Sie nach entsprechenden Plugin-Modulen und zusätzlichen Paketen wie network-manager-openconnect, network-manager-openvpn-gnome, network-manager-pptp-gnome, mobile-broadband-provider-info, gnome-bluetooth usw.
Moderne Netzwerkkonfiguration ohne grafische Oberfläche
Unter systemd kann das Netzwerk stattdessen in /etc/systemd/network/ konfiguriert werden. Lesen Sie dazu systemd-resolved(8), resolved.conf(5) und systemd-networkd(8).
Dies ermöglicht eine moderne Netzwerkkonfiguration auch ohne grafische Oberfläche.
Eine DHCP-Client-Konfiguration kann durch Erzeugen von "/etc/systemd/network/dhcp.network" eingerichtet werden, z. B. mit:
[Match] Name=en* [Network] DHCP=yes
Eine statische Netzwerkkonfiguration richten Sie über "/etc/systemd/network/static.network" ein, wie hier:
[Match] Name=en* [Network] Address=192.168.0.15/24 Gateway=192.168.0.1
Netzwerkkonfiguration auf unterster Ebene
Für Netzwerkkonfiguration über die Konsole können Sie unter Linux die iproute2-Programme (ip(8), …) verwenden.
iproute2-Befehle
Die iproute2-Befehle bieten vollwertige Funktionalität auf der untersten Ebene der Netzwerkkonfiguration. Hier eine Tabelle zur Gegenüberstellung von veralteten net-tools-Befehlen und neuen iproute2- und anderen Befehlen.
- Gegenüberstellung von net-tools- und iproute2-Befehlen
net-tools (veraltet) | iproute2 usw. (neu) | Beeinflussung |
---|---|---|
ifconfig(8) | ip addr | Protokoll-Adresse (IP oder IPv6) eines Gerätes |
route(8) | ip route | Eintrag in der Routing-Tabelle |
arp(8) | ip neigh | ARP- oder NDISC-Cache-Eintrag |
ipmaddr | ip maddr | Multicast-Adresse |
iptunnel | ip tunnel | Tunnel über IP |
nameif(8) | ifrename(8) | Netzwerkschnittstellen basierend auf MAC-Adressen benennen |
mii-tool(8) | ethtool(8) | Einstellungen von Ethernet-Geräten |
Lesen Sie ip(8) und das IPROUTE2 Utility Suite Howto.
Sichere Basis-Netzwerkoperationen
Sie können die folgenden Netzwerkbefehle der untersten Ebene problemlos verwenden, da sie die Netzwerkkonfiguration nicht verändern
- Basis-Netzwerkbefehle
Befehl | Beschreibung |
---|---|
ip addr show | Verbindungs- und Adressstatus von aktiven Schnittstellen anzeigen |
route -n | Vollständige Routing-Tabelle mit numerischen Adressen anzeigen |
ip route show | Vollständige Routing-Tabelle mit numerischen Adressen anzeigen |
arp | Aktuellen Inhalt der ARP-Cache-Tabellen anzeigen |
ip neigh | Aktuellen Inhalt der ARP-Cache-Tabellen anzeigen |
plog | Logdaten des PPP-Daemons anzeigen |
ping yahoo.com | Internet-Verbindung zu "yahoo.com" überprüfen |
whois yahoo.com | Überprüfen, wer "yahoo.com" in der Domain-Datenbank registriert hat |
traceroute yahoo.com | Verbindung zu "yahoo.com" durch das Internet verfolgen |
tracepath yahoo.com | Verbindung zu "yahoo.com" durch das Internet verfolgen |
mtr yahoo.com | Verbindung zu "yahoo.com" durch das Internet verfolgen (wiederholt) |
dig [@dns-server.com] example.com [{a|mx|any}] | DNS-Einträge von "example.com" laut den Daten von "dns-server.com" auf einen "a"-, "mx"- oder "any"-Eintrag überprüfen |
iptables -L -n | Paketfilter überprüfen |
netstat -a | Alle offenen Ports finden |
netstat -l --inet | Ports finden, die auf eine Verbindung warten |
netstat -ln --tcp | TCP-Ports finden, die auf eine Verbindung warten (numerisch) |
dlint example.com | DNS-Zonen-Informationen von "example.com" überprüfen |
- Tipp
- Einige dieser Basisbefehle zur Netzwerkkonfiguration sind in "/sbin/" abgelegt. Sie müssen unter Umständen den vollständigen Pfad, wie z. B. "/sbin/ifconfig" angeben oder "/sbin" zur Variable "$PATH" in Ihrer "~/.bashrc"-Datei hinzufügen
Netzwerkoptimierung
Die grundsätzliche Netzwerkoptimierung liegt außerhalb des Rahmens dieser Dokumentation. Ich erwähne hier nur Dinge, die für Anwender-typische Verbindungen passend sind
- Werkzeugen zur Netzwerkoptimierung
Pakete | Popcon | Größe | Beschreibung |
---|---|---|---|
iftop | V:7, I:112 | 97 | Informationen zur Bandbreitennutzung einer Netzwerkschnittstelle anzeigen |
iperf | V:3, I:52 | 322 | Werkzeug zur IP-Bandbreiten-Messung |
ifstat | V:0, I:8 | 59 | InterFace STATistics Monitoring (Netzwerkschnittstellen-Statistik/-Überwachung) |
bmon | V:1, I:17 | 146 | Portierbarer Bandbreitenmonitor und Geschwindigkeitsrechner |
ethstatus | V:0, I:4 | 40 | Skript, das schnell den Durchsatz eines Netzwerkgerätes messen kann |
bing | V:0, I:1 | 80 | Empirisch stochastischer Bandbreitentester |
bwm-ng | V:1, I:17 | 90 | Kleiner und einfacher konsolenbasierter Bandbreitenmonitor |
ethstats | V:0, I:0 | 23 | Konsolenbasierter Ethernet-Statistikmonitor |
ipfm | V:0, I:0 | 78 | Bandbreitenanalyse-Werkzeug |
Die optimale MTU finden
NM setzt den optimalen Wert für die Maximum Transmission Unit (MTU) normalerweise automatisch.
In speziellen Fällen möchten Sie die MTU jedoch vielleicht händisch setzen, nachdem Sie mit ping(8) und seiner Option "-M do" experimentiert haben; Sie haben damit die Möglichkeit, ein ICMP-Paket mit verschiedenen Paketgrößen zu verschicken. MTU ist die größte Paketgröße, bei der das Paket noch erfolgreich ohne Fragmentierung verschickt werden kann plus 28 Byte für die IPv4- bzw. 48 Byte für die IPv6-Adresse. In folgendem Beispiel wurde für eine IPv4-Verbindung eine MTU von 1460 ermittelt und für IPv6 eine MTU von 1500:
$ ping -4 -c 1 -s $((1500-28)) -M do www.debian.org PING (149.20.4.15) 1472(1500) bytes of data. ping: local error: message too long, mtu=1460 --- ping statistics --- 1 packets transmitted, 0 received, +1 errors, 100% packet loss, time 0ms
$ ping -4 -c 1 -s $((1460-28)) -M do www.debian.org PING (130.89.148.77) 1432(1460) bytes of data. 1440 bytes from klecker-misc.debian.org (130.89.148.77): icmp_seq=1 ttl=50 time=325 ms --- ping statistics --- 1 packets transmitted, 1 received, 0% packet loss, time 0ms rtt min/avg/max/mdev = 325.318/325.318/325.318/0.000 ms $ ping -6 -c 1 -s $((1500-48)) -M do www.debian.org PING www.debian.org(mirror-csail.debian.org (2603:400a:ffff:bb8::801f:3e)) 1452 data bytes 1460 bytes from mirror-csail.debian.org (2603:400a:ffff:bb8::801f:3e): icmp_seq=1 ttl=47 time=191 ms --- www.debian.org ping statistics --- 1 packets transmitted, 1 received, 0% packet loss, time 0ms rtt min/avg/max/mdev = 191.332/191.332/191.332/0.000 ms
Dies ist das Path MTU (PMTU) Discovery-Verfahren (RFC1191) und der Befehl tracepath(8) kann dies automatisieren.
- Grundregeln für den optimalen MTU-Wert
Netzwerkumgebung | MTU | Argumentation |
---|---|---|
Einwahlverbindung (IP: PPP) | 576 | Standard |
Ethernet-Verbindung (IP: DHCP oder fest) | 1500 | Standard und vorgegeben |
Zusätzlich zu diesen Grundregeln sollten Sie Folgendes wissen:
- Jegliche Nutzung von Tunneling-Methoden (VPN usw.) kann aufgrund des Overheads den optimalen MTU-Wert reduzieren.
- Der MTU-Wert sollte den über die experimentelle Methode ermittelten PMTU-Wert nicht überschreiten.
- Ein größerer MTU-Wert ist grundsätzlich besser, wenn andere Einschränkungen greifen.
Die Maximum Segment Size (MSS) wird als alternative Messmethode für die Paketgröße verwendet. Der Zusammenhang zwischen MSS und MTU ist wie folgt:
- MSS = "MTU - 40" bei IPv4
- MSS = "MTU - 60" bei IPv6
- Anmerkung
- Bei Netzwerkoptimierung mittels iptables(8) (lesen Sie dazu auch Abschnitt 5.6, "Die Netfilter-Infrastruktur") kann die Paketgröße über die MSS begrenzt werden; dies ist für einen Router nützlich. Lesen Sie den Abschnitt bezüglich "TCPMSS" in iptables(8)
WAN-TCP-Optimierung
Der TCP-Durchsatz kann über die Anpassung von Parametern zur TCP-Puffergröße maximiert werden, wie es die Anleitungen "TCP Tuning Guide" und "TCP Tuning" für modernes WAN mit hoher Bandbreite und hoher Latenz beschreiben. Das soll hierzu genügen; die aktuellen Debian-Standardeinstellungen funktionieren für mein LAN mit seiner Verbindung zum sehr schnellen 1G bps FFTP-Dienst sehr gut
Netfilter-Infrastruktur
Netfilter stellt eine Infrastruktur für Stateful Packet Inspection (SPI, zustandsorientierte Paketüberprüfung) und Network Address Translation (NAT) über Module des Linux-Kernels (lesen Sie hierzu Abschnitt 3.8.1, "Die Kernel-Modul-Initialisierung") zur Verfügung.
- Firewall-Werkzeuge
Pakete | Popcon | Größe | Beschreibung |
---|---|---|---|
iptables | V:306, I:942 | 2521 | Administrationswerkzeuge für netfilter (iptables(8) für IPv4, ip6tables(8) für IPv6) |
arptables | V:0, I:2 | 96 | Administrationswerkzeuge für netfilter (arptables(8) für ARP) |
ebtables | V:14, I:33 | 265 | Administrationswerkzeuge für netfilter (ebtables(8) für Ethernet-Bridging-Betrieb) |
iptstate | V:0, I:3 | 116 | Fortlaufende Überwachung des netfilter-Status (ähnlich zu top(1)) |
shorewall-init | V:0, I:0 | 68 | Initialisierung der Shoreline Firewall |
shorewall | V:5, I:11 | 2458 | Erzeugung von netfilter-Konfigurationsdateien für Shoreline Firewall |
shorewall-lite | V:0, I:0 | 65 | Erzeugung von netfilter-Konfigurationsdateien für Shoreline Firewall (abgespeckte Version) |
shorewall6 | V:1, I:2 | 779 | Erzeugung von netfilter-Konfigurationsdateien für Shoreline Firewall (IPv6-Version) |
shorewall6-lite | V:0, I:0 | 64 | Erzeugung von netfilter-Konfigurationsdateien für Shoreline Firewall (abgespeckte IPv6-Version) |
Das vorherrschende Nutzerprogramm für netfilter ist iptables(8). Sie können netfilter von Hand interaktiv über die Shell konfigurieren, seinen Status mit iptables-save(8) sichern und beim Systemstart über ein Init-Skript mittels iptables-restore(8) wiederherstellen.
Konfigurations-Hilfsskripte wie shorewall vereinfachen diesen Prozess.
Sie finden Dokumentation unter https://www.netfilter.org/documentation/ oder in "/usr/share/doc/iptables/html/":
"[Tipp]" | Tipp |
Obwohl für Linux 2.4 geschrieben, sind sowohl der iptables(8)-Befehl wie auch die Netfilter-Kernel-Funktionalität für die Linux-Kernel-Serien 2.6 und 3.x passend. |
Quelle: https://www.debian.org/doc/manuals/debian-reference/ch05.de.html