IPv6/proc: Unterschied zwischen den Versionen

Aus Foxwiki
Die Seite wurde neu angelegt: „== Kernel-Einstellungen im /proc-Dateisystem == Anmerkung: Dieses Kapitel basiert großteils auf der Datei ”ip-sysctl.txt”, welche in den aktuellen Kernel-Quellen im Verzeichnis ”Documentation/networking” zu finden ist. Danke an dieser Stelle an Pekka Savola, der den IPv6 relevanten Inhalt dieser Datei wartet und betreut. Ebenso sei erwähnt, dass einige Textstellen hieraus mehr oder weniger mit Copy & Paste in dieses Dokument übernommen wurden.…“
 
 
(10 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
== Kernel-Einstellungen im /proc-Dateisystem ==
== Kernel-Einstellungen im /proc-Dateisystem ==
Anmerkung: Dieses Kapitel basiert großteils auf der Datei ”ip-sysctl.txt”, welche in den aktuellen Kernel-Quellen im Verzeichnis ”Documentation/networking” zu finden ist. Danke an dieser Stelle an Pekka Savola, der den IPv6 relevanten Inhalt dieser Datei wartet und betreut. Ebenso sei erwähnt, dass einige Textstellen hieraus mehr oder weniger mit Copy & Paste in dieses Dokument übernommen wurden.
== Zugriff auf das /proc-Dateisystem ==
 
=== Verwendung von "cat" und "echo" ===
=== Zugriff auf das /proc-Dateisystem ===
==== Verwendung von "cat" und "echo" ====
Mit ”cat” und ”echo” können Sie am einfachsten das /proc Dateisystem einsehen. Hierfür gibt es aber einige Voraussetzungen, die erfüllt sein müssen:
Mit ”cat” und ”echo” können Sie am einfachsten das /proc Dateisystem einsehen. Hierfür gibt es aber einige Voraussetzungen, die erfüllt sein müssen:
* Das /proc-Dateisystem muss im Kernel aktiviert sein. Hierfür muss die folgende Einstellung beim kompilieren des Kernels vorgenommen werden:
* Das /proc-Dateisystem muss im Kernel aktiviert sein. Hierfür muss die folgende Einstellung beim kompilieren des Kernels vorgenommen werden:
{| class="wikitable"
|
|}
* Das /proc-Dateisystem muss zuerst gemountet sein. Dies kann wie folgt getestet werden:
* Das /proc-Dateisystem muss zuerst gemountet sein. Dies kann wie folgt getestet werden:
{| class="wikitable"
|
|}
* Sie benötigen Lese- und manchmal auch Schreib-Zugriff (normalerweise nur als Root-Benutzer) auf das /proc-Dateisystem.
* Sie benötigen Lese- und manchmal auch Schreib-Zugriff (normalerweise nur als Root-Benutzer) auf das /proc-Dateisystem.


Normalerweise sind, mit Ausnahme in /proc/sys/*, alle Einträge ausschließlich mit Leserechten ausgestattet. Die Einträge werden zum Zweck der Informationsgewinnung verwendet.
Normalerweise sind, mit Ausnahme in /proc/sys/*, alle Einträge ausschließlich mit Leserechten ausgestattet. Die Einträge werden zum Zweck der Informationsgewinnung verwendet.


===== Wert anzeigen =====
==== Wert anzeigen ====
Den Inhalt eines Eintrags können sie mit ”cat” anzeigen:
Den Inhalt eines Eintrags können sie mit ”cat” anzeigen:
{| class="wikitable"
|
|}


===== Wert einstellen =====
==== Wert einstellen ====
Mit ”echo” können sie einen neuen Wert zuweisen (nur wenn der Eintrag beschreibbar ist):
Mit ”echo” können sie einen neuen Wert zuweisen (nur wenn der Eintrag beschreibbar ist):
{| class="wikitable"
|
|}


==== Verwendung von "sysctl" ====
=== Verwendung von "sysctl" ===
Die Verwendung des Programms ”sysctl” ist eine zeitgemäße Methode zum Anzeigen der Kernel-Switches. Es funktioniert auch dann, wenn das /proc-Dateisystem nicht gemountet ist, wobei aber nur ein Zugriff auf /proc/sys/* möglich ist!
Die Verwendung des Programms ”sysctl” ist eine zeitgemäße Methode zum Anzeigen der Kernel-Switches. Es funktioniert auch dann, wenn das /proc-Dateisystem nicht gemountet ist, wobei aber nur ein Zugriff auf /proc/sys/* möglich ist!


Das Programm ”sysctl” ist (auf Red Hat Linux Systemen) im Paket ”procps” enthalten.
Das Programm ”sysctl” ist (auf Red Hat Linux Systemen) im Paket ”procps” enthalten.
* Das sysctl-Interface muss im Kernel aktiviert sein. Hierfür muss die folgende Einstellung beim kompilieren des Kernels vorgenommen werden:
* Das sysctl-Interface muss im Kernel aktiviert sein. Hierfür muss die folgende Einstellung beim kompilieren des Kernels vorgenommen werden:


{| class="wikitable"
==== Wert anzeigen ====
|
|}
 
===== Wert anzeigen =====
Der Wert eines Eintrags kann nun angezeigt werden:
Der Wert eines Eintrags kann nun angezeigt werden:
{| class="wikitable"
|
|}


===== Wert einstellen =====
==== Wert einstellen ====
Ein neuer Wert kann wie folgt zugewiesen werden (wenn der Eintrag beschreibbar ist):
Ein neuer Wert kann wie folgt zugewiesen werden (wenn der Eintrag beschreibbar ist):
{| class="wikitable"
 
|
|}
Anmerkung: Verwenden Sie beim setzen eines Wertes keine Leerzeichen vor oder nach dem ”=”. Sollten Sie mehrere Werte in einer Zeile angeben, müssen sie diese mit Anführungszeichen umgeben:
Anmerkung: Verwenden Sie beim setzen eines Wertes keine Leerzeichen vor oder nach dem ”=”. Sollten Sie mehrere Werte in einer Zeile angeben, müssen sie diese mit Anführungszeichen umgeben:
{| class="wikitable"
|
|}


===== Sonstiges =====
==== Sonstiges ====
Anmerkung: Es gibt sysctl-Versionen im Umlauf, die anstelle des Punktes ”.” einen slash ”/” ausgeben.
Anmerkung: Es gibt sysctl-Versionen im Umlauf, die anstelle des Punktes ”.” einen slash ”/” ausgeben.


Zeile 68: Zeile 36:
Hinweise: Um schnell einen Überblick über die Einstellungen zu bekommen, verwenden Sie einfach die Option ”-a” (anzeigen aller Einträge) sowie das Tool ”grep”.
Hinweise: Um schnell einen Überblick über die Einstellungen zu bekommen, verwenden Sie einfach die Option ”-a” (anzeigen aller Einträge) sowie das Tool ”grep”.


==== Werte im /proc-Dateisystem ====
=== Werte im /proc-Dateisystem ===
Es gibt im /proc-Dateisystem unterschiedliche Formate:
Es gibt im /proc-Dateisystem unterschiedliche Formate:
* BOOLEAN: einfach eine ”0” (falsch) oder eine ”1” (wahr)
* BOOLEAN: einfach eine ”0” (falsch) oder eine ”1” (wahr)
* INTEGER: Wert ist eine Ganzzahl (kann auch eine unsigned int sein)
* INTEGER: Wert ist eine Ganzzahl (kann auch eine unsigned int sein)
* Kompliziertere Zeilen mit verschiedenen Werten: manchmal wir eine Header-Zeile mit angezeigt... Sie können aber auch weitere Informationen zu den Werten und deren Bedeutung direkt in den Kernel Quellen beziehen.
* Kompliziertere Zeilen mit verschiedenen Werten: manchmal wir eine Header-Zeile mit angezeigt... Sie können aber auch weitere Informationen zu den Werten und deren Bedeutung direkt in den Kernel Quellen beziehen.


=== Einträge in /proc/sys/net/ipv6/ ===
== /proc/sys/net/ipv6/ ==
==== 11.2.1. conf/default/* ====
=== conf/default/* ===
Ändern der Interface-spezifischen Einstellungen.
Ändern der Interface-spezifischen Einstellungen.


==== 11.2.2. conf/all/* ====
=== conf/all/* ===
Ändern aller Interface-spezifischen Einstellungen.
Ändern aller Interface-spezifischen Einstellungen.


Ausnahme: ”conf/all/forwarding” hat hier eine andere Bedeutung:
Ausnahme: ”conf/all/forwarding” hat hier eine andere Bedeutung:


===== 11.2.2.1. conf/all/forwarding =====
==== conf/all/forwarding ====
* Typ: BOOLEAN
* Typ: BOOLEAN


Zeile 95: Zeile 62:
Ist der Wert gleich 0, dann ist IPv6 forwarding deaktiviert. Pakete verlassen in diesem Fall niemals ein anderes Interface (weder physikalische noch logische wie z.B. Tunnel).
Ist der Wert gleich 0, dann ist IPv6 forwarding deaktiviert. Pakete verlassen in diesem Fall niemals ein anderes Interface (weder physikalische noch logische wie z.B. Tunnel).


==== 11.2.3. conf/interface/* ====
=== conf/interface/* ===
Spezielle Einstellungen per Interface ändern.
Spezielle Einstellungen per Interface ändern.


Das funktionale Verhalten einzelner Einstellungen ist davon abhängig, ob lokales forwarding aktiviert ist oder nicht.
Das funktionale Verhalten einzelner Einstellungen ist davon abhängig, ob lokales forwarding aktiviert ist oder nicht.


===== 11.2.3.1. accept_ra =====
==== accept_ra ====
* Typ: BOOLEAN
* Typ: BOOLEAN
* Standardeinstellung: aktiviert, wenn lokales forwarding deaktiviert ist. Deaktiviert, wenn lokales forwarding aktiviert ist.
* Standardeinstellung: aktiviert, wenn lokales forwarding deaktiviert ist. Deaktiviert, wenn lokales forwarding aktiviert ist.
Zeile 106: Zeile 73:
Router Advertisements werden akzeptiert; das Interface wird mit Status 'received data' automatisch konfiguriert.
Router Advertisements werden akzeptiert; das Interface wird mit Status 'received data' automatisch konfiguriert.


===== 11.2.3.2. accept_redirects =====
==== accept_redirects ====
* Typ: BOOLEAN
* Typ: BOOLEAN
* Standardeinstellung: aktiviert, wenn lokales forwarding deaktiviert ist. Deaktiviert, wenn lokales forwarding aktiviert ist.
* Standardeinstellung: aktiviert, wenn lokales forwarding deaktiviert ist. Deaktiviert, wenn lokales forwarding aktiviert ist.
Zeile 112: Zeile 79:
Akzeptiert von IPv6 Router gesendete Redirects.
Akzeptiert von IPv6 Router gesendete Redirects.


===== 11.2.3.3. autoconf =====
==== autoconf ====
* Typ: BOOLEAN
* Typ: BOOLEAN
* Funktionale Standardeinstellung: aktiviert, wenn accept_ra_pinfo aktiv ist. Deaktiviert, wenn accept_ra_pinfo deaktiviert ist.
* Funktionale Standardeinstellung: aktiviert, wenn accept_ra_pinfo aktiv ist. Deaktiviert, wenn accept_ra_pinfo deaktiviert ist.
Zeile 118: Zeile 85:
Autokonfiguriert Adressen unter Benutzung der Prefix-Information eines Router-Advertisements.
Autokonfiguriert Adressen unter Benutzung der Prefix-Information eines Router-Advertisements.


===== 11.2.3.4. dad_transmits =====
==== dad_transmits ====
* Typ: INTEGER
* Typ: INTEGER
* Standardwert: 1
* Standardwert: 1
Zeile 124: Zeile 91:
Die Anzahl der gesendeten Proben zum entdecken von Adress-Duplikaten.
Die Anzahl der gesendeten Proben zum entdecken von Adress-Duplikaten.


===== 11.2.3.5. forwarding =====
==== forwarding ====
* Typ: BOOLEAN
* Typ: BOOLEAN
* Standardwert: FALSCH, wenn globale forwarding deaktiviert ist (Standard), ansonst WAHR
* Standardwert: FALSCH, wenn globale forwarding deaktiviert ist (Standard), ansonst WAHR
Zeile 131: Zeile 98:


Anmerkung: Es wird die gleiche Konfiguration für alle Interfaces empfohlen; Gemischte Host/Router-Szenarios sind eher unüblich.
Anmerkung: Es wird die gleiche Konfiguration für alle Interfaces empfohlen; Gemischte Host/Router-Szenarios sind eher unüblich.
* Wert FALSCH: Per Standard wird von einem Host-Verhalten ausgegangen. Das bedeutet:
* Wert FALSCH: Per Standard wird von einem Host-Verhalten ausgegangen. Das bedeutet:


Zeile 138: Zeile 104:
# Wenn accept_ra WAHR ist (Standard), dann werden Router Advertisements akzeptiert (und starte die automatische Konfiguration).
# Wenn accept_ra WAHR ist (Standard), dann werden Router Advertisements akzeptiert (und starte die automatische Konfiguration).
# Wenn accept_redirects WAHR ist (Standard), dann akzeptiere Redirects.
# Wenn accept_redirects WAHR ist (Standard), dann akzeptiere Redirects.
* Wert WAHR: Ist lokales forwarding eingeschaltet, dann wird von einem Router-Verhalten ausgegangen. Das bedeutet genau das Gegenteil zu oben:
* Wert WAHR: Ist lokales forwarding eingeschaltet, dann wird von einem Router-Verhalten ausgegangen. Das bedeutet genau das Gegenteil zu oben:


Zeile 146: Zeile 111:
# Redirects werden ignoriert.
# Redirects werden ignoriert.


===== 11.2.3.6. hop_limit =====
==== hop_limit ====
* Typ: INTEGER
* Typ: INTEGER
* Standardwert: 64
* Standardwert: 64
Zeile 152: Zeile 117:
Der Standardwert für das Hop-Limit wird hiermit eingestellt.
Der Standardwert für das Hop-Limit wird hiermit eingestellt.


===== 11.2.3.7. mtu =====
==== mtu ====
* Type: INTEGER
* Type: INTEGER
* Standardwert: 1280 (Minimumwert in IPv6)
* Standardwert: 1280 (Minimumwert in IPv6)
Zeile 158: Zeile 123:
Der Standardwert für die Maximum Transfer Unit wird hiermit eingestellt.
Der Standardwert für die Maximum Transfer Unit wird hiermit eingestellt.


===== 11.2.3.8. router_solicitation_delay =====
==== router_solicitation_delay ====
* Typ: INTEGER
* Typ: INTEGER
* Standardwert: 1
* Standardwert: 1
Zeile 164: Zeile 129:
Die Anzahl der nach der Aktivierung eines Interfaces zu wartenden Sekunden bevor Router-Anfragen gesendet werden.
Die Anzahl der nach der Aktivierung eines Interfaces zu wartenden Sekunden bevor Router-Anfragen gesendet werden.


===== 11.2.3.9. router_solicitation_interval =====
==== router_solicitation_interval ====
* Typ: INTEGER
* Typ: INTEGER
* Standardwert: 4
* Standardwert: 4
Zeile 170: Zeile 135:
Die Anzahl der Sekunden zwischen Router-Anfragen.
Die Anzahl der Sekunden zwischen Router-Anfragen.


===== 11.2.3.10. router_solicitations =====
==== router_solicitations ====
* Typ: INTEGER
* Typ: INTEGER
* Standardwert: 3
* Standardwert: 3
Zeile 176: Zeile 141:
Die Anzahl der Router-Anfragen, bevor angenommen wird, dass keine Router verfügbar sind.
Die Anzahl der Router-Anfragen, bevor angenommen wird, dass keine Router verfügbar sind.


==== 11.2.4. neigh/default/* ====
=== neigh/default/* ===
Standardeinstellungen der Neighbor-Erkennung und einige spezielle globale Intervall- sowie Threshold-Werte ändern:
Standardeinstellungen der Neighbor-Erkennung und einige spezielle globale Intervall- sowie Threshold-Werte ändern:


===== 11.2.4.1. gc_thresh1 =====
==== gc_thresh1 ====
* Typ: INTEGER
* Typ: INTEGER
* Standardwert: 128
* Standardwert: 128
Zeile 185: Zeile 150:
Mehr Infos hierzu in späteren Versionen.
Mehr Infos hierzu in späteren Versionen.


===== 11.2.4.2. gc_thresh2 =====
==== gc_thresh2 ====
* Typ: INTEGER
* Typ: INTEGER
* Standardwert: 512
* Standardwert: 512
Zeile 191: Zeile 156:
Mehr Infos hierzu in späteren Versionen.
Mehr Infos hierzu in späteren Versionen.


===== 11.2.4.3. gc_thresh3 =====
==== gc_thresh3 ====
* Typ: INTEGER
* Typ: INTEGER
* Standardwert: 1024
* Standardwert: 1024
Zeile 198: Zeile 163:


Wenn Sie viele Interfaces und Probleme mit inkorrekt oder nicht funktionierenden Routen haben, dann sollten Sie diesen Wert erhöhen. Ebenfalls erhöhen sollten Sie den Wert, wenn von einem aktiven Zebra (routing daemon) Folgendes angezeigt wird:
Wenn Sie viele Interfaces und Probleme mit inkorrekt oder nicht funktionierenden Routen haben, dann sollten Sie diesen Wert erhöhen. Ebenfalls erhöhen sollten Sie den Wert, wenn von einem aktiven Zebra (routing daemon) Folgendes angezeigt wird:
{| class="wikitable"
|
|}


===== 11.2.4.4. gc_interval =====
==== gc_interval ====
* Typ: INTEGER
* Typ: INTEGER
* Standardwert: 30
* Standardwert: 30
Zeile 208: Zeile 170:
Mehr Infos hierzu in späteren Versionen.
Mehr Infos hierzu in späteren Versionen.


==== 11.2.5. neigh/interface/* ====
=== neigh/interface/* ===
Per Interface ändern spezieller Einstellungen zur Neighbor-Erkennung.
Per Interface ändern spezieller Einstellungen zur Neighbor-Erkennung.


===== 11.2.5.1. anycast_delay =====
==== anycast_delay ====
* Typ: INTEGER
* Typ: INTEGER
* Standardwert: 100
* Standardwert: 100
Zeile 217: Zeile 179:
Mehr Infos hierzu in späteren Versionen.
Mehr Infos hierzu in späteren Versionen.


===== 11.2.5.2. gc_stale_time =====
==== gc_stale_time ====
* Typ: INTEGER
* Typ: INTEGER
* Standardwert: 60
* Standardwert: 60
Zeile 223: Zeile 185:
Mehr Infos hierzu in späteren Versionen.
Mehr Infos hierzu in späteren Versionen.


===== 11.2.5.3. proxy_qlen =====
==== proxy_qlen ====
* Typ: INTEGER
* Typ: INTEGER
* Standardwert: 64
* Standardwert: 64
Zeile 229: Zeile 191:
Mehr Infos hierzu in späteren Versionen.
Mehr Infos hierzu in späteren Versionen.


===== 11.2.5.4. unres_qlen =====
==== unres_qlen ====
* Typ: INTEGER
* Typ: INTEGER
* Standardwert: 3
* Standardwert: 3
Zeile 235: Zeile 197:
Mehr Infos hierzu in späteren Versionen.
Mehr Infos hierzu in späteren Versionen.


===== 11.2.5.5. app_solicit =====
==== app_solicit ====
* Typ: INTEGER
* Typ: INTEGER
* Standardwert: 0
* Standardwert: 0
Zeile 241: Zeile 203:
Mehr Infos hierzu in späteren Versionen.
Mehr Infos hierzu in späteren Versionen.


===== 11.2.5.6. locktime =====
==== locktime ====
* Typ: INTEGER
* Typ: INTEGER
* Standardwert: 0
* Standardwert: 0
Zeile 247: Zeile 209:
Mehr Infos hierzu in späteren Versionen.
Mehr Infos hierzu in späteren Versionen.


===== 11.2.5.7. retrans_time =====
==== retrans_time ====
* Typ: INTEGER
* Typ: INTEGER
* Standardwert: 100
* Standardwert: 100
Zeile 253: Zeile 215:
Mehr Infos hierzu in späteren Versionen.
Mehr Infos hierzu in späteren Versionen.


===== 11.2.5.8. base_reachable_time =====
==== base_reachable_time ====
* Typ: INTEGER
* Typ: INTEGER
* Standardwert: 30
* Standardwert: 30
Zeile 259: Zeile 221:
Mehr Infos hierzu in späteren Versionen.
Mehr Infos hierzu in späteren Versionen.


===== 11.2.5.9. mcast_solicit =====
==== mcast_solicit ====
* Typ: INTEGER
* Typ: INTEGER
* Standardwert: 3
* Standardwert: 3
Zeile 265: Zeile 227:
Mehr Infos hierzu in späteren Versionen.
Mehr Infos hierzu in späteren Versionen.


===== 11.2.5.10. ucast_solicit =====
==== ucast_solicit ====
* Typ: INTEGER
* Typ: INTEGER
* Standardwert: 3
* Standardwert: 3
Zeile 271: Zeile 233:
Mehr Infos hierzu in späteren Versionen.
Mehr Infos hierzu in späteren Versionen.


===== 11.2.5.11. delay_first_probe_time =====
==== delay_first_probe_time ====
* Typ: INTEGER
* Typ: INTEGER
* Standardwert: 5
* Standardwert: 5
Zeile 277: Zeile 239:
Mehr Infos hierzu in späteren Versionen.
Mehr Infos hierzu in späteren Versionen.


===== 11.2.5.12. proxy_delay =====
==== proxy_delay ====
* Typ: INTEGER
* Typ: INTEGER
* Standardwert: 80
* Standardwert: 80
Zeile 283: Zeile 245:
Mehr Infos hierzu in späteren Versionen.
Mehr Infos hierzu in späteren Versionen.


==== 11.2.6. route/* ====
=== route/* ===
Globale Routing-Einstellungen ändern.
Globale Routing-Einstellungen ändern.


===== 11.2.6.1. flush =====
==== flush ====
In neueren Kernel-Versionen wurde diese Option entfernt - mehr Infos hierzu in späteren Versionen.
In neueren Kernel-Versionen wurde diese Option entfernt - mehr Infos hierzu in späteren Versionen.


===== 11.2.6.2. gc_interval =====
==== gc_interval ====
* Typ: INTEGER
* Typ: INTEGER
* Standardwert: 30
* Standardwert: 30
Zeile 295: Zeile 257:
Mehr Infos hierzu in späteren Versionen.
Mehr Infos hierzu in späteren Versionen.


===== 11.2.6.3. gc_thresh =====
==== gc_thresh ====
* Typ: INTEGER
* Typ: INTEGER
* Standardwert: 1024
* Standardwert: 1024
Zeile 301: Zeile 263:
Mehr Infos hierzu in späteren Versionen.
Mehr Infos hierzu in späteren Versionen.


===== 11.2.6.4. mtu_expires =====
==== mtu_expires ====
* Typ: INTEGER
* Typ: INTEGER
* Standardwert: 600
* Standardwert: 600
Zeile 307: Zeile 269:
Mehr Infos hierzu in späteren Versionen.
Mehr Infos hierzu in späteren Versionen.


===== 11.2.6.5. gc_elasticity =====
==== gc_elasticity ====
* Typ: INTEGER
* Typ: INTEGER
* Standardwert: 0
* Standardwert: 0
Zeile 313: Zeile 275:
Mehr Infos hierzu in späteren Versionen.
Mehr Infos hierzu in späteren Versionen.


===== 11.2.6.6. gc_min_interval =====
==== gc_min_interval ====
* Typ: INTEGER
* Typ: INTEGER
* Standardwert: 5
* Standardwert: 5
Zeile 319: Zeile 281:
Mehr Infos hierzu in späteren Versionen.
Mehr Infos hierzu in späteren Versionen.


===== 11.2.6.7. gc_timeout =====
==== gc_timeout ====
* Typ: INTEGER
* Typ: INTEGER
* Standardwert: 60
* Standardwert: 60
Zeile 325: Zeile 287:
Mehr Infos hierzu in späteren Versionen.
Mehr Infos hierzu in späteren Versionen.


===== 11.2.6.8. min_adv_mss =====
==== min_adv_mss ====
* Typ: INTEGER
* Typ: INTEGER
* Standardwert: 12
* Standardwert: 12
Zeile 331: Zeile 293:
Mehr Infos hierzu in späteren Versionen.
Mehr Infos hierzu in späteren Versionen.


===== 11.2.6.9. max_size =====
==== max_size ====
* Typ: INTEGER
* Typ: INTEGER
* Standardwert: 4096
* Standardwert: 4096
Zeile 337: Zeile 299:
Mehr Infos hierzu in späteren Versionen.
Mehr Infos hierzu in späteren Versionen.


=== IPv6 relevante Einträge in /proc/sys/net/ipv4/ ===
== /proc/sys/net/ipv4/ ==
; IPv6 relevante Einträge in /proc/sys/net/ipv4/
Zurzeit werden einige Schalter auch bei IPv6 eingesetzt (Dies bleibt so, bis IPv4 zur Gänze in ein unabhängiges Kernel-Modul umgewandelt wurde).
Zurzeit werden einige Schalter auch bei IPv6 eingesetzt (Dies bleibt so, bis IPv4 zur Gänze in ein unabhängiges Kernel-Modul umgewandelt wurde).


==== 11.3.1. ip_* ====
=== ip_* ===
===== 11.3.1.1. ip_local_port_range =====
==== ip_local_port_range ====
Diese Kontrolleinstellung wird ebenfalls bei IPv6 verwendet.
Diese Kontrolleinstellung wird ebenfalls bei IPv6 verwendet.


==== 11.3.2. tcp_* ====
=== tcp_* ===
Diese Kontrolleinstellungen werden ebenfalls bei IPv6 verwendet.
Diese Kontrolleinstellungen werden ebenfalls bei IPv6 verwendet.


==== 11.3.3. icmp_* ====
=== icmp_* ===
Diese Kontrolleinstellungen werden bei IPv6 nicht verwendet. Zum aktivieren der ICMPv6 Quoten-Limitierung (auf Grund der ICMPv6 storms Auswirkungen sehr empfohlen) müssen netfilter-v6-Regeln eingesetzt werden.
Diese Kontrolleinstellungen werden bei IPv6 nicht verwendet. Zum aktivieren der ICMPv6 Quoten-Limitierung (auf Grund der ICMPv6 storms Auswirkungen sehr empfohlen) müssen netfilter-v6-Regeln eingesetzt werden.


==== Sonstige Einträge ====
=== Sonstige Einträge ===
Keine bekannt, bzw. von IPv6 vermutlich ungenutzt.
Keine bekannt, bzw. von IPv6 vermutlich ungenutzt.


=== IPv6 relevante Einträge in /proc/net/ ===
== /proc/net/ ==
; IPv6 relevante Einträge in /proc/net/  
In /proc/net gibt es einige Einträge die ausschließlich Lese-Rechte besitzen. Mit ”sysctl” können Sie hier keine Informationen bekommen, verwenden Sie anstelle dessen z.B. ”cat”.
In /proc/net gibt es einige Einträge die ausschließlich Lese-Rechte besitzen. Mit ”sysctl” können Sie hier keine Informationen bekommen, verwenden Sie anstelle dessen z.B. ”cat”.


==== 11.4.1. if_inet6 ====
=== if_inet6 ===
* Typ: Eine Zeile pro Adresse mit jeweils mehreren Werten
* Typ: Eine Zeile pro Adresse mit jeweils mehreren Werten


Alle konfigurierten IPv6 Adressen werden hier in einem speziellen Format angezeigt. Im Beispiel wird ein Loopback-Interface angezeigt. Die Werte werden unten erklärt (siehe ”net/ipv6/addrconf.c” für Details).
Alle konfigurierten IPv6 Adressen werden hier in einem speziellen Format angezeigt. Im Beispiel wird ein Loopback-Interface angezeigt. Die Werte werden unten erklärt (siehe ”net/ipv6/addrconf.c” für Details).
{| class="wikitable"
|
|}


# IPv6 Adresse mit 32 hexadezimalen Zeichen ohne Doppelpunkte als Trennzeichen
# IPv6 Adresse mit 32 hexadezimalen Zeichen ohne Doppelpunkte als Trennzeichen
Zeile 371: Zeile 332:
# Devicename
# Devicename


==== 11.4.2. ipv6_route ====
=== ipv6_route ===
* Typ: Eine Zeile pro Route mit jeweils mehreren Werten
* Typ: Eine Zeile pro Route mit jeweils mehreren Werten


Alle konfigurierten IPv6 Routen werden hier in einem speziellen Format angezeigt. Im Beispiel wird ein Loopback-Interface angezeigt. Die Werte werden unten erklärt (siehe ”net/ipv6/route.c” für Details).
Alle konfigurierten IPv6 Routen werden hier in einem speziellen Format angezeigt. Im Beispiel wird ein Loopback-Interface angezeigt. Die Werte werden unten erklärt (siehe ”net/ipv6/route.c” für Details).
{| class="wikitable"
|
|}


# IPv6 Zielnetzwerk mit 32 hexadezimalen Zeichen ohne Doppelpunkte als Trennzeichen
# IPv6 Zielnetzwerk mit 32 hexadezimalen Zeichen ohne Doppelpunkte als Trennzeichen
Zeile 390: Zeile 348:
# Devicename
# Devicename


==== 11.4.3. sockstat6 ====
=== sockstat6 ===
* Typ: Eine Zeile pro Protokoll mit Beschreibung und Wert
* Typ: Eine Zeile pro Protokoll mit Beschreibung und Wert


Statistiken über verwendete IPv6 Sockets. Beispiel:
Statistiken über verwendete IPv6 Sockets. Beispiel:
{| class="wikitable"
|
|}


==== 11.4.4. tcp6 ====
=== tcp6 ===
Mehr Infos hierzu in späteren Versionen.
Mehr Infos hierzu in späteren Versionen.


==== 11.4.5. udp6 ====
=== udp6 ===
Mehr Infos hierzu in späteren Versionen.
Mehr Infos hierzu in späteren Versionen.


==== 11.4.6. igmp6 ====
=== igmp6 ===
Mehr Infos hierzu in späteren Versionen.
Mehr Infos hierzu in späteren Versionen.


==== 11.4.7. raw6 ====
=== raw6 ===
Mehr Infos hierzu in späteren Versionen.
Mehr Infos hierzu in späteren Versionen.


==== 11.4.8. ip6_flowlabel ====
=== ip6_flowlabel ===
Mehr Infos hierzu in späteren Versionen.
Mehr Infos hierzu in späteren Versionen.


==== 11.4.9. rt6_stats ====
=== rt6_stats ===
Mehr Infos hierzu in späteren Versionen.
Mehr Infos hierzu in späteren Versionen.


==== 11.4.10. snmp6 ====
=== snmp6 ===
* Typ: Eine Zeile pro SNMP Beschreibung und Wert
* Typ: Eine Zeile pro SNMP Beschreibung und Wert


SNMP Statistiken; diese können mittels snmp server und entsprechender MIB Tabelle mit einer Network Management Software gewonnen werden.
SNMP Statistiken; diese können mittels snmp server und entsprechender MIB Tabelle mit einer Network Management Software gewonnen werden.


==== 11.4.11. ip6_tables_names ====
=== ip6_tables_names ===
Verfügbare netfilter6 Tabellen
Verfügbare netfilter6 Tabellen
[[Kategorie:IPv6/Linux]]

Aktuelle Version vom 11. August 2023, 10:14 Uhr

Kernel-Einstellungen im /proc-Dateisystem

Zugriff auf das /proc-Dateisystem

Verwendung von "cat" und "echo"

Mit ”cat” und ”echo” können Sie am einfachsten das /proc Dateisystem einsehen. Hierfür gibt es aber einige Voraussetzungen, die erfüllt sein müssen:

  • Das /proc-Dateisystem muss im Kernel aktiviert sein. Hierfür muss die folgende Einstellung beim kompilieren des Kernels vorgenommen werden:
  • Das /proc-Dateisystem muss zuerst gemountet sein. Dies kann wie folgt getestet werden:
  • Sie benötigen Lese- und manchmal auch Schreib-Zugriff (normalerweise nur als Root-Benutzer) auf das /proc-Dateisystem.

Normalerweise sind, mit Ausnahme in /proc/sys/*, alle Einträge ausschließlich mit Leserechten ausgestattet. Die Einträge werden zum Zweck der Informationsgewinnung verwendet.

Wert anzeigen

Den Inhalt eines Eintrags können sie mit ”cat” anzeigen:

Wert einstellen

Mit ”echo” können sie einen neuen Wert zuweisen (nur wenn der Eintrag beschreibbar ist):

Verwendung von "sysctl"

Die Verwendung des Programms ”sysctl” ist eine zeitgemäße Methode zum Anzeigen der Kernel-Switches. Es funktioniert auch dann, wenn das /proc-Dateisystem nicht gemountet ist, wobei aber nur ein Zugriff auf /proc/sys/* möglich ist!

Das Programm ”sysctl” ist (auf Red Hat Linux Systemen) im Paket ”procps” enthalten.

  • Das sysctl-Interface muss im Kernel aktiviert sein. Hierfür muss die folgende Einstellung beim kompilieren des Kernels vorgenommen werden:

Wert anzeigen

Der Wert eines Eintrags kann nun angezeigt werden:

Wert einstellen

Ein neuer Wert kann wie folgt zugewiesen werden (wenn der Eintrag beschreibbar ist):

Anmerkung: Verwenden Sie beim setzen eines Wertes keine Leerzeichen vor oder nach dem ”=”. Sollten Sie mehrere Werte in einer Zeile angeben, müssen sie diese mit Anführungszeichen umgeben:

Sonstiges

Anmerkung: Es gibt sysctl-Versionen im Umlauf, die anstelle des Punktes ”.” einen slash ”/” ausgeben.

Für weitere Details siehe die manpage von sysctl.

Hinweise: Um schnell einen Überblick über die Einstellungen zu bekommen, verwenden Sie einfach die Option ”-a” (anzeigen aller Einträge) sowie das Tool ”grep”.

Werte im /proc-Dateisystem

Es gibt im /proc-Dateisystem unterschiedliche Formate:

  • BOOLEAN: einfach eine ”0” (falsch) oder eine ”1” (wahr)
  • INTEGER: Wert ist eine Ganzzahl (kann auch eine unsigned int sein)
  • Kompliziertere Zeilen mit verschiedenen Werten: manchmal wir eine Header-Zeile mit angezeigt... Sie können aber auch weitere Informationen zu den Werten und deren Bedeutung direkt in den Kernel Quellen beziehen.

/proc/sys/net/ipv6/

conf/default/*

Ändern der Interface-spezifischen Einstellungen.

conf/all/*

Ändern aller Interface-spezifischen Einstellungen.

Ausnahme: ”conf/all/forwarding” hat hier eine andere Bedeutung:

conf/all/forwarding

  • Typ: BOOLEAN

Hiermit wird die globale IPv6 Weiterleitung zwischen allen Interfaces aktiviert.

In IPv6 ist kein forwarding per Device möglich. Die Steuerung der Weiterleitung muss mittels IPv6-netfilter Regel-Sets (mit dem Programm ip6tables) und der Bestimmung der Ein- und Ausgabe-Devices (siehe Firewalling/Netfilter6 für Details) vollzogen werden. In IPv4 ist das anders, forwarding per device ist hier möglich (hier wird am Interface, wo das Paket einlangt, die entsprechende Entscheidung getroffen).

Hiermit werden die Host/Router Einstellungen 'forwarding' aller Interfaces eingestellt (auch globales Forwarding genannt). Für weitere Details Siehe unten.

Ist der Wert gleich 0, dann ist IPv6 forwarding deaktiviert. Pakete verlassen in diesem Fall niemals ein anderes Interface (weder physikalische noch logische wie z.B. Tunnel).

conf/interface/*

Spezielle Einstellungen per Interface ändern.

Das funktionale Verhalten einzelner Einstellungen ist davon abhängig, ob lokales forwarding aktiviert ist oder nicht.

accept_ra

  • Typ: BOOLEAN
  • Standardeinstellung: aktiviert, wenn lokales forwarding deaktiviert ist. Deaktiviert, wenn lokales forwarding aktiviert ist.

Router Advertisements werden akzeptiert; das Interface wird mit Status 'received data' automatisch konfiguriert.

accept_redirects

  • Typ: BOOLEAN
  • Standardeinstellung: aktiviert, wenn lokales forwarding deaktiviert ist. Deaktiviert, wenn lokales forwarding aktiviert ist.

Akzeptiert von IPv6 Router gesendete Redirects.

autoconf

  • Typ: BOOLEAN
  • Funktionale Standardeinstellung: aktiviert, wenn accept_ra_pinfo aktiv ist. Deaktiviert, wenn accept_ra_pinfo deaktiviert ist.

Autokonfiguriert Adressen unter Benutzung der Prefix-Information eines Router-Advertisements.

dad_transmits

  • Typ: INTEGER
  • Standardwert: 1

Die Anzahl der gesendeten Proben zum entdecken von Adress-Duplikaten.

forwarding

  • Typ: BOOLEAN
  • Standardwert: FALSCH, wenn globale forwarding deaktiviert ist (Standard), ansonst WAHR

Konfigurieren von Interface-spezifischem Host/Router-Verhalten.

Anmerkung: Es wird die gleiche Konfiguration für alle Interfaces empfohlen; Gemischte Host/Router-Szenarios sind eher unüblich.

  • Wert FALSCH: Per Standard wird von einem Host-Verhalten ausgegangen. Das bedeutet:
  1. Der Schalter IsRouter ist bei Router Advertisements nicht aktiviert.
  2. Router-Anfragen werden bei Bedarf gesendet.
  3. Wenn accept_ra WAHR ist (Standard), dann werden Router Advertisements akzeptiert (und starte die automatische Konfiguration).
  4. Wenn accept_redirects WAHR ist (Standard), dann akzeptiere Redirects.
  • Wert WAHR: Ist lokales forwarding eingeschaltet, dann wird von einem Router-Verhalten ausgegangen. Das bedeutet genau das Gegenteil zu oben:
  1. Der Schalter IsRouter ist bei Router Advertisements aktiviert.
  2. Router-Anfragen werden nicht gesendet.
  3. Router Advertisements werden ignoriert.
  4. Redirects werden ignoriert.

hop_limit

  • Typ: INTEGER
  • Standardwert: 64

Der Standardwert für das Hop-Limit wird hiermit eingestellt.

mtu

  • Type: INTEGER
  • Standardwert: 1280 (Minimumwert in IPv6)

Der Standardwert für die Maximum Transfer Unit wird hiermit eingestellt.

router_solicitation_delay

  • Typ: INTEGER
  • Standardwert: 1

Die Anzahl der nach der Aktivierung eines Interfaces zu wartenden Sekunden bevor Router-Anfragen gesendet werden.

router_solicitation_interval

  • Typ: INTEGER
  • Standardwert: 4

Die Anzahl der Sekunden zwischen Router-Anfragen.

router_solicitations

  • Typ: INTEGER
  • Standardwert: 3

Die Anzahl der Router-Anfragen, bevor angenommen wird, dass keine Router verfügbar sind.

neigh/default/*

Standardeinstellungen der Neighbor-Erkennung und einige spezielle globale Intervall- sowie Threshold-Werte ändern:

gc_thresh1

  • Typ: INTEGER
  • Standardwert: 128

Mehr Infos hierzu in späteren Versionen.

gc_thresh2

  • Typ: INTEGER
  • Standardwert: 512

Mehr Infos hierzu in späteren Versionen.

gc_thresh3

  • Typ: INTEGER
  • Standardwert: 1024

Parameter zum Einstellen der Größe der Neighbour-Tabelle.

Wenn Sie viele Interfaces und Probleme mit inkorrekt oder nicht funktionierenden Routen haben, dann sollten Sie diesen Wert erhöhen. Ebenfalls erhöhen sollten Sie den Wert, wenn von einem aktiven Zebra (routing daemon) Folgendes angezeigt wird:

gc_interval

  • Typ: INTEGER
  • Standardwert: 30

Mehr Infos hierzu in späteren Versionen.

neigh/interface/*

Per Interface ändern spezieller Einstellungen zur Neighbor-Erkennung.

anycast_delay

  • Typ: INTEGER
  • Standardwert: 100

Mehr Infos hierzu in späteren Versionen.

gc_stale_time

  • Typ: INTEGER
  • Standardwert: 60

Mehr Infos hierzu in späteren Versionen.

proxy_qlen

  • Typ: INTEGER
  • Standardwert: 64

Mehr Infos hierzu in späteren Versionen.

unres_qlen

  • Typ: INTEGER
  • Standardwert: 3

Mehr Infos hierzu in späteren Versionen.

app_solicit

  • Typ: INTEGER
  • Standardwert: 0

Mehr Infos hierzu in späteren Versionen.

locktime

  • Typ: INTEGER
  • Standardwert: 0

Mehr Infos hierzu in späteren Versionen.

retrans_time

  • Typ: INTEGER
  • Standardwert: 100

Mehr Infos hierzu in späteren Versionen.

base_reachable_time

  • Typ: INTEGER
  • Standardwert: 30

Mehr Infos hierzu in späteren Versionen.

mcast_solicit

  • Typ: INTEGER
  • Standardwert: 3

Mehr Infos hierzu in späteren Versionen.

ucast_solicit

  • Typ: INTEGER
  • Standardwert: 3

Mehr Infos hierzu in späteren Versionen.

delay_first_probe_time

  • Typ: INTEGER
  • Standardwert: 5

Mehr Infos hierzu in späteren Versionen.

proxy_delay

  • Typ: INTEGER
  • Standardwert: 80

Mehr Infos hierzu in späteren Versionen.

route/*

Globale Routing-Einstellungen ändern.

flush

In neueren Kernel-Versionen wurde diese Option entfernt - mehr Infos hierzu in späteren Versionen.

gc_interval

  • Typ: INTEGER
  • Standardwert: 30

Mehr Infos hierzu in späteren Versionen.

gc_thresh

  • Typ: INTEGER
  • Standardwert: 1024

Mehr Infos hierzu in späteren Versionen.

mtu_expires

  • Typ: INTEGER
  • Standardwert: 600

Mehr Infos hierzu in späteren Versionen.

gc_elasticity

  • Typ: INTEGER
  • Standardwert: 0

Mehr Infos hierzu in späteren Versionen.

gc_min_interval

  • Typ: INTEGER
  • Standardwert: 5

Mehr Infos hierzu in späteren Versionen.

gc_timeout

  • Typ: INTEGER
  • Standardwert: 60

Mehr Infos hierzu in späteren Versionen.

min_adv_mss

  • Typ: INTEGER
  • Standardwert: 12

Mehr Infos hierzu in späteren Versionen.

max_size

  • Typ: INTEGER
  • Standardwert: 4096

Mehr Infos hierzu in späteren Versionen.

/proc/sys/net/ipv4/

IPv6 relevante Einträge in /proc/sys/net/ipv4/

Zurzeit werden einige Schalter auch bei IPv6 eingesetzt (Dies bleibt so, bis IPv4 zur Gänze in ein unabhängiges Kernel-Modul umgewandelt wurde).

ip_*

ip_local_port_range

Diese Kontrolleinstellung wird ebenfalls bei IPv6 verwendet.

tcp_*

Diese Kontrolleinstellungen werden ebenfalls bei IPv6 verwendet.

icmp_*

Diese Kontrolleinstellungen werden bei IPv6 nicht verwendet. Zum aktivieren der ICMPv6 Quoten-Limitierung (auf Grund der ICMPv6 storms Auswirkungen sehr empfohlen) müssen netfilter-v6-Regeln eingesetzt werden.

Sonstige Einträge

Keine bekannt, bzw. von IPv6 vermutlich ungenutzt.

/proc/net/

IPv6 relevante Einträge in /proc/net/

In /proc/net gibt es einige Einträge die ausschließlich Lese-Rechte besitzen. Mit ”sysctl” können Sie hier keine Informationen bekommen, verwenden Sie anstelle dessen z.B. ”cat”.

if_inet6

  • Typ: Eine Zeile pro Adresse mit jeweils mehreren Werten

Alle konfigurierten IPv6 Adressen werden hier in einem speziellen Format angezeigt. Im Beispiel wird ein Loopback-Interface angezeigt. Die Werte werden unten erklärt (siehe ”net/ipv6/addrconf.c” für Details).

  1. IPv6 Adresse mit 32 hexadezimalen Zeichen ohne Doppelpunkte als Trennzeichen
  2. Netlink Device Nummer (Interface Index) im hexadezimalen Format (siehe auch ”ip addr”)
  3. Präfix-Länge in hexadezimaler Notation
  4. Wert des Gültigkeitsbereichs (s.a. Kernel Quellen ”include/net/ipv6.h” und ”net/ipv6/addrconf.c”)
  5. Interface flags (s.a. ”include/linux/rtnetlink.h” und ”net/ipv6/addrconf.c”)
  6. Devicename

ipv6_route

  • Typ: Eine Zeile pro Route mit jeweils mehreren Werten

Alle konfigurierten IPv6 Routen werden hier in einem speziellen Format angezeigt. Im Beispiel wird ein Loopback-Interface angezeigt. Die Werte werden unten erklärt (siehe ”net/ipv6/route.c” für Details).

  1. IPv6 Zielnetzwerk mit 32 hexadezimalen Zeichen ohne Doppelpunkte als Trennzeichen
  2. IPv6 Ziel-Präfix-Länge in hexadezimaler Notation
  3. IPv6 Ursprungsnetzwerk mit 32 hexadezimalen Zeichen ohne Doppelpunkte als Trennzeichen
  4. IPv6 Ursprungs-Präfix-Länge in hexadezimaler Notation
  5. IPv6 next Hop mit 32 hexadezimalen Zeichen ohne Doppelpunkte als Trennzeichen
  6. Metrik in hexadezimaler Schreibweise
  7. Reference Counter
  8. Use Counter
  9. Flags
  10. Devicename

sockstat6

  • Typ: Eine Zeile pro Protokoll mit Beschreibung und Wert

Statistiken über verwendete IPv6 Sockets. Beispiel:

tcp6

Mehr Infos hierzu in späteren Versionen.

udp6

Mehr Infos hierzu in späteren Versionen.

igmp6

Mehr Infos hierzu in späteren Versionen.

raw6

Mehr Infos hierzu in späteren Versionen.

ip6_flowlabel

Mehr Infos hierzu in späteren Versionen.

rt6_stats

Mehr Infos hierzu in späteren Versionen.

snmp6

  • Typ: Eine Zeile pro SNMP Beschreibung und Wert

SNMP Statistiken; diese können mittels snmp server und entsprechender MIB Tabelle mit einer Network Management Software gewonnen werden.

ip6_tables_names

Verfügbare netfilter6 Tabellen