So überprüfen Sie, ob IPv6 in Linux aktiviert ist

LinuxLinuxBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Lab lernen Sie, wie Sie prüfen können, ob IPv6 auf Ihrem Linux-System aktiviert und konfiguriert ist. Sie werden verschiedene Methoden erkunden, um den IPv6-Status und die Einstellungen zu überprüfen.

Insbesondere werden Sie den Befehl ip addr verwenden, um die konfigurierten IPv6-Adressen zu untersuchen, das Verzeichnis /proc/sys/net/ipv6 prüfen, um den IPv6-Status des Kernels zu überprüfen, und den Befehl sysctl nutzen, um detaillierte IPv6-Netzwerkparameter anzuzeigen. Diese Schritte werden Ihnen ein umfassendes Verständnis der IPv6-Konfiguration Ihres Systems vermitteln.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux(("Linux")) -.-> linux/RemoteAccessandNetworkingGroup(["Remote Access and Networking"]) linux/BasicFileOperationsGroup -.-> linux/ls("Content Listing") linux/BasicFileOperationsGroup -.-> linux/cat("File Concatenating") linux/RemoteAccessandNetworkingGroup -.-> linux/ifconfig("Network Configuring") linux/RemoteAccessandNetworkingGroup -.-> linux/netstat("Network Monitoring") linux/RemoteAccessandNetworkingGroup -.-> linux/ip("IP Managing") subgraph Lab Skills linux/ls -.-> lab-558791{{"So überprüfen Sie, ob IPv6 in Linux aktiviert ist"}} linux/cat -.-> lab-558791{{"So überprüfen Sie, ob IPv6 in Linux aktiviert ist"}} linux/ifconfig -.-> lab-558791{{"So überprüfen Sie, ob IPv6 in Linux aktiviert ist"}} linux/netstat -.-> lab-558791{{"So überprüfen Sie, ob IPv6 in Linux aktiviert ist"}} linux/ip -.-> lab-558791{{"So überprüfen Sie, ob IPv6 in Linux aktiviert ist"}} end

Prüfen von IPv6-Adressen mit ip addr

In diesem Schritt lernen Sie, wie Sie die auf Ihrem System konfigurierten IPv6-Adressen mithilfe des Befehls ip addr prüfen können. IPv6 ist die neueste Version des Internetprotokolls, das entwickelt wurde, um IPv4 zu ersetzen. Es bietet unter anderem einen viel größeren Adressraum.

Der Befehl ip ist ein leistungsstarkes Werkzeug in Linux zur Verwaltung von Netzwerkschnittstellen, Routing und Tunneln. Der Unterbefehl addr wird verwendet, um Netzwerkadressen anzuzeigen und zu manipulieren.

Öffnen Sie das Terminal, wenn Sie es noch nicht getan haben. Sie können dies tun, indem Sie auf das Symbol Xfce Terminal auf der linken Seite des Desktops klicken.

Geben Sie jetzt den folgenden Befehl ein und drücken Sie die Eingabetaste:

ip addr

Dieser Befehl zeigt detaillierte Informationen zu allen Netzwerkschnittstellen auf Ihrem System an, einschließlich sowohl IPv4- als auch IPv6-Adressen.

Suchen Sie nach Abschnitten, die mit einer Zahl gefolgt von einem Doppelpunkt und einem Schnittstellennamen beginnen (z. B. 1: lo: oder 2: eth0:). Innerhalb jedes Abschnitts suchen Sie nach Zeilen, die mit inet6 beginnen. Diese Zeilen zeigen die IPv6-Adressen an, die dieser Schnittstelle zugewiesen sind.

Beispielsweise könnten Sie eine Ausgabe ähnlich der folgenden sehen (die Ausgabe kann je nach Systemkonfiguration variieren):

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 02:42:ac:11:00:02 brd ff:ff:ff:ff:ff:ff
    inet 172.17.0.2/16 brd 172.17.255.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::42:acff:fe11:2/64 scope link
       valid_lft forever preferred_lft forever

In diesem Beispiel:

  • lo ist die Loopback-Schnittstelle, die typischerweise für die Kommunikation innerhalb desselben Computers verwendet wird. Sie hat die IPv6-Adresse ::1/128.
  • eth0 ist eine Standard-Ethernet-Schnittstelle. Sie hat die IPv6-Adresse fe80::42:acff:fe11:2/64.

