Log in

No account? Create an account
IPv6 (or, hello from 2001:470:1f04:900::2 !) - brad's life [entries|archive|friends|userinfo]
Brad Fitzpatrick

[ website | bradfitz.com ]
[ userinfo | livejournal userinfo ]
[ archive | journal archive ]

IPv6 (or, hello from 2001:470:1f04:900::2 !) [Nov. 17th, 2008|11:44 pm]
Brad Fitzpatrick
[Tags|, ]

I figured it was time to learn IPv6 so I setup IPv6 at home using Hurricane Electric's free tunnel broker, one termination point of which is across the Bay in Fremont, so latency overhead is negligible, and he.net's IPv6 deployment is good (or so Lorenzo tells me).
sammy:~# ping6 ipv6.google.com
PING ipv6.google.com(2001:4860:0:2001::68) 56 data bytes
64 bytes from 2001:4860:0:2001::68: icmp_seq=1 ttl=58 time=97.7 ms
64 bytes from 2001:4860:0:2001::68: icmp_seq=2 ttl=58 time=96.9 ms
64 bytes from 2001:4860:0:2001::68: icmp_seq=3 ttl=58 time=97.2 ms
64 bytes from 2001:4860:0:2001::68: icmp_seq=4 ttl=58 time=98.0 ms

sammy:~# ping google.com
PING google.com ( 56(84) bytes of data.
64 bytes from jc-in-f99.google.com ( icmp_seq=1 ttl=246 time=94.5 ms
64 bytes from jc-in-f99.google.com ( icmp_seq=2 ttl=246 time=97.7 ms
64 bytes from jc-in-f99.google.com ( icmp_seq=3 ttl=246 time=93.7 ms
64 bytes from jc-in-f99.google.com ( icmp_seq=4 ttl=246 time=92.5 ms
(Not that much worse.)

And I can now see all the dancing logos on various websites. (it's IPv6 tradition to serve animated GIFs of your company/site logo for people accessing it over IPv6.... silly, but cute.)

Still have some work to do... I need to get the rest of my machines routing through my Linux server (the one with the tunnel), including wifi. What's the typical configuration here? DHCPv6 and broadcast the route? Or does the IPv6 stateless auto-configuration for assigning the locally-scoped/link-local/etc addresses also include smarts of hosts w/ gateways advertising that?

In any case, still clueless, but at least with the tools to get slightly less clueless now.

It's weird having my own /64. (that's 2^64 addresses for my house)

[User Picture]From: alohawolf
2008-11-18 08:17 am (UTC)
Stateless autoconfig will do the trick (if you get it working on linux, and can get the thing to actually route packets, I would love to know how to do it), I'm currently using go6 on a windows box, and it works fine for my whole network.
(Reply) (Thread)
[User Picture]From: mart
2008-11-18 08:40 am (UTC)

A bunch of times I tried setting up IPv6 with various different tunnelling protocols and such, each time being foiled by something like the tunnel not being compatible with NAT, or my ISP mis-routing the packets, or somesuch. Currently I'm just using Teredo, which you could say is cheating. I should have another go at doing it properly once I actually have a network here to set up...

If I'm remembering correctly, getting the routing on the LAN going is quite easy once you apt-get install radvd. Since you've actually got a functioning tunnel you might find that it even discovers the routes from upstream and works magically!

(Reply) (Thread)
[User Picture]From: brad
2008-11-18 07:02 pm (UTC)
That did it! I had to do some configuration still, but knowing "radvd" gave me keyword I needed to find the answers.
(Reply) (Parent) (Thread)
From: ext_35721
2008-11-18 09:31 am (UTC)

Welcome aboard the IPv6 train

Stateless autoconfiguration works for most networks. radvd the tool you are looking for and it's reasonably simple to set it up.

The only trick you need to remember is the DNS, if you wish to provide pure IPv6 environment, you need to assign special addresses to your DNS servers and route them accordingly. That way you can forget about the IPv4 world =)

In most cases though, the DNS is provided through IPv4 dhcp. So take the leap with radvd and tackle the DNS issue later =)
(Reply) (Thread)
[User Picture]From: scosol
2008-11-19 07:53 am (UTC)

Re: Welcome aboard the IPv6 train

if you're sending everything through this linux box anyway, you may as well make it a local DNS cache as well-
(Reply) (Parent) (Thread)
[User Picture]From: robbat2
2008-11-18 11:35 am (UTC)
I get better IPv6 latency than IPv4!
--- ipv6.google.com ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4011ms
rtt min/avg/max/mdev = 79.524/79.697/79.814/0.370 ms
--- google.com ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4025ms
rtt min/avg/max/mdev = 86.126/86.382/86.686/0.229 ms

Just a pity that the baseline latency for the tunnels is still so high for me.
75ms from my colo box, and 39ms from home.
(Reply) (Thread)
(Deleted comment)
[User Picture]From: brad
2008-11-19 08:50 am (UTC)
So that's your LJ username.
(Reply) (Parent) (Thread)
[User Picture]From: loganb
2008-11-18 08:47 pm (UTC)
6to4 is the bomb. It works really well on OS X and Airport Extremes (which have native support for it). It uses IPv4 anycast to gateway the packets so there's nothing to configure.

Setting up IPv6 in linux is about the worst documented process ever. I tried to setup a 6to4 gateway at the border of my home network, but couldn't figure out how to get a downstream router to rebroadcast the correct prefix (I had two linux routers and 4 subnets at the time).

We've run IPv6 on network office for quite some time. Apple makes it much easier. Qwest hasn't figured out how to route the Internet though, so from here we can ping6 google.com but not kame.net.
(Reply) (Thread)
From: (Anonymous)
2008-11-19 06:53 am (UTC)

awesome. send a ping over here (dns.suspicious.org)

We have been handing out /64's to our friends from our gateway that is tunneled to Hurricane Electric. Works great. All our services are v6 enabled as well ... postfix / apache / sshd / etc.. Glad to see another early adopter. Cheers, Truman
(Reply) (Parent) (Thread)
[User Picture]From: guyver3
2008-11-21 10:55 am (UTC)
Sorry, lurking from the Google 'ipv6' blog searches I came across this. Glad to see it working well for you :)

DHCPv6 should give you the option to provide IPv6 name server entries to your hosts along with assigning them addresses, etc. RADVD won't do that for you (at least not that I'm finding in the documentation). If you don't want or have a name server to set as recursive, we have our caching NS available already if you want to test with (can provide if you want).
(Reply) (Thread)
[User Picture]From: zaitcev
2008-11-30 12:57 am (UTC)
Your own /64 gives you about nothing, because you CAN NOT subnet it. You must get /48 (well, a /63 at least, but HE only gives /48s) before you can, for instance, have a WiFi segment and a LAN segment in your home. This is an extremely dumb design decision, I think.

BTW, since you're at Google, can you ask them to start adding v6 addresses instead of using the ipv6.google.com? I suggest starting with some useless service like Orkut.com, to see how it goes.

Also, WTF with the requirement to log out from iGoogle before IPv6 can be used? That's just crazy. I _liked_ iGoogle.
(Reply) (Thread)
[User Picture]From: brad
2008-12-02 05:35 am (UTC)
The reason for no AAA records on www.google.com is because too many users' machines _think_ they have IPv6, but it's broken non-routing IPv6, so once we started publishing AAAA records, those users couldn't get to Google because their machines would prefer the broken IPv6 route, never trying IPv4.

There's also some program whereby you can get Google's DNS servers to return you AAAA (instead of having to use ipv6.google.com), but I forget the details.


And the original Google presentation.

(Reply) (Parent) (Thread)