runthegaunz
Goto Top

Verständnis IPv6: Wie Statische Adressen zuweisen wenn SLAAC genutzt wird?

Moin,

ich versuche derzeit, in meinem Heimnetzwerk IPv6 zu realisieren. Ich befinde mich hier aktuell in einem Testnetzwerk ohne direkte Anbindung an das Internet (Zugriff im Testnetzwerk nur über NAT möglich) und besitze ein generelles Verständnis davon, wie IPv6 funktioniert und habe es auch geschafft, dass alle Geräte sich per SLAAC selbst eine Adresse zuweisen.

Ich habe hier einen Raspberry Pi, welcher mit einem Interface im Heimnetzwerk angeschlossen (eth0) ist und mit dem anderen am Testnetzwerk (eth1) und dort den Router spielt. Bedeutet, er ist das Gateway für die Geräte im Testnetzwerk und macht DHCP und das Router Advertisement.

Konfiguration des Gateways im Testnetzwerk (eth0 kriegt alles per DHCP zugewiesen und eth1 hat komplett statische Adressen):
# ip addr show
...
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether b4:7c:9c:d6:5a:f9 brd ff:ff:ff:ff:ff:ff permaddr 3c:37:86:5f:4c:1f
    inet 192.168.178.56/24 metric 1024 brd 192.168.178.255 scope global dynamic wlp1s0u1u1
       valid_lft 857975sec preferred_lft 857975sec
    inet6 2003:dd:570d:f00:b67c:9cff:fed6:5af9/64 scope global dynamic mngtmpaddr noprefixroute
       valid_lft 7049sec preferred_lft 1649sec
    inet6 fe80::b67c:9cff:fed6:5af9/64 scope link
       valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 7e:b2:2b:ab:a2:76 brd ff:ff:ff:ff:ff:ff
    inet 10.139.107.1/24 brd 10.139.107.255 scope global br0
       valid_lft forever preferred_lft forever
    inet6 fd07:73ff:2d02::1/64 scope global
       valid_lft forever preferred_lft forever
    inet6 fe80::7cb2:2bff:feab:a276/64 scope link
       valid_lft forever preferred_lft forever

# cat /etc/dhcpd.conf
option domain-name-servers 1.1.1.1, 1.0.0.1;

subnet 10.139.107.0 netmask 255.255.255.0 {
  option routers 10.139.107.1;
  range 10.139.107.100 10.139.107.254;
}

# cat /etc/radvd.conf
interface eth1 {
  AdvSendAdvert on;
  MinRtrAdvInterval 3;
  MaxRtrAdvInterval 10;
  prefix ::/64 {
    AdvOnLink on;
    AdvAutonomous on;
    AdvRouterAddr on;
  };
};

Damit bekommen die Geräte eine IPv4- und eine IPv6-Adresse zugewiesen und können auch über beide IP-Adressen auf das Internet zugreifen. Nun möchten manche Geräte jedoch eine statische IPv6-Adresse, wie zum Beispiel Proxmox, denn entweder kriegen sie eine statische IPv6-Adresse oder gar keine.

Was ist hier das sogenannte "best practice", also sollte z.B. das Gateway überhaupt eine statische IPv6-Adresse bekommen und was trage ich in Proxmox als IPv6-Adresse ein und vor allem, was ist dann das Gateway?

tl;dr: IPv6 hinter NAT, alle Geräte konfigurieren sich mit DHCPv4 und SLAAC, wie umgehen mit Geräten, die statische Adressen haben wollen (oder bei denen ich will, dass sie statische Adressen haben) und sollte das Gateway eine statische IPv6 haben?

Bin gespannt auf die Antworten.

Viele Grüße
runthegaunz

Content-ID: 1787263116

Url: https://administrator.de/contentid/1787263116

Printed on: October 10, 2024 at 04:10 o'clock

aqui
Solution aqui Jan 31, 2022 updated at 18:40:18 (UTC)
Goto Top
und können auch über beide IP-Adressen auf das Internet zugreifen
Zumindestens die Endgeräte des eth1 Segmentes können es aber nicht per IPv6 !
Das fd07:73ff:2d02:: /64 v6 Netz nutzt eine Unique Local Addresse (ULA) die wie die RFC 1918 Privat IPs nicht im Internet geroutet werden und damit außerhalb eines privaten Netzes unroutebar sind. Mit den v6 Absender IPs erreicht man das Internet niemals. Zumindesten nicht ohne NAT und NAT gibt es bekanntlich bei v6 nicht.
Vermutlich hast du nie mit einem dedizierten ping6 oder traceroute6 und gesetzter Absender IP mal einen v6 Check aus dem eth1 Segment gemacht und immer unwissentlich mit v4 gearbeitet.
Ein Gateway hat natürlich immer eine statische IP diese wird dann auch statisch konfiguriert. Die Endgeräte "lernen" die mit den RAs. Deinem Proxmox vergibst du dann auch einfach eine statische IP Adresse genau so wie du es mit der RasPi IPv6 Adresse in der /etc/dhcpcd.conf an eth1 gemacht hast. Dort hast du ja auch eine statische IP gesetzt und beim Proxmox ist das ja nix anderes !
Der Parameter option domain-name-servers ist übrigens falsch gesetzt ! Dort setzt man immer die IP seines lokalen Internet Routers ein der ja als DNS Proxy arbeitet und für v6 die DNS Server des jeweiligen Providers. Z.B. je nach Region bei der Telekom.