Die Teile /128 und /64 geben die Netzwerkpräfixlänge an, ähnlich wie die Subnetzmaske in IPv4.

Mit ip addr können Sie schnell sehen, welche Schnittstellen mit IPv6-Adressen konfiguriert sind und welche Adressen das sind.

Klicken Sie auf Weiter, um mit dem nächsten Schritt fortzufahren.

Überprüfen des IPv6-Status in /proc/sys/net/ipv6

In diesem Schritt werden Sie das /proc-Dateisystem untersuchen, um den IPv6-Status Ihres Systems zu überprüfen. Das /proc-Dateisystem ist ein virtuelles Dateisystem, das Informationen über Prozesse und andere Systeminformationen bereitstellt. Es ist ein ausgezeichneter Ort, um Details über Ihren laufenden Linux-Kernel zu finden.

Insbesondere werden wir uns Dateien im Verzeichnis /proc/sys/net/ipv6/ ansehen. Diese Dateien enthalten Parameter, die das Verhalten des IPv6-Protokollstapels steuern.

Um den Inhalt des Verzeichnisses /proc/sys/net/ipv6/ anzuzeigen, können Sie den Befehl ls verwenden:

ls /proc/sys/net/ipv6/

Sie werden eine Liste von Dateien und Verzeichnissen sehen. Jede Datei repräsentiert einen bestimmten IPv6-Kernelparameter.

anycast_src_interval  bindv6only  conf  flowlabel_reflect  flowlabel_state  icmp  ip6frag_high_thresh  ip6frag_low_thresh  ip6frag_secret_interval  ip6frag_time  neigh  route  tcp_metrics_hash_size  tcp_metrics_info  tcp_metrics_purge_interval  tcp_metrics_reg_interval  tcp_metrics_req_interval  tcp_metrics_slack  tcp_metrics_sync_interval  tcp_metrics_timeout  udp_metrics_hash_size  udp_metrics_info  udp_metrics_purge_interval  udp_metrics_reg_interval  udp_metrics_req_interval  udp_metrics_slack  udp_metrics_sync_interval  udp_metrics_timeout

Eine wichtige Datei ist disable. Diese Datei gibt an, ob IPv6 systemweit deaktiviert (1) oder aktiviert (0) ist.

Um den Inhalt der Datei disable anzuzeigen, können Sie den Befehl cat verwenden:

cat /proc/sys/net/ipv6/disable

Die Ausgabe wird entweder 0 oder 1 sein.

0
  • Wenn die Ausgabe 0 ist, ist IPv6 aktiviert.
  • Wenn die Ausgabe 1 ist, ist IPv6 deaktiviert.

Eine weitere nützliche Datei ist conf. Dies ist ein Verzeichnis, das Konfigurationsdateien für jede Netzwerkschnittstelle und ein default-Verzeichnis für Standardeinstellungen enthält.

Schauen wir uns den Inhalt des conf-Verzeichnisses an:

ls /proc/sys/net/ipv6/conf/

Sie werden Verzeichnisse für jede Schnittstelle sehen (z. B. all, default, eth0, lo).

all  default  eth0  lo

Sie können dann den IPv6-Status für eine bestimmte Schnittstelle, wie eth0, überprüfen, indem Sie sich die Datei disable_ipv6 in ihrem Verzeichnis ansehen:

cat /proc/sys/net/ipv6/conf/eth0/disable_ipv6

Diese Datei enthält ebenfalls 0 (aktiviert) oder 1 (deaktiviert) für diese bestimmte Schnittstelle.

0

Das Untersuchen der Dateien in /proc/sys/net/ipv6/ bietet einen tiefen Einblick in die IPv6-Konfiguration Ihres Systems.

Klicken Sie auf Weiter, um zum nächsten Schritt zu gelangen.

Prüfen der IPv6-Einstellungen mit sysctl net.ipv6

In diesem Schritt verwenden Sie den Befehl sysctl, um IPv6-Kernelparameter zu prüfen. Der sysctl-Befehl wird verwendet, um Kernelparameter zur Laufzeit zu ändern. Er bietet eine benutzerfreundlichere Möglichkeit, dieselben Parameter anzuzeigen und zu ändern, die Sie im vorherigen Schritt im /proc/sys/-Dateisystem untersucht haben.

