Transparent IPv6 with Linux?
David A. Madore asks: "Every once in a while, I decide to try out IPv6 (on my local PC network that isn't connected to the Internet). And every time I'm disappointed. Now that the kernel supports it, and libc (glibc 2.2.1) supports it, and that I've recompiled the net-tools with inet6 support (why doesn't RedHat do that by default, I'd like to know), I would expect to be able to type
'telnet ::1' and get a connection to localhost, prompto! Instead, I get '::1: Unknown host.' Isn't the whole point of' IPv6 support of the libc to make program support completely transparent? And isn't the whole point of dynamically linked libraries so that we get it without even having to recompile anything? Or am I being incomparably naïve here? Will we have to rewrite and recompile any network-aware program so as to get IPv6 support? By the way: How will X11 DISPLAY strings work with IPv6 ':0' is kindda confusing in relation with IPv6 addresses)? Can anyone clarify the matter?"
There -is- a way to get round that - an IPv4/IPv6 gateway - but that adds a lot of overhead and is not the way to fix broken apps.
There has been a LOT of discussion on URLs and X DISPLAY strings, as they would allow multiple interpretations of the IPv6 address. One possibility is to require fully-expanded addresses in those instances, another is to bracket the address somehow, so that it can be seperated. AFAIK, there's no real, universal consensus on this, at least not the last time I looked. There may be more of one, by now.
For Telnet, FTP, etc, go to ftp.inner.net and download the ported utils they have. I admit, the porting isn't the best code I've seen, but it does work, and'll give you a feel for what could be done.
If you want to try IPv6 properly, though, join the 6Bone and test your machine to the limits.
It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
IPSEC is fairly well defined, and from the looks of it, Freeswan will be there soon. NRL has been there for a while, for BSD systems, I believe.
Routers are done - mrt is very usable, Bay has (or had, b4 they were taken over) an IPv6 router, as did Telebit. GateD is going slowly, but that's their fault for being obstinate and not opening the source. Cisco is getting there, and has been one of the cornerstones of the 6bone since it's inception. 3Com are working on it, but they are irrelevent anyway. Just ask any Borg.
About all that -really- needs to be done with IPv6 is for the masses to rise up and throw gummy fish at the backbone admins until they install it.
It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
Your ISP can be running a cooked hamburger, as far as you're concerned. :) So long as you've an internet connection, the only requirement is that you set up a tunnel, connecting to some existing node on the 6bone. It's as easy as that. :)
Just e-mail the maintainer of the node, get the IPv4 address for their end-point, let them know the address for your end-point, configure SIT0 accordingly, and you're sorted.
(If you get a dynamic IP address, from your ISP, it's slightly more complex. The maintainer'll need to have some kind of script running, to automatically adjust the tunnel, according to what your new IP address is.)
It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
There are a few things to be said about IPv6. The main thing is that IPv6 is still Beta. That means that it is being implemented and tested along the way. Everyone on the 6bone and alike knows this. Everyone getting an IPv6 number is told that they have to hand id back sometime, because the hand-out schemes are also being tested. And yes, they have already changed those hand-out schemes and addresses at least once.
:-)
Software vendors and network hardware vendors do not fully support it -- some will give software to you as an addon. But they do not support it. If you learn from it, great, but if it breaks, oh well, it isn't yet meant for production purposes anyway.
I think one of the main reasons RedHat doesn't ship with IPv6 enabled is that it is not yet supported everywhere. For example if you use things like sockaddr_in in your programs, you're hosed because it is IPv4 specific. And there are a lot programs that are IPv4 specific (not to mention 4-byte-copies to duplicate addresses). And checking all networking programs takes a lot of time. Not to mention fixing them and getting maintainers to support IPv6.
So this summs up to three important points:
1) IPv6 is development stuff and quite uncommon. So don't expect your average program to work.
2) It can be used very well to learn things on IPv6 and networking in general. That's also why 6bone started.
3) Because IPv6 is still beta and things, it isn't yet in very-easy to use packages with your favourite OS flavour. Also don't expect ISPs to support it. The larger ISPs are on the 6bone and might offer you a tunnel endpoint, but it's experimental for them too. So they probably don't want to invest too much time in it.
Oh, and for the people who still want to try IPv6, there is a good HOWTO on setting up IPv6 for Linux. If it's to technical, you don't want to try it on any operating system. If it's peanuts, you should help test IPv6 and help porting more applications
That's all for now, Erik.