{"id":3753,"date":"2024-02-12T07:00:00","date_gmt":"2024-02-12T06:00:00","guid":{"rendered":"https:\/\/www.my-it-brain.de\/wordpress\/?p=3753"},"modified":"2024-01-08T20:04:23","modified_gmt":"2024-01-08T19:04:23","slug":"mit-einem-dualstack-proxy-internet-protokolle-verbinden","status":"publish","type":"post","link":"https:\/\/www.my-it-brain.de\/wordpress\/mit-einem-dualstack-proxy-internet-protokolle-verbinden\/","title":{"rendered":"Mit einem Dualstack-Proxy Internet-Protokolle verbinden"},"content":{"rendered":"\n<p>Stellt euch vor, ihr habt eine Menge von Servern, welche ausschlie\u00dflich \u00fcber IPv6-Adressen verf\u00fcgen und deshalb keine Dienste nutzen k\u00f6nnen, welche nur \u00fcber IPv4 bereitgestellt werden. Wer sich dies nicht vorstellen mag, findet in \u201e<a href=\"https:\/\/www.my-it-brain.de\/wordpress\/ipv6-kein-anschluss-unter-dieser-nummer\/\" data-type=\"post\" data-id=\"3739\">IPv6\u2026 Kein Anschluss unter dieser Nummer<\/a>\u201c ein paar Beispiele daf\u00fcr.<\/p>\n\n\n\n<p>Was kann man nun tun, damit diese IPv6-only-Hosts dennoch mit der IPv4-only-Welt kommunizieren k\u00f6nnen?<\/p>\n\n\n\n<p>Eine m\u00f6gliche L\u00f6sung ist die Nutzung eines Dualstack-Proxy-Servers. Das ist ein Server, welcher \u00fcber Adressen beider Internet-Protokoll-Versionen verf\u00fcgt und so stellvertretend f\u00fcr einen IPv6-Host mit einem IPv4-Host kommunizieren kann. Das folgende Bild veranschaulicht den Kommunikationsablauf:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"529\" height=\"494\" src=\"https:\/\/www.my-it-brain.de\/wordpress\/wp-content\/uploads\/2023\/12\/ipv6-to-proxy-to-ipv4.png\" alt=\"\" class=\"wp-image-3754\" srcset=\"https:\/\/www.my-it-brain.de\/wordpress\/wp-content\/uploads\/2023\/12\/ipv6-to-proxy-to-ipv4.png 529w, https:\/\/www.my-it-brain.de\/wordpress\/wp-content\/uploads\/2023\/12\/ipv6-to-proxy-to-ipv4-300x280.png 300w\" sizes=\"auto, (max-width: 529px) 100vw, 529px\" \/><figcaption class=\"wp-element-caption\">Ablauf der Netzwerkkommunikation eines IPv6-Hosts mit einem IPv4-Host \u00fcber einen Dualstack-Proxy-Server<\/figcaption><\/figure>\n<\/div>\n\n\n<p>Im Bild ist zu sehen:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li> Wie IPv6-Host A eine Verbindung \u00fcber IPv6 zum Proxy-Server B aufbaut und diesem bspw. die gew\u00fcnschte URL mitteilt<\/li>\n\n\n\n<li>Der Proxy-Server B baut nun seinerseits eine IPv4-Verbindung zu IPv4-Host C auf, welcher die gew\u00fcnschten Inhalte bereitstellt<\/li>\n\n\n\n<li>IPv4-Host C sendet seine Antwort \u00fcber IPv4 an den Proxy-Server<\/li>\n\n\n\n<li>Der Proxy-Server sendet die gew\u00fcnschten Inhalte anschlie\u00dfend via IPv6 an den IPv6-Host A zur\u00fcck<\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-video aligncenter\"><video height=\"558\" style=\"aspect-ratio: 741 \/ 558;\" width=\"741\" controls src=\"https:\/\/www.my-it-brain.de\/wordpress\/wp-content\/uploads\/2023\/12\/Screencast-from-2023-12-30-22-15-48.webm\" playsinline><\/video><figcaption class=\"wp-element-caption\">Screencast zur Demonstration der Proxy-Nutzung<\/figcaption><\/figure>\n\n\n\n<p>Das obige Video demonstriert die Nutzung eines Proxy-Servers durch den Abruf einer Demo-Seite mit <code>curl<\/code>:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Mit dem <code>host<\/code>-Kommando wird gezeigt, dass f\u00fcr die Demo-Seite kein AAAA-Record existiert; die Seite ist also nicht via IPv6 erreichbar<\/li>\n\n\n\n<li>Mit dem <code>ip<\/code>-Kommando wird gepr\u00fcft, dass der Host auf dem Interface <code>ens18<\/code> ausschlie\u00dflich \u00fcber IPv6-Adressen verf\u00fcgt<\/li>\n\n\n\n<li>Ohne Proxy ist die Demo-Seite nicht abrufbar<\/li>\n\n\n\n<li>Erst durch Nutzung des Proxys kann die Seite abgerufen werden<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">Funktioniert das auch von IPv4 nach IPv6?<\/h2>\n\n\n\n<p>Ja. Entscheidend ist, dass der verwendete Proxy beide IP-Versionen unterst\u00fctzt.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Welcher Proxy ist empfehlenswert?<\/h2>\n\n\n\n<p>Der Proxy-Server muss beide IP-Versionen beherrschen. Ich pers\u00f6nlich bevorzuge <a href=\"http:\/\/www.squid-cache.org\/\">Squid<\/a>. Dieser ist in so gut wie allen Linux-Distributionen verf\u00fcgbar, weit verbreitet, robust und selbstverst\u00e4ndlich <a href=\"https:\/\/www.my-it-brain.de\/wordpress\/freie-software-und-open-source\/\" data-type=\"post\" data-id=\"2661\">Freie Software<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Sind damit alle Herausforderungen bew\u00e4ltigt?<\/h2>\n\n\n\n<p>F\u00fcr eine Virtualisierungs-Umgebung mit einer IPv4-Adresse und einem \/64-IPv6-Netzsegment funktioniert diese L\u00f6sung gut. Sie funktioniert auch in jeder anderen Umgebung, wie gezeigt. Man beachte jedoch, dass man mit nur <em>einem<\/em> Proxy einen Single-Point-of-Failure hat. Um diesem zu begegnen, kann man Squid mit <a href=\"https:\/\/keepalived.org\/\">keepalived<\/a> hochverf\u00fcgbar gestalten.<\/p>\n\n\n\n<p>Keepalived ist ebenfalls Freie Software. Sie kostet kein Geld, erh\u00f6ht jedoch die Komplexit\u00e4t der Umgebung. Verf\u00fcgbarkeit vs. Komplexit\u00e4t m\u00f6ge jeder Sysadmin selbst gegeneinander abw\u00e4gen.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Wie mache ich meine IPv6-Dienste f\u00fcr IPv4-User erreichbar, die keinen Proxy haben?<\/h2>\n\n\n\n<p>Das Stichwort lautet Reverse-Proxy. Ein Artikel dazu erscheint in K\u00fcrze in diesem Blog. ;-)<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Weiterf\u00fchrende Quellen und Links<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"http:\/\/www.squid-cache.org\/\">http:\/\/www.squid-cache.org\/<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/keepalived.org\/\">https:\/\/keepalived.org\/<\/a><\/li>\n\n\n\n<li>RHEL 9 Docs: <a href=\"https:\/\/access.redhat.com\/documentation\/en-us\/red_hat_enterprise_linux\/9\/html\/deploying_web_servers_and_reverse_proxies\/configuring-the-squid-caching-proxy-server_deploying-web-servers-and-reverse-proxies\">Configuring the Squid caching proxy server<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/wiki.ubuntuusers.de\/Squid\/\">https:\/\/wiki.ubuntuusers.de\/Squid\/<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/de.wikipedia.org\/wiki\/Squid\">https:\/\/de.wikipedia.org\/wiki\/Squid<\/a><\/li>\n\n\n\n<li>Enable Sysadmin: <a href=\"https:\/\/www.redhat.com\/sysadmin\/keepalived-basics\">Setting up a Linux cluster with Keepalived: Basic configuration<\/a><\/li>\n\n\n\n<li>Enable Sysadmin: <a href=\"https:\/\/www.redhat.com\/sysadmin\/advanced-keepalived\">Keepalived and high availability: Advanced topics<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/keepalived.readthedocs.io\/en\/latest\/introduction.html\">https:\/\/keepalived.readthedocs.io\/en\/latest\/introduction.html<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Stellt euch vor, ihr habt eine Menge von Servern, welche ausschlie\u00dflich \u00fcber IPv6-Adressen verf\u00fcgen und deshalb keine Dienste nutzen k\u00f6nnen, welche nur \u00fcber IPv4 bereitgestellt werden. Wer sich dies nicht vorstellen mag, findet in \u201eIPv6\u2026 Kein Anschluss unter dieser Nummer\u201c ein paar Beispiele daf\u00fcr. Was kann man nun tun, damit diese IPv6-only-Hosts dennoch mit der<span class=\"continue-reading\"> <a href=\"https:\/\/www.my-it-brain.de\/wordpress\/mit-einem-dualstack-proxy-internet-protokolle-verbinden\/\">[Weiterlesen&#8230;]<\/a><\/span><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_metis_text_type":"","_metis_text_length":0,"_post_count":0,"footnotes":""},"categories":[1,51],"tags":[821,430,305,823],"class_list":["post-3753","post","type-post","status-publish","format-standard","hentry","category-allgemein","category-linux","tag-ipv6","tag-osbn","tag-planet","tag-proxy"],"_links":{"self":[{"href":"https:\/\/www.my-it-brain.de\/wordpress\/wp-json\/wp\/v2\/posts\/3753","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.my-it-brain.de\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.my-it-brain.de\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.my-it-brain.de\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.my-it-brain.de\/wordpress\/wp-json\/wp\/v2\/comments?post=3753"}],"version-history":[{"count":4,"href":"https:\/\/www.my-it-brain.de\/wordpress\/wp-json\/wp\/v2\/posts\/3753\/revisions"}],"predecessor-version":[{"id":3772,"href":"https:\/\/www.my-it-brain.de\/wordpress\/wp-json\/wp\/v2\/posts\/3753\/revisions\/3772"}],"wp:attachment":[{"href":"https:\/\/www.my-it-brain.de\/wordpress\/wp-json\/wp\/v2\/media?parent=3753"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.my-it-brain.de\/wordpress\/wp-json\/wp\/v2\/categories?post=3753"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.my-it-brain.de\/wordpress\/wp-json\/wp\/v2\/tags?post=3753"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}