{"id":808,"date":"2023-11-11T09:37:32","date_gmt":"2023-11-11T08:37:32","guid":{"rendered":"https:\/\/tollana.d-tor.org\/notes-to-self\/?p=808"},"modified":"2023-11-11T09:38:40","modified_gmt":"2023-11-11T08:38:40","slug":"ipv6-mit-der-telekom-und-archlinux","status":"publish","type":"post","link":"https:\/\/tollana.d-tor.org\/notes-to-self\/?p=808","title":{"rendered":"IPv6 mit der Telekom und Archlinux"},"content":{"rendered":"\n<p>Da die VDSL-Verbindung nach einer Neustiefelung meines Rechners nicht mehr starten wollte, musste ich mich mal wieder mit diesem Thema auseinandersetzen. Ursache des Ganzen war, dass adsl.service nicht mehr starten wollte, weil \/usr\/bin\/pppoe-start nicht mehr im Paket rp-pppoe enthalten war.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">PPPoE<\/h2>\n\n\n\n<p>Da immer alles funktioniert hat, ist vollkommen an mir vorbei gegangen, dass pppd mittlerweile ein Plugin bekommen hatte, das PPPoE \u00fcber das entsprechende Kernel-Modul abwickelt. Scheint so, dass der RP-PPPoE ausgedient hat. Wie auch immer, um eine Verbindung mit der Telekom nur mit pppd herzustellen, erstelle man folgende Konfigurationsdatei in <code>\/etc\/ppp\/peers<\/code> namens z. B. <code>tkom<\/code>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>plugin pppoe.so # daf\u00fcr muss pppoe.ko geladen sein!\ntkom # Interface name\nname \"&lt;kdnr>#0001@t-online.de\" # ppp-Benutzername\npersist\ndefaultroute\n+ipv6 # Entscheidend f\u00fcr IPv6-Prefix-Delegation!\nmru 1380\nmtu 1380\nhide-password\nnoauth<\/code><\/pre>\n\n\n\n<p>Wenn man dann noch das richtige Passwort in <code>\/etc\/ppp\/pap-secrets<\/code> hinterlegt hat, sollte sich die Verbindung mit <code>systemctl start ppp@tkom<\/code> aufbauen lassen. <code>@tkom<\/code> ist der Name der Konfigurationsdatei in <code>\/etc\/ppp\/peers<\/code>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Prefix Delegation<\/h2>\n\n\n\n<p>Um ein globales IPv6-Prefix f\u00fcr das interne Netz zu bekommen, ben\u00f6tigt man einen DHCPv6-Client, der es an dem PPP-Interface annimmt. F\u00fcr <code><a href=\"https:\/\/roy.marples.name\/projects\/dhcpcd\/\">dhcpcd<\/a><\/code> sieht die Konfiguration so aus:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>duid\nwaitip 6\nipv6only\ninterface ppp0\nipv6rs\niaid 1\nia_pd 1 int\/0\/64\/801<\/code><\/pre>\n\n\n\n<p>Die letzten beiden Zeilen sind entscheidend: <code>iaid<\/code> definiert eine <code>UUID<\/code>, die dann in <code>ia_pd<\/code> (das erste Argument, in diesem Fall <code>1<\/code>) benutzt wird, um der Netzwerkkarte mit dem Namen <code>int<\/code> ein \/64-Prefix zuzuweisen. Der letzte Parameter ist das Suffix, was das Interface, an das delegiert wird, bekommt, standardm\u00e4\u00dfig 1, wenn man es ausl\u00e4sst. Aber Wahrschau: Das ist kein String, sondern ein Integer, der in Hexadezimal umgewandelt wird (<code>801 == 0x321<\/code>)!<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Router Announcements<\/h2>\n\n\n\n<p>Um das LAN am IPv6-Leben teilhaben zu lassen, muss das IPv6-Netz auch verk\u00fcndet werden, und zwar mit <code>radvd<\/code>. Um dessen Konfiguration auf Stand zu halten, gibt es den Hook <code>\/usr\/lib\/dhcpcd\/dhcpcd-hooks\/40-delegate<\/code>, der <code>\/usr\/local\/sbin\/delegate_prefix.sh<\/code> aufruft, wenn es ein neues Prefix gibt. Dieses Skript schreibt eine Konfiguration mit dem neuen Prefix und startet den Tr\u00fcmmer neu.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">DHCP<\/h2>\n\n\n\n<p>F\u00fcr DNS, DHCPv4 und DHCPv6 ist<code> dnsmasq<\/code> zust\u00e4ndig. IPv4-DHCP ist so trivial, dass ich es nicht erkl\u00e4ren muss.<\/p>\n\n\n\n<p>DHCPv6 leider komplizierter. Zun\u00e4chst muss man <code>radvd<\/code> mit der Option <code>AdvManagedFlag on<\/code> sagen, dass die Clients \u00fcberhaupt danach fragen. Wie statische IPv6-Adressen vergeben werden, h\u00e4ngt von dem dem Client ab. ArchLinux mit networkd macht das recht einfach. Man muss lediglich <code>Token=::c0a0:808<\/code> in der Sektion <code>[IPv6AccetRA]<\/code> eintragen, um ebendieses Suffix zu bekommen.<\/p>\n\n\n\n<p>Windows hingegen fragt nach einer <code>DUID<\/code> via <code>DHCP-SOLICIT<\/code> oder <code>INFORM<\/code>. Bei dem entsprechenden <code>dhcp-host=<\/code> Eintrag beachten, dass ein vorangestelltes <code>id:<\/code> einen literalen String bedeutet. Um einen Windows-Client zu begl\u00fccken, lasse man sich die <code>DUID<\/code> via <code>ipconfig \/all<\/code> ausgeben, ersetze <code>'-'<\/code> durch <code>':'<\/code>  und verteile dann eine IP ohne <code>'id:'<\/code> nach dem Gleichheitszeichen.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Da die VDSL-Verbindung nach einer Neustiefelung meines Rechners nicht mehr starten wollte, musste ich mich mal wieder mit diesem Thema auseinandersetzen. Ursache des Ganzen war, dass adsl.service nicht mehr starten wollte, weil \/usr\/bin\/pppoe-start nicht mehr im Paket rp-pppoe enthalten war. PPPoE Da immer alles funktioniert hat, ist vollkommen an mir vorbei gegangen, dass pppd mittlerweile &hellip; <a href=\"https:\/\/tollana.d-tor.org\/notes-to-self\/?p=808\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">IPv6 mit der Telekom und Archlinux<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[19,77,76],"tags":[70,74],"class_list":["post-808","post","type-post","status-publish","format-standard","hentry","category-arch-linux","category-linux","category-network","tag-ipv6","tag-network"],"_links":{"self":[{"href":"https:\/\/tollana.d-tor.org\/notes-to-self\/index.php?rest_route=\/wp\/v2\/posts\/808","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tollana.d-tor.org\/notes-to-self\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/tollana.d-tor.org\/notes-to-self\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/tollana.d-tor.org\/notes-to-self\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/tollana.d-tor.org\/notes-to-self\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=808"}],"version-history":[{"count":1,"href":"https:\/\/tollana.d-tor.org\/notes-to-self\/index.php?rest_route=\/wp\/v2\/posts\/808\/revisions"}],"predecessor-version":[{"id":809,"href":"https:\/\/tollana.d-tor.org\/notes-to-self\/index.php?rest_route=\/wp\/v2\/posts\/808\/revisions\/809"}],"wp:attachment":[{"href":"https:\/\/tollana.d-tor.org\/notes-to-self\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=808"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tollana.d-tor.org\/notes-to-self\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=808"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tollana.d-tor.org\/notes-to-self\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=808"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}