{"id":873,"date":"2015-07-08T23:05:50","date_gmt":"2015-07-09T03:05:50","guid":{"rendered":"http:\/\/blog.jonesling.us\/?p=873"},"modified":"2015-07-08T23:10:48","modified_gmt":"2015-07-09T03:10:48","slug":"ipv6","status":"publish","type":"post","link":"https:\/\/blog.jonesling.us\/?p=873","title":{"rendered":"IPv6"},"content":{"rendered":"<p>If you&#8217;re white and nerdy, like me, you know that your small victories aren&#8217;t like other peoples&#8217; small victories.\u00a0 Today&#8217;s small victory is IPv6.<\/p>\n<p>I has it.<\/p>\n<p>At this very moment, this blog can be served to you, or may already be served to you, over IPv6 if you have it too.<\/p>\n<p>Setting it up on your home-built router isn&#8217;t straight-forward, especially if your ISP doesn&#8217;t offer IPv6 &#8211; you have to find a tunnel broker.\u00a0 (I&#8217;m using <a href=\"https:\/\/tunnelbroker.net\/\" target=\"_blank\">Hurricane Electric<\/a>, which provides free \/64 and \/48 tunnels.)\u00a0 Clients seem to work fairly automatically.\u00a0 Have fun figuring out all the little things you need to tweak on your router, though.<\/p>\n<p>Things to note:<\/p>\n<ul>\n<li>hostapd seems to knock off the IPv6 address of your wireless NIC when you start it &#8211; you need to re-add the address by hand, like this:<br \/>\n<code>ifconfig wlp3s6 inet6 add 2001:470:891a::\/48<\/code><\/li>\n<li>dnsmasq has a special tag to automatically read addresses from devices, called &#8216;constructor&#8217;, which is easier than copying your dynamic tunnel everywhere:<br \/>\n<code>dhcp-range=::,constructor:wlp3s6,ra-names,slaac,12h<\/code><\/li>\n<li>You may use the IPv6 equivalent of &#8216;private&#8217; IP addresses, but you don&#8217;t need to anymore.<\/li>\n<li><a href=\"http:\/\/dyn.com\/\" target=\"_blank\">dyn.com<\/a> hides their non-typical DNS record types, and you have to enable the &#8216;expert interface&#8217; to see AAAA and other record types, but otherwise there&#8217;s no difference in setting up dynamic host addressing.\n<ul>\n<li>One quirk that may not be immediately obvious: You don&#8217;t need to have separate IPv6 CNAME records.\u00a0 An IPv6 client will check the CNAME, pull the destination hostname, then pull the AAAA record.<\/li>\n<\/ul>\n<\/li>\n<li>Most network tools have IPv6 equivalents &#8211; <code>ping<\/code> doesn&#8217;t work with IPv6 addresses, but <code>ping6<\/code> does.<\/li>\n<li>There&#8217;s a special format for using an IPv6 address in a web browser:\u00a0<a href=\"http:\/\/[2001:470:1f06:2a3::2]\/\" target=\"_blank\">http:\/\/[2001:470:1f06:2a3::2]\/<\/a> if you go direct to the blog&#8217;s ipv6 address today.<\/li>\n<\/ul>\n<p>But besides all that, it really works!<\/p>\n<pre>$ ping6 -c1 jonesling.us\nPING jonesling.us(quinnjones-2-pt.tunnel.tserv4.nyc4.ipv6.he.net) 56 data bytes\n64 bytes from quinnjones-2-pt.tunnel.tserv4.nyc4.ipv6.he.net: icmp_seq=1 ttl=64 time=0.508 ms\n\n--- jonesling.us ping statistics ---\n1 packets transmitted, 1 received, 0% packet loss, time 0ms\nrtt min\/avg\/max\/mdev = 0.508\/0.508\/0.508\/0.000 ms<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>If you&#8217;re white and nerdy, like me, you know that your small victories aren&#8217;t like other peoples&#8217; small victories.\u00a0 Today&#8217;s small victory is IPv6. I has it. At this very moment, this blog can be served to you, or may already be served to you, over IPv6 if you have it too. Setting it up &hellip; <a href=\"https:\/\/blog.jonesling.us\/?p=873\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;IPv6&#8221;<\/span><\/a><\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_crdt_document":"","wprm-recipe-roundup-name":"","wprm-recipe-roundup-description":"","advanced_seo_description":"","jetpack_seo_html_title":"","jetpack_seo_noindex":false,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[9],"tags":[137,157,156],"class_list":["post-873","post","type-post","status-publish","format-standard","hentry","category-linux","tag-dad-forgot-his-meds-again","tag-home-router-project","tag-ipv6"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/s4o3FW-ipv6","jetpack-related-posts":[],"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/blog.jonesling.us\/index.php?rest_route=\/wp\/v2\/posts\/873","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.jonesling.us\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.jonesling.us\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.jonesling.us\/index.php?rest_route=\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.jonesling.us\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=873"}],"version-history":[{"count":9,"href":"https:\/\/blog.jonesling.us\/index.php?rest_route=\/wp\/v2\/posts\/873\/revisions"}],"predecessor-version":[{"id":882,"href":"https:\/\/blog.jonesling.us\/index.php?rest_route=\/wp\/v2\/posts\/873\/revisions\/882"}],"wp:attachment":[{"href":"https:\/\/blog.jonesling.us\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=873"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.jonesling.us\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=873"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.jonesling.us\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=873"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}