Ich hoffe, es ist für jemand hilfreich, ich habe ein kleines Howto zusammengestellt, wie man IPv6 als DualStack konfiguriert. Mit dieser Config verteile ich auf meine VLANs im Netz auf jedes Netz eine separate PD mit der jeweiligen SLA-ID. Hier sind keine Firewall-Rules enthalten, dafür erstelle ich bei Gelegenheit eine anderes Mini-Howto.
Basiswissen (Sehr vereinfacht, sollte aber zum Einstieg helfen) eine fe80:: ist in IPv6 etwa das gleiche wie eine 127.0.0.x also nur local erreichbar. eine fd00:: ist eine nicht ins Internet routebare IP wie etwa 192.168.178.0 (Hallo Fritzbox) eine 2a00:: ist eine Internet erreichbare Addresse. IPv6 ist generell darauf ausgelegt, das ein Adapter mehrere IPs hat, diese haben eine Leastime und werden zur Laufzeit ausgetauscht.
Gegeben ist folgende Config: für den Internet Zugang eth0: Der Provider stellt folgendes bereit: - DHCP für IPv4 - SLAAC für Gateway IPv6 - PD für das LAN
cat /etc/network/interfaces
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | auto lo iface lo inet loopback auto eth0 iface eth0 inet dhcp auto eth1 iface eth1 inet static address 192.168.172.10/24 auto eth2 iface eth2 inet static address 192.168.174.10/24 auto eth3 iface eth3 inet static address 192.168.173.10/24 auto eth4 iface eth4 inet static address 192.168.175.10/24 auto eth5 iface eth5 inet static address 192.168.178.10/24 iface eth1 inet6 static address fd00:0:0:172::10/64 iface eth2 inet6 static address fd00:0:0:174::10/64 iface eth3 inet6 static address fd00:0:0:173::10/64 iface eth4 inet6 static address fd00:0:0:175::10/64 iface eth5 inet6 static address fd00:0:0:178::10/64 iface eth0 inet6 auto |
Das PD ist das Präfix der IPv6, hier ein /56. bei manchen Anbietern auch ein /60. Um das PD vom Provider zu erhalten ist eine geeignete Clientsoftware notwendig, ich fand hier wide-dhcpv6-client am einfachsten. Das PD über wide-dhcpv6-client holen
cat /etc/wide-dhcpv6/dhcp6c.conf
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | # /etc/wide-dhcpv6/dhcp6c.conf # Standard DHCPv6-PD-Konfiguration interface eth0 { send ia-pd 0; send rapid-commit; request domain-name-servers; script "/etc/wide-dhcpv6/dhcp6c-script"; }; id-assoc pd 0 { prefix-interface eth1 { sla-id 1; sla-len 8; }; prefix-interface eth2 { sla-id 2; sla-len 8; }; prefix-interface eth3 { sla-id 3; sla-len 8; }; prefix-interface eth4 { sla-id 4; sla-len 8; }; prefix-interface eth5 { sla-id 5; sla-len 8; }; }; |
für das Ipv6 ist auch ein Gateway notwendig, dies erhalten wir per SLAAC. Slaac im Netz verteilen über radvd
cat /etc/radvd.config
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 | interface eth1 { AdvSendAdvert on; RDNSS fd00:0:0:172::10 { }; #AdGuard-IPv6 AdvManagedFlag off; # Kein DHCPv6 für Adressen AdvOtherConfigFlag off; # Kein DHCPv6 für DNS/Options (falls nicht benötigt) # ULA (fd00:...) prefix fd00:0:0:172::/64 { AdvOnLink on; AdvAutonomous on; # SLAAC aktivieren AdvValidLifetime 86400; AdvPreferredLifetime 14400; }; # GUA (2a0d:... vom ISP) prefix ::/0 { # Dynamisches Prefix von eth0 AdvOnLink on; AdvAutonomous on; AdvRouterAddr on; # Router-IP als Gateway bekanntgeben }; }; interface eth2 { AdvSendAdvert on; RDNSS fd00:0:0:174::10 { }; #AdGuard-IPv6 AdvManagedFlag off; # Kein DHCPv6 für Adressen AdvOtherConfigFlag off; # Kein DHCPv6 für DNS/Options (falls nicht benötigt) # ULA (fd00:...) prefix fd00:0:0:174::/64 { AdvOnLink on; AdvAutonomous on; # SLAAC aktivieren AdvValidLifetime 86400; AdvPreferredLifetime 14400; }; # GUA (2a0d:... vom ISP) prefix ::/0 { # Dynamisches Prefix von eth0 AdvOnLink on; AdvAutonomous on; AdvRouterAddr on; # Router-IP als Gateway bekanntgeben }; }; interface eth3 { AdvSendAdvert on; RDNSS fd00:0:0:173::10 { }; #AdGuard-IPv6 AdvManagedFlag off; # Kein DHCPv6 für Adressen AdvOtherConfigFlag off; # Kein DHCPv6 für DNS/Options (falls nicht benötigt) # ULA (fd00:...) prefix fd00:0:0:173::/64 { AdvOnLink on; AdvAutonomous on; # SLAAC aktivieren AdvValidLifetime 86400; AdvPreferredLifetime 14400; }; # GUA (2a0d:... vom ISP) prefix ::/0 { # Dynamisches Prefix von eth0 AdvOnLink on; AdvAutonomous on; AdvRouterAddr on; # Router-IP als Gateway bekanntgeben }; }; interface eth4 { AdvSendAdvert on; RDNSS fd00:0:0:175::10 { }; #AdGuard-IPv6 AdvManagedFlag off; # Kein DHCPv6 für Adressen AdvOtherConfigFlag off; # Kein DHCPv6 für DNS/Options (falls nicht benötigt) # ULA (fd00:...) prefix fd00:0:0:175::/64 { AdvOnLink on; AdvAutonomous on; # SLAAC aktivieren AdvValidLifetime 86400; AdvPreferredLifetime 14400; }; # GUA (2a0d:... vom ISP) prefix ::/0 { # Dynamisches Prefix von eth0 AdvOnLink on; AdvAutonomous on; AdvRouterAddr on; # Router-IP als Gateway bekanntgeben }; }; interface eth5 { AdvSendAdvert on; RDNSS fd00:0:0:178::10 { }; #AdGuard-IPv6 AdvManagedFlag off; # Kein DHCPv6 für Adressen AdvOtherConfigFlag off; # Kein DHCPv6 für DNS/Options (falls nicht benötigt) # ULA (fd00:...) prefix fd00:0:0:178::/64 { AdvOnLink on; AdvAutonomous on; # SLAAC aktivieren AdvValidLifetime 86400; AdvPreferredLifetime 14400; }; # GUA (2a0d:... vom ISP) prefix ::/0 { # Dynamisches Prefix von eth0 AdvOnLink on; AdvAutonomous on; AdvRouterAddr on; # Router-IP als Gateway bekanntgeben }; }; |
Und dann noch ein paar kleine Anpassungen für die Kernel-Optionen. IPv6 Forward erlauben
cat /etc/sysctl.d/99-sysctl.conf
1 2 | net.ipv6.conf.all.forwarding=1 net.ipv6.conf.eth0.accept_ra=2 |
Moderiert von redknight:
Verschoben