Tips und ein paar gute Anleitungen zum Thema IPv6 Adressierung findest du hier:
https://danrl.com/ipv6/
runthegaunz
runthegaunz Jan 31, 2022 updated at 18:57:22 (UTC)
Goto Top
Zumindestens die Endgeräte des eth1 Segmentes können es aber nicht per IPv6 !
Ich habe zu Testzwecken ein NAT eingerichtet unzwar für IPv4 und IPv6. Hier beispielhaft die Konfiguration eines Clients aus dem Testnetzwerk:
# ip address show
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: enp6s18: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 76:7d:13:09:86:fb brd ff:ff:ff:ff:ff:ff
    inet 10.139.107.145/24 metric 1024 brd 10.139.107.255 scope global dynamic enp6s18
       valid_lft 34742sec preferred_lft 34742sec
    inet6 fd07:73ff:2d02:0:747d:13ff:fe09:86fb/64 scope global dynamic mngtmpaddr noprefixroute
       valid_lft 86395sec preferred_lft 14395sec
    inet6 fe80::747d:13ff:fe09:86fb/64 scope link
       valid_lft forever preferred_lft forever
Funktioniert auch soweit alles:
# ping -6 cloudflare-dns.com
PING cloudflare-dns.com(2606:4700::6810:f8f9 (2606:4700::6810:f8f9)) 56 data bytes
64 bytes from 2606:4700::6810:f8f9 (2606:4700::6810:f8f9): icmp_seq=1 ttl=55 time=20.4 ms
64 bytes from 2606:4700::6810:f8f9 (2606:4700::6810:f8f9): icmp_seq=2 ttl=55 time=16.9 ms
64 bytes from 2606:4700::6810:f8f9 (2606:4700::6810:f8f9): icmp_seq=3 ttl=55 time=18.9 ms
64 bytes from 2606:4700::6810:f8f9 (2606:4700::6810:f8f9): icmp_seq=4 ttl=55 time=17.2 ms
64 bytes from 2606:4700::6810:f8f9 (2606:4700::6810:f8f9): icmp_seq=5 ttl=55 time=19.7 ms
^C
--- cloudflare-dns.com ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4002ms
rtt min/avg/max/mdev = 16.917/18.631/20.386/1.352 ms

# traceroute -6 cloudflare-dns.com
traceroute to cloudflare-dns.com (2606:4700::6810:f8f9), 30 hops max, 80 byte packets
 1  calumetite (fd07:73ff:2d02::1)  0.248 ms  0.314 ms  0.341 ms
 2  p200300dd570d0f00464e6dfffe3d260a.dip0.t-ipconnect.de (2003:dd:570d:f00:464e:6dff:fe3d:260a)  5.643 ms  5.633 ms  5.761 ms
 3  2003:0:8503:a000::1 (2003:0:8503:a000::1)  11.659 ms  14.134 ms  14.172 ms
 4  2003:0:130e:4019::2 (2003:0:130e:4019::2)  26.072 ms  26.281 ms  26.310 ms
 5  if-ae-9-2.tcore1.fnm-frankfurt.ipv6.as6453.net (2a01:3e0:ff00::14)  20.907 ms  21.453 ms  21.487 ms
 6  if-ae-2-2.thar1.f2c-frankfurt.ipv6.as6453.net (2a01:3e0:ff00::7a)  21.420 ms  18.742 ms  17.609 ms
 7  2a01:3e0:500::5e (2a01:3e0:500::5e)  19.199 ms  20.227 ms  20.601 ms
 8  * * *
 9  2400:cb00:472:1024::ac46:f93f (2400:cb00:472:1024::ac46:f93f)  23.176 ms 2400:cb00:470:1024::ac46:f151 (2400:cb00:470:1024::ac46:f151)  24.473 ms 2400:cb00:470:1024::ac46:f13d (2400:cb00:470:1024::ac46:f13d)  23.561 ms

Gibt es beim Aussuchen einer statischen Adresse irgendwelche "best practices"? Sollte man die Adresse nehmen, die sie rein theoretisch per SLAAC sich konfigurieren würde oder nimmt man einfach die Zahl aus dem letztem Segment der IPv4-Adresse in diesem Fall?

Der Parameter option domain-name-servers ist übrigens falsch gesetzt ! Dort setzt man immer die IP seines lokalen Internet Routers ein der ja als DNS Proxy arbeitet und für v6 die DNS Server des jeweiligen Providers. Z.B. je nach Region bei der Telekom.
Nein, ich habe hier keinen DNS Service am laufen. Das ist schon richtig, dass da der Cloudflare DNS eingetragen ist und so gewollt.

Tips und ein paar gute Anleitungen zum Thema IPv6 Adressierung findest du hier:
https://danrl.com/ipv6/
Danke! face-smile