Wie ich in Was Sie über IPv6 wissen müssen erwähnt habe , gibt es verschiedene Methoden, um eine IPv6-Adresse auf einem Computer zu konfigurieren. Wir werden uns hauptsächlich auf die Konfiguration einer IPv6-Adresse auf Red Hat Enterprise Linux (RHEL) 7- und 8-Systemen konzentrieren und verschiedene Zuweisungsmethoden kurz erläutern.
[Möchten Sie Red Hat Enterprise Linux ausprobieren? Jetzt kostenlos herunterladen.]
Konfigurieren von IPv6 auf RHEL 7 und 8
Ein Red Hat Enterprise Linux-System ist so konfiguriert, dass es automatisch eine IPv6-Adresse bezieht. Dies sind die Zeilen in der Konfigurationsdatei, in denen die Magie passiert (ich füge jeder Zeile eine Erklärung hinzu):
[root@rhel8 ~]# cat /etc/sysconfig/network-scripts/ifcfg-enp1s0
………
………
IPV6INIT="yes" ← Enable initialization on the interface
IPV6_AUTOCONF="yes" ← Accept Router Advertisements (RA’s)
IPV6_DEFROUTE="yes" ← The default IPv6 route is assigned to the interface
IPV6_FAILURE_FATAL="no" ← Opposite of ‘may-fail’
IPV6_ADDR_GEN_MODE="stable-privacy" ← IPv6 stable-privacy addressing s(RFC7217)
NAME="enp1s0"
………
………
Für weitere Informationen darüber, was diese Verbindungseinstellungen bewirken, führen Sie Folgendes aus:
man nm-settings-ifcfg-rh
Zustandslose automatische Adresskonfiguration (SLAAC)
Wenn der IPV6_AUTOCONF
Variable ist auf yes
gesetzt , dann wird die SLAAC-Methode verwendet, um die IPv6-Adresse des Hosts mithilfe des Neighbor Discovery Protocol (NDP) zu konfigurieren. Die hier angewandte Technik ist diejenige, die im Multicast-Abschnitt des vorherigen Artikels erläutert wurde, wo ein Austausch von ICMPv6-Meldungen für Client-Anfragen und Router-Ankündigungen erfolgt.
Wir verwenden den Begriff zustandslos, weil es keinen Dienst gibt, der nachverfolgt, welche IPv6-Adressen Clients zugewiesen wurden. Vielmehr wird die IPv6-Adresse mit einer Technik namens Extended Unique Identifier (EUI-64) zusammengesetzt, bei der 16 Bits zur Media Access Control (MAC)-Adresse (die 48 Bits hat) hinzugefügt werden, wodurch eine global eindeutige IPv6-Adresse entsteht.
DHCPv6
Um DHCPv6 zu verwenden, sollte Folgendes in der Konfigurationsdatei erscheinen:
IPV6_AUTOCONF="no"
DHCPV6C=”yes”
Wenn der DHCPv6
Variable ist auf yes
gesetzt , dann erhält ein Client eine IP-Adresse aus dem DHCPv6-Pool. Der DHCPv6-Dienst verfolgt dann, welche IPv6-Adressen welchen Clients zugewiesen sind. Neben der IP-Adresse werden weitere Informationen wie DNS-Server, Lease-Zeit, Hostnamen und andere Attribute an den Client übertragen. Ein Administrator muss den IPv6-Adresspool konfigurieren, um Clients bedienen zu können.
Handbuch
Es ist auch möglich (aber nicht empfohlen), eine IPv6-Adresse manuell zu konfigurieren. Die manuelle Konfiguration erfordert viel Aufwand, ist fehleranfällig und es ist schwer nachzuvollziehen, welche IPv6-Adressen welchen Clients zugewiesen sind. In einem großen Netzwerk ist ein DHCPv6-Server für diese Aufgabe vorzuziehen.
Um IPv6 auf Red Hat Enterprise Linux 7 und 8 manuell zu konfigurieren, muss Ihre Version der folgenden Datei zur Konfigurationsdatei hinzugefügt werden:
[root@rhel8 ~]# cat /etc/sysconfig/network-scripts/ifcfg-enp1s0
………
………
IPV6ADDR=2a01:1b0:5389:4::22f2
IPV6_DEFAULTGW=2a01:1b0:5389:4::22f0
………
………
Oder Sie können manuell über NetworkManager konfigurieren:
nmcli con mod enp1s0 ipv6.addresses "2a22:1d0:5222:4::22f2/64" gw6 "2a22:1d0:5222:4::22f0/64"
nmcli con mod enp1s0 ipv6.method manual
IPv6-Konnektivität testen
Um die IPv6-Konnektivität zu testen, können wir einen Ping6 auf www.redhat.com ausführen:
ping6 -c2 www.redhat.com
PING www.redhat.com(g2a02-26f0-b200-018f-0000-0000-0000-0d44.deploy.static.akamaitechnologies.com (2a02:26f0:b200:18f::d44)) 56 data bytes
64 bytes from g2a02-26f0-b200-018f-0000-0000-0000-0d44.deploy.static.akamaitechnologies.com (2a02:26f0:b200:18f::d44): icmp_seq=1 ttl=58 time=8.43 ms
--- www.redhat.com ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 8.425/8.425/8.425/0.000 ms
Während der Ping lief, ließ ich Wireshark im Hintergrund laufen, um zu sehen, was unter der Haube passiert. Hier ist das ICMPv6-Anfragepaket (von mir gesendet) und das ICMPv6-Antwortpaket, das ich zurückerhalten habe.
ICMPv6-Anfrage
No. Time Source Destination Protocol Length Info
18 3.471783469 2a01:1b0:5389:2:ccff:cdcd:6ccd:dc0d 2a02:26f0:7b:28a::d44 ICMPv6 118 Echo (ping) request id=0x68d7, seq=1, hop limit=64 (reply in 24)
Frame 18: 118 bytes on wire (944 bits), 118 bytes captured (944 bits) on interface 0
Ethernet II, Src: HonHaiPr_74:2a:27 (ad:bc:dd:fa:da:ee), Dst: Ubiquiti_77:dd:a5 (aa:bb:cc:dd:ee:ff)
Destination: Ubiquiti_77:dd:a5 (aa:bb:cc:dd:ee:ff)
Address: Ubiquiti_77:dd:a5 (aa:bb:cc:dd:ee:ff)
.... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)
.... ...0 .... .... .... .... = IG bit: Individual address (unicast)
Source: HonHaiPr_74:2a:27 (ad:bc:dd:fa:da:ee)
Address: HonHaiPr_74:2a:27 (ad:bc:dd:fa:da:ee)
.... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)
.... ...0 .... .... .... .... = IG bit: Individual address (unicast)
Type: IPv6 (0x86dd)
Internet Protocol Version 6, Src: 2a01:1b0:5389:2:ccff:cdcd:6ccd:dc0d, Dst: 2a02:26f0:7b:28a::d44
0110 .... = Version: 6
.... 0000 0000 .... .... .... .... .... = Traffic Class: 0x00 (DSCP: CS0, ECN: Not-ECT)
.... 0000 00.. .... .... .... .... .... = Differentiated Services Codepoint: Default (0)
.... .... ..00 .... .... .... .... .... = Explicit Congestion Notification: Not ECN-Capable Transport (0)
.... .... .... 1010 0010 1001 1110 0100 = Flow Label: 0xa29e4
Payload Length: 64
Next Header: ICMPv6 (58)
Hop Limit: 64
Source: 2a01:1b0:5389:2:ccff:cdcd:6ccd:dc0d
Destination: 2a02:26f0:7b:28a::d44
[Source GeoIP: NL]
[Destination GeoIP: ]
Internet Control Message Protocol v6
Type: Echo (ping) request (128)
Code: 0
Checksum: 0xdff6 [correct]
[Checksum Status: Good]
Identifier: 0x68d7
Sequence: 1
[Response In: 24]
Data (56 bytes)
ICMPv6-Antwort
No. Time Source Destination Protocol Length Info
24 3.607831042 2a02:26f0:7b:28a::d44 2a01:1b0:5389:2:ccff:cdcd:6ccd:dc0d ICMPv6 118 Echo (ping) reply id=0x68d7, seq=1, hop limit=59 (request in 18)
Frame 24: 118 bytes on wire (944 bits), 118 bytes captured (944 bits) on interface 0
Ethernet II, Src: Ubiquiti_77:dd:a5 (aa:bb:cc:dd:ee:ff), Dst: HonHaiPr_74:2a:27 (ad:bc:dd:fa:da:ee)
Destination: HonHaiPr_74:2a:27 (ad:bc:dd:fa:da:ee)
Address: HonHaiPr_74:2a:27 (ad:bc:dd:fa:da:ee)
.... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)
.... ...0 .... .... .... .... = IG bit: Individual address (unicast)
Source: Ubiquiti_77:dd:a5 (aa:bb:cc:dd:ee:ff)
Address: Ubiquiti_77:dd:a5 (aa:bb:cc:dd:ee:ff)
.... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)
.... ...0 .... .... .... .... = IG bit: Individual address (unicast)
Type: IPv6 (0x86dd)
Internet Protocol Version 6, Src: 2a02:26f0:7b:28a::d44, Dst: 2a01:1b0:5389:2:ccff:cdcd:6ccd:dc0d
0110 .... = Version: 6
.... 0000 0000 .... .... .... .... .... = Traffic Class: 0x00 (DSCP: CS0, ECN: Not-ECT)
.... 0000 00.. .... .... .... .... .... = Differentiated Services Codepoint: Default (0)
.... .... ..00 .... .... .... .... .... = Explicit Congestion Notification: Not ECN-Capable Transport (0)
.... .... .... 1000 0110 0011 0011 0111 = Flow Label: 0x86337
Payload Length: 64
Next Header: ICMPv6 (58)
Hop Limit: 59
Source: 2a02:26f0:7b:28a::d44
Destination: 2a01:1b0:5389:2:ccff:cdcd:6ccd:dc0d
[Source GeoIP: ]
[Destination GeoIP: NL]
Internet Control Message Protocol v6
Type: Echo (ping) reply (129)
Code: 0
Checksum: 0xdef6 [correct]
[Checksum Status: Good]
Identifier: 0x68d7
Sequence: 1
[Response To: 18]
[Response Time: 136.048 ms]
Data (56 bytes)
Beachten Sie, dass viele Organisationen Ping-Anfragen aus Sicherheitsgründen blockieren, daher ist es im Allgemeinen eine gute Idee, mehrere Websites zu pingen, wenn Sie Ihre Konnektivität testen.