IPv6/proc: Unterschied zwischen den Versionen

Aus Foxwiki
 
(4 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
=== Kernel-Einstellungen im /proc-Dateisystem ===
== Kernel-Einstellungen im /proc-Dateisystem ==
 
== Zugriff auf das /proc-Dateisystem ==
=== Zugriff auf das /proc-Dateisystem ===
=== Verwendung von "cat" und "echo" ===
==== 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:
* 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:
* 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:


 
==== 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):


 
=== 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:


 
==== Wert anzeigen ====
 
===== Wert anzeigen =====
Der Wert eines Eintrags kann nun angezeigt werden:
Der Wert eines Eintrags kann nun angezeigt werden:


 
==== 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):


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:


 
==== 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 51: 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 78: 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 89: 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 95: 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 101: 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 107: 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 114: 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 121: 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 129: 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 135: 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 141: 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 147: 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 153: 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 159: 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 168: 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 174: 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 182: Zeile 164:
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:


 
==== gc_interval ====
===== 11.2.4.4. gc_interval =====
* Typ: INTEGER
* Typ: INTEGER
* Standardwert: 30
* Standardwert: 30
Zeile 189: 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 198: 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 204: 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 210: 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 216: 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 222: 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 228: 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 234: 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 240: 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 246: 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 252: 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 258: 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 264: 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 276: 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 282: 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 288: 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 294: 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 300: 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 306: 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 312: 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 318: 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”.


==== 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).


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


==== 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).


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


==== 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:


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


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


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


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


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


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


==== 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.


==== ip6_tables_names ====
=== ip6_tables_names ===
Verfügbare netfilter6 Tabellen
Verfügbare netfilter6 Tabellen


[[Kategorie:IPv6/Linux]]
[[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