Um alle IPv6-bezogenen Kernelparameter anzuzeigen, können Sie sysctl mit dem Präfix net.ipv6 verwenden.

Geben Sie den folgenden Befehl im Terminal ein und drücken Sie die Eingabetaste:

sysctl net.ipv6

Dieser Befehl gibt eine lange Liste von Parametern und ihren aktuellen Werten aus. Diese Parameter steuern verschiedene Aspekte des IPv6-Netzwerkverhaltens, wie z. B. die Adresskonfiguration, das Routing und die Sicherheit.

net.ipv6.conf.all.accept_dad = 1
net.ipv6.conf.all.accept_ra = 1
net.ipv6.conf.all.accept_redirects = 1
net.ipv6.conf.all.autoconf = 1
net.ipv6.conf.all.dad_transmits = 1
net.ipv6.conf.all.disable_ipv6 = 0
net.ipv6.conf.all.force_tmo = 0
net.ipv6.conf.all.forwarding = 0
net.ipv6.conf.all.hop_limit = 64
net.ipv6.conf.all.keep_addr_on_down = 0
net.ipv6.conf.all.max_desync_factor = 600
net.ipv6.conf.all.mc_forwarding = 0
net.ipv6.conf.all.mtu = 1280
net.ipv6.conf.all.proxy_ndp = 0
net.ipv6.conf.all.regen_max_retry_delay = 1
net.ipv6.conf.all.regen_retry_delay = 1
net.ipv6.conf.all.router_solicit_delay = 1
net.ipv6.conf.all.router_solicit_interval = 600
net.ipv6.conf.all.router_solicit_max_interval = 1200
net.ipv6.conf.all.router_solicits = -1
net.ipv6.conf.all.rtr_probe_interval = 600
net.ipv6.conf.all.suppress_frag_ndisc = 1
net.ipv6.conf.all.temp_prefer_mpatemp = 1
net.ipv6.conf.all.temp_valid_lifetime = 86400
net.ipv6.conf.all.temp_preferred_lifetime = 14400
net.ipv6.conf.all.use_deprecated = 0
net.ipv6.conf.all.use_tempaddr = 0
net.ipv6.conf.all.optimistic_dad = 0
net.ipv6.conf.all.accept_ra_defrtr = 1
net.ipv6.conf.all.accept_ra_pinfo = 1
net.ipv6.conf.all.accept_ra_rtr_pref = 1
net.ipv6.conf.all.accept_ra_mtu = 1
net.ipv6.conf.all.ignore_routes_with_linkdown = 0
net.ipv6.conf.all.drop_unicast_in_l2_multicast = 0
net.ipv6.conf.all.drop_multicast_in_l2_multicast = 0
net.ipv6.conf.all.keep_addr_on_down = 0
net.ipv6.conf.default.accept_dad = 1
net.ipv6.conf.default.accept_ra = 1
net.ipv6.conf.default.accept_redirects = 1
net.ipv6.conf.default.autoconf = 1
net.ipv6.conf.default.dad_transmits = 1
net.ipv6.conf.default.disable_ipv6 = 0
net.ipv6.conf.default.force_tmo = 0
net.ipv6.conf.default.forwarding = 0
net.ipv6.conf.default.hop_limit = 64
net.ipv6.conf.default.keep_addr_on_down = 0
net.ipv6.conf.default.max_desync_factor = 600
net.ipv6.conf.default.mc_forwarding = 0
net.ipv6.conf.default.mtu = 1280
net.ipv6.conf.default.proxy_ndp = 0
net.ipv6.conf.default.regen_max_retry_delay = 1
net.ipv6.conf.default.regen_retry_delay = 1
net.ipv6.conf.default.router_solicit_delay = 1
net.ipv6.conf.default.router_solicit_interval = 600
net.ipv6.conf.default.router_solicit_max_interval = 1200
net.ipv6.conf.default.router_solicits = -1
net.ipv6.conf.default.rtr_probe_interval = 600
net.ipv6.conf.default.suppress_frag_ndisc = 1
net.ipv6.conf.default.temp_prefer_mpatemp = 1
net.ipv6.conf.default.temp_valid_lifetime = 86400
net.ipv6.conf.default.temp_preferred_lifetime = 14400
net.ipv6.conf.default.use_deprecated = 0
net.ipv6.conf.default.use_tempaddr = 0
net.ipv6.conf.default.optimistic_dad = 0
net.ipv6.conf.default.accept_ra_defrtr = 1
net.ipv6.conf.default.accept_ra_pinfo = 1
net.ipv6.conf.default.accept_ra_rtr_pref = 1
net.ipv6.conf.default.accept_ra_mtu = 1
net.ipv6.conf.default.ignore_routes_with_linkdown = 0
net.ipv6.conf.default.drop_unicast_in_l2_multicast = 0
net.ipv6.conf.default.drop_multicast_in_l2_multicast = 0
net.ipv6.conf.default.keep_addr_on_down = 0
net.ipv6.conf.eth0.accept_dad = 1
net.ipv6.conf.eth0.accept_ra = 1
net.ipv6.conf.eth0.accept_redirects = 1
net.ipv6.conf.eth0.autoconf = 1
net.ipv6.conf.eth0.dad_transmits = 1
net.ipv6.conf.eth0.disable_ipv6 = 0
net.ipv6.conf.eth0.force_tmo = 0
net.ipv6.conf.eth0.forwarding = 0
net.ipv6.conf.eth0.hop_limit = 64
net.ipv6.conf.eth0.keep_addr_on_down = 0
net.ipv6.conf.eth0.max_desync_factor = 600
net.ipv6.conf.eth0.mc_forwarding = 0
net.ipv6.conf.eth0.mtu = 1280
net.ipv6.conf.eth0.proxy_ndp = 0
net.ipv6.conf.eth0.regen_max_retry_delay = 1
net.ipv6.conf.eth0.regen_retry_delay = 1
net.ipv6.conf.eth0.router_solicit_delay = 1
net.ipv6.conf.eth0.router_solicit_interval = 600
net.ipv6.conf.eth0.router_solicit_max_interval = 1200
net.ipv6.conf.eth0.router_solicits = -1
net.ipv6.conf.eth0.rtr_probe_interval = 600
net.ipv6.conf.eth0.suppress_frag_ndisc = 1
net.ipv6.conf.eth0.temp_prefer_mpatemp = 1
net.ipv6.conf.eth0.temp_valid_lifetime = 86400
net.ipv6.conf.eth0.temp_preferred_lifetime = 14400
net.ipv6.conf.eth0.use_deprecated = 0
net.ipv6.conf.eth0.use_tempaddr = 0
net.ipv6.conf.eth0.optimistic_dad = 0
net.ipv6.conf.eth0.accept_ra_defrtr = 1
net.ipv6.conf.eth0.accept_ra_pinfo = 1
net.ipv6.conf.eth0.accept_ra_rtr_pref = 1
net.ipv6.conf.eth0.accept_ra_mtu = 1
net.ipv6.conf.eth0.ignore_routes_with_linkdown = 0
net.ipv6.conf.eth0.drop_unicast_in_l2_multicast = 0
net.ipv6.conf.eth0.drop_multicast_in_l2_multicast = 0
net.ipv6.conf.eth0.keep_addr_on_down = 0
net.ipv6.conf.lo.accept_dad = 1
net.ipv6.conf.lo.accept_ra = 1
net.ipv6.conf.lo.accept_redirects = 1
net.ipv6.conf.lo.autoconf = 1
net.ipv6.conf.lo.dad_transmits = 1
net.ipv6.conf.lo.disable_ipv6 = 0
net.ipv6.conf.lo.force_tmo = 0
net.ipv6.conf.lo.forwarding = 0
net.ipv6.conf.lo.hop_limit = 64
net.ipv6.conf.lo.keep_addr_on_down = 0
net.ipv6.conf.lo.max_desync_factor = 600
net.ipv6.conf.lo.mc_forwarding = 0
net.ipv6.conf.lo.mtu = 65536
net.ipv6.conf.lo.proxy_ndp = 0
net.ipv6.conf.lo.regen_max_retry_delay = 1
net.ipv6.conf.lo.regen_retry_delay = 1
net.ipv6.conf.lo.router_solicit_delay = 1
net.ipv6.conf.lo.router_solicit_interval = 600
net.ipv6.conf.lo.router_solicit_max_interval = 1200
net.ipv6.conf.lo.router_solicits = -1
net.ipv6.conf.lo.rtr_probe_interval = 600
net.ipv6.conf.lo.suppress_frag_ndisc = 1
net.ipv6.conf.lo.temp_prefer_mpatemp = 1
net.ipv6.conf.lo.temp_valid_lifetime = 86400
net.ipv6.conf.lo.temp_preferred_lifetime = 14400
net.ipv6.conf.lo.use_deprecated = 0
net.ipv6.conf.lo.use_tempaddr = 0
net.ipv6.conf.lo.optimistic_dad = 0
net.ipv6.conf.lo.accept_ra_defrtr = 1
net.ipv6.conf.lo.accept_ra_pinfo = 1
net.ipv6.conf.lo.accept_ra_rtr_pref = 1
net.ipv6.conf.lo.accept_ra_mtu = 1
net.ipv6.conf.lo.ignore_routes_with_linkdown = 0
net.ipv6.conf.lo.drop_unicast_in_l2_multicast = 0
net.ipv6.conf.lo.drop_multicast_in_l2_multicast = 0
net.ipv6.conf.lo.keep_addr_on_down = 0
net.ipv6.flowlabel_reflect = 0
net.ipv6.flowlabel_state = 0
net.ipv6.ip6frag_high_thresh = 4194304
net.ipv6.ip6frag_low_thresh = 3145728
net.ipv6.ip6frag_secret_interval = 0
net.ipv6.ip6frag_time = 60
net.ipv6.tcp_metrics_hash_size = 512
net.ipv6.tcp_metrics_info = 1
net.ipv6.tcp_metrics_purge_interval = 600
net.ipv6.tcp_metrics_reg_interval = 1800
net.ipv6.tcp_metrics_req_interval = 300
net.ipv6.tcp_metrics_slack = 10
net.ipv6.tcp_metrics_sync_interval = 300
net.ipv6.tcp_metrics_timeout = 1800
net.ipv6.udp_metrics_hash_size = 512
net.ipv6.udp_metrics_info = 1
net.ipv6.udp_metrics_purge_interval = 600
net.ipv6.udp_metrics_reg_interval = 1800
net.ipv6.udp_metrics_req_interval = 300
net.ipv6.udp_metrics_slack = 10
net.ipv6.udp_metrics_sync_interval = 300
net.ipv6.udp_metrics_timeout = 1800

Sie können auch einen bestimmten Parameter prüfen. Beispielsweise können Sie den systemweiten IPv6-Deaktivierungsstatus mit sysctl überprüfen, indem Sie Folgendes verwenden:

sysctl net.ipv6.conf.all.disable_ipv6

Die Ausgabe zeigt den Parameternamen und seinen Wert:

net.ipv6.conf.all.disable_ipv6 = 0

Dies bestätigt, dass IPv6 systemweit aktiviert ist, was mit dem übereinstimmt, was Sie im /proc-Dateisystem gesehen haben.

Der sysctl-Befehl ist eine bequeme Möglichkeit, Kernelparameter anzuzeigen und zu ändern, ohne direkt mit den Dateien in /proc/sys/ zu interagieren.

Klicken Sie auf Weiter, um dieses Lab abzuschließen.

Zusammenfassung

In diesem Lab haben Sie gelernt, wie Sie überprüfen können, ob IPv6 auf einem Linux-System aktiviert ist, indem Sie die Netzwerkkonfiguration untersuchen. Sie haben begonnen, indem Sie den Befehl ip addr verwendet haben, um Details der Netzwerkschnittstellen anzuzeigen und zugewiesene IPv6-Adressen zu identifizieren. Dieser Befehl bietet einen umfassenden Überblick über sowohl IPv4- als auch IPv6-Adressen, die auf den Netzwerkschnittstellen des Systems konfiguriert sind.

Danach haben Sie das Verzeichnis /proc/sys/net/ipv6 untersucht, um den IPv6-Status des Kernels zu überprüfen, indem Sie bestimmte Dateien in diesem virtuellen Dateisystem inspiziert haben. Schließlich haben Sie den Befehl sysctl net.ipv6 verwendet, um verschiedene Kernelparameter im Zusammenhang mit IPv6 zu prüfen, was einen tieferen Einblick in die IPv6-Einstellungen und -Konfiguration des Systems bietet.