Slashdot Mirror


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?"

79 comments

  1. Looks like the IPv6 code needs some work, then... by Zoot. · · Score: 0

    You shouldn't be too disappointed with beta code, in any case.

    --
    # Zoot
  2. IPv6 by Crakor · · Score: 2

    Well I've spent the last year setting up terminal servers and messing with IPv6 and I"ve had all sorts of problems with support for it. Most times it will be quite transparent with applications (just substituting the IPv4 address for the IPv6 works great) but every once in a while the application would except an argument with an IPv4 format.

    Overall Its really bloody annoying but if it expects it to look like IPv4 then yea it will have to be rewritten hopefully it will not become the case too often. I actually like IPv6 and have been having a lot of fun with it especially with automating it (automated tunnel setups and such) have a slight issue with the NetBSD stack (its wierd Really wierd) =) Anyways thats it for now

  3. I'm not sure... by Joheines · · Score: 2

    but wouldn't transparent IPv6 look more like this:

    telnet 127.0.0.1

    telnetd takes this IP and asks the appropriate library to connect to this address. The library function would then recognize that an IPv4 address was given and convert it to the corresponding IPv6 address and connect to this address?

    1. Re:I'm not sure... by jezzball · · Score: 1

      The point was to use the IPv4 representation of 127.0.0.1 (which is, nicely, much shorter and easier to type).


      I believe the author wanted full IPv6 support, not just an IPv6-aware application that still uses IPv4 as its front end.
      So many things couldn't happen today
      So many songs we forgot to play
      So many dreams coming out of the blue

      --
      ls: .sig: File not found.
      (A)bort, (R)etry, (I)gnore?
    2. Re:I'm not sure... by treat · · Score: 1

      If you're going to use the most condensed form possible, 127.1 is almost as easy to type as ::1

    3. Re:I'm not sure... by eightball · · Score: 1

      You can actually use 0 (at least on solaris and linux)

  4. IPv6-awareness by jd · · Score: 5
    Sadly, yes, every network-aware application will need to have IPv6 support programmed into it, either directly (ugh!!) or via the extensions that are in the NRL library.

    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)
    1. Re:IPv6-awareness by crt · · Score: 1

      Yea.. I've noticed the possible ambiguity as well. Could someone explain why the hell they choose to use ":" for a seperator instead of "."?

    2. Re:IPv6-awareness by jd · · Score: 4
      Possibility A: They wanted something different, so that they could clearly identify backwards-compatiable addresses, such as ::127.0.0.1.

      Possibility B: The IETF team -meant- ., but their secretary's finger slipped on the keyboard, and nobody had the heart to correct them.

      Possibility C: It's a secret conspiracy by the IETF to promote their new online hypertext system, VVV, and their new GUI system, Y.

      Possibility D: They forgot that other people were already using the symbol, and by the time they noticed, were too drunk/lazy/proud (delete as applicable) to correct 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)
    3. Re:IPv6-awareness by mmontour · · Score: 1

      Possibility E: They based it on the Ethernet MAC format.

    4. Re:IPv6-awareness by DJStealth · · Score: 1

      I think it must be option C: Hah.. But I still want to see the working code of the W system before we can move onto Y. Who created W anyway, it was one of the first unix distro creators like 20 years ago?

  5. RedHAt not enabling IPv6 by Anonymous Coward · · Score: 2

    I understand that RedHat does not enable IPv6 in the nettools package due to the fact that IPv6 was not really ready for the everyday user at this point. cheerio The Squid

  6. Is IPv6 already done? by deathcubek · · Score: 2

    I thought there was still some issues with DNS and IPSEC. Is there stuff that still needs to be done?
    --
    "New worlds are not born in the vacuum of abstract ideas, but in the fight for daily bread..."

    --

    New worlds are not born in the vacuum of abstract
    ideas, but in the fight for daily bread
    --Rudolf Rocke
    1. Re:Is IPv6 already done? by jd · · Score: 5
      DNS is done. Patches existed for BIND 4, and BIND 8 had support from the word go. It's messy, and reverse lookups are a horrible kludge, but it's there.

      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)
    2. Re:Is IPv6 already done? by Anonymous Coward · · Score: 1

      What don't people look into Solaris?
      playground.sun.com has a full blown IPv6
      implementation.

      Also, wait for Solaris 8. Many people will be
      surprised.

  7. Confusion by Foogle · · Score: 3
    There's a lot of confusion about Ipv6. It'd be nice if we could get a good explanation of how this will be implemented. I know that Linux has support for it, but how does it get worked into the world of IPv4? Something along the lines of that last piece on patents would be wonderful. Most of the current information on IPv6 is very technical, and I know that for most people, it's just not a priority to look into right now.

    Anybody in the know want to write a decent How-To?

    -----------

    "You can't shake the Devil's hand and say you're only kidding."

    1. Re:Confusion by devphil · · Score: 4

      The latest (2nd) edition of _Unix Network Programming_ discusses IPv6. It's a really good introduction for somebody (like me) who knew jack-all about it to start with.

      It's just technical enough that I can follow discussions about IPv6 implementation and management, but doesn't get into the really nasty details -- there are supposed to be other books for that, and _UNP_ has other topics to get to.

      For the uninitiated, _Unix Network Programming, 2nd Edition_ is two or three volumes, all worth it, and written by the late W. Richard Stevens, Network God. RIP.

      --
      You cannot apply a technological solution to a sociological problem. (Edwards' Law)
    2. Re:Confusion by _ghent_ · · Score: 2

      Check out this site for a semi-informative FAQ: http://faq.v6.wide.ad.jp/ There is also: http://www.ipv6.org/ and http://www.6bone.net/ They claim they are working on a real FAQ and there are apparently some hotows floating around the site...

    3. Re:Confusion by Anonymous Coward · · Score: 0

      The *late* W. Richard Stevens? Oh no! When did this happen? :-( mjf

    4. Re:Confusion by warmenhoven · · Score: 1
      UNP is also useful for people who already know Unix Network Programming. It's not just an intro book, it's very detailed and I've found it to be incredibly useful.

      One of the most useful things that I've found about it is that all of the examples can be downloaded as a tarball. This is especially useful since it comes with a header file which allows both IPv4 and IPv6 in the same program, and in some instances in the same function.

      Sorry, I don't remember where the tarball is located, but it is on the web as unpv12e.tar.gz, so you can look for it. And I recommend buying the book.

      --

      -----
      "A man is judged by his every word." -RW Emerson
      "They misunderestimated me." -GW Bush
    5. Re:Confusion by devphil · · Score: 1

      Oh, I didn't mean to imply that UNP is only an intro book. I bought the Second Edition because the First Edition and the APUE were so unbelievably useful.

      I don't recall his website off the top of my head, but I think that uunet has a copy.

      --
      You cannot apply a technological solution to a sociological problem. (Edwards' Law)
    6. Re:Confusion by Anonymous Coward · · Score: 0

      Stevens' Web Site: http://www.kohala.com/start/

  8. KAME by jtn · · Score: 3

    I can't remember, but is there no Linux support in KAME? I've patched a quite a few FreeBSD and NetBSD machines with the KAME stuff and they work fine. They come with new utilities (telnet, ftp, etc) that are transparent and accept both IPv4 and IPv6 addresses, as well as looking for A and AAAA records.

    1. Re:KAME by jd · · Score: 3
      It's a BSD stack, unfortunately. Mind you, given Linux' current media attention, not having a stack who's name could easily lend itself to warped jokes might be an advantage.

      On the other hand, there's a =LOT= of IPv6 software (such as GateD 6) which is very specific to that stack, which Linux misses out on.

      --
      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)
  9. Re:IPv6-awareness- Where can I find info on 6bone? by Amoeba+Protozoa · · Score: 2

    Where could one find info on joining the 6bone? Does it require that your ISP be running some IPv6?


    -AP

  10. Re:IPv6-awareness- Where can I find info on 6bone? by jd · · Score: 5
    There's information on joining the 6Bone at:

    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)
  11. Possibility E: by bkosse · · Score: 1

    A combo of A and D. They wanted something clearly seperate and because MAC addresses use : as the seperator, they assumed it would be usable.

    Not knowing everything else, but wouldn't a , be a good character?

    --

    --
    Ben Kosse
    Remember Ed Curry!
    1. Re:Possibility E: by ZX81 · · Score: 1

      a "," or a? I shall asume you meant "," this is often used to delimit arguments - would probably cause more problems....

      --
      -={ Security does not exist - give up }=-
    2. Re:Possibility E: by Bin · · Score: 1
      Proberbly using a '.' instead of colons for the IPv6 addresses and a ':' for IPv4 would be a cunning idea.

      That does however leave the IPv4 in IPv6 legacy addresses ::127.0.0.1, hmm, I don't suppose that a ':' is valid after one of those, so use a '.' after IPv6, and ':' after dotted quad would work.

      Anyone know anyone on the IETF?

      --

      --
      Or words to that effect ...
  12. IPv6 on Linux just sucks by sti · · Score: 2

    I've used several IPv6 stacks on FreeBSD and rarely had any problems. I've also tried to compile and use the network utilities for Linux and have always had lots of problems. It seems to me that Linux simply is not IPv6-ready (yet).

    1. Re:IPv6 on Linux just sucks by Anonymous Coward · · Score: 0
      Wow, what an informed opinion. The only BSD which integrates IPv6 support is NetBSD-current. If you don't run the few "supported" versions of FreeBSD, KAME won't help you (patches exist only for 2.2.8 and 3.2 IIRC). Fortunately, there is currently going on a merger between two source projects which will integrate their code into FreeBSD 4.0-current.

      You can get a stable Linux kernel with IPv6 support now. There is no comparable *BSD release. If you want to go the BSD route, you have to wait for NetBSD 1.5 or FreeBSD 4.0.

  13. FreeNet6 for testing by decaym · · Score: 2

    If you are looking to test a single IPv6 host, consider using FreeNet6 at www.freenet6.net. This site uses an automated web form to request and setup an IPv6 tunnel out to the mbone. The one drawback with this site is that you can't route hosts from behind this address. It is an end station address rather than a subnet. Anyway, it is still a great way to get your feet wet.

    --
    World Beach List, my latest project.
  14. Works fine on NetBSD by perry · · Score: 2

    NetBSD has the Kame code integrated in -current and it works just fine -- you can telnet to a v6 host if you like.

    I suspect your Linux userland utilities just haven't been updated to be v6 aware. Either complain to the maintainers of those programs or send them patches. There are lots of patches on several FTP sites for making utilities v6 aware, by the way.

  15. Archive of RPM and deb packages? by decaym · · Score: 1

    It sure would be nice if someone would put together a site with patched RPM's and SRPMS's for IPv6 support under RedHat. Of course, the same needs to be done for Debian. For the nettools package, it was just a matter of fixing the "spec" file and recompiling it. If a set of patches could be put together and distributed in a RPM or deb file for packages such as inetd, bind, telnet, apache, etc, testing of IPv6 would be a heck of a lot easier.

    --
    World Beach List, my latest project.
    1. Re:Archive of RPM and deb packages? by Daniel · · Score: 2

      Actually, I believe that Debian already enables IPv6 in many programs (sometimes with patches). I haven't tried this myself, though, so I don't know how well it works.

      Daniel

      --
      Hurry up and jump on the individualist bandwagon!
    2. Re:Archive of RPM and deb packages? by Anonymous Coward · · Score: 0

      There's an IPv6 RPM archive here.

  16. Some notes on IPv6. by Daneel · · Score: 5

    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.

  17. Re: Late W. Richard Stevens???? by Omnifarious · · Score: 1

    I was really looking forward to reading more of his books to see where he fell in the whole BSD vs. Linux vs. everyone else debate. It was pretty clear from his other books that he really disliked System V, and really liked BSD.

    And now I hear he died. :-( When did this happen?

  18. Depends on the application by abcess · · Score: 2

    Some apps will work with IPv6 without needing changes, but it depends what set of functions they are using. If they use the updated IP functions and write their code the right way, transparent protocol support is possible. Alot of code i've seen uses the older functions, which is fine for the moment, and tends to be simpler to implement, some programs are using the newer functions, but don't do so in a way that allows use of IPv6, there are some really good books on how to do this (UNIX Network Programming Vol. 1 is what i generally use as a reference).

    That said, there are also some other issues, such as people upgrading to BIND 8 for DNS stuff, implementation maturity, to name a couple.

  19. Important Things to do with IPV6 by Anonymous Coward · · Score: 0
    Could you please tell me if these concerns about IPV6's Static IP addresses are valid?:
    Go here
    And here thanks

    Any thoughts about the truthfulness of those stories?

    1. Re:Important Things to do with IPV6 by Jagged · · Score: 1

      Could you please tell me if these concerns about IPV6's Static IP addresses are valid?:
      [links to TechWeb article]


      Sure, try this:

      Use the archives, Luke!

    2. Re:Important Things to do with IPV6 by jtn · · Score: 1

      There should be no more concern about IPv6 addresses than there should be about IPv4 addresses. It's just a number, no tie to any sort of geographical identifier. It's a non-issue in reality.

    3. Re:Important Things to do with IPV6 by mcc · · Score: 4
      blah

      yes, so your IPv6 adress WILL be static, possibly even on a dailup. This means that it may be easier for websites to track you without the use of cookies. It means if you get glined from an irc network you can't just logoff and log back on.

      But it also means that you can host a web/ftp/etc server and have it be in the same location all the time; it also means you can buy a .com or .net or whatever domain name. Basically it means everything that having a static IPv4 adress meant.

      This is not something that the IPv6 protocol makers should be worrying about. After all, if you'll remember, the entire point of the IPv6 standard is to create a system whereby everyone gets their own static IP. The privacy concerns are something that your ISP should be handling. Talk to them. And the ISP can handle this probably by setting up a system whereby you change your IP occationally if you want to; this is how some *dsl and cable providers handle the exact same privacy problems (since *dsl and cable also have static IPs).

      But the fact is that a lot of people-- me, for instance-- would _want_ a static IP. And there's no real way that the people writing the IPv6 protocol _can_ do anything about privacy concerns arising from static IPs, since there's no system i can think of where you can't be tracked but can have a DNS name.. The ISP should be the one you should be complaining to.

    4. Re:Important Things to do with IPV6 by hta · · Score: 2

      Ahem.....one of the most emphasized points with IPv6 is that renumbering should be EASY.

      We KNOW that sites hanging on to an address when changing providers is a long term disaster - the routing tables just get too big.

      There's lots of things in IPv6 to support renumbering. So expect addresses to be relatively static - but do NOT write them down if you don't absolutely have to!

      (Yes - there is stuff in DNS too. Look up A6 records in the internet-drafts directory.)

    5. Re:Important Things to do with IPV6 by Chandon+Seldon · · Score: 0

      Dynamic IP addresses are a nasty kludge that IPv6 hopes to fix.

      Static IPs are a *feature* not a bug.

      --
      -- The act of censorship is always worse than whatever is being censored. Always.
    6. Re:Important Things to do with IPV6 by Chandon+Seldon · · Score: 1

      Dynamic IP addresses are a nasty kludge that IPv6 hopes to fix.

      Static IPs are a *feature* not a bug.

      How would you like it if every time you wanted to send or recive (postal) mail, you had to go to the post office and register an address - which you then lost after a week or so?

      --
      -- The act of censorship is always worse than whatever is being censored. Always.
    7. Re:Important Things to do with IPV6 by Anonymous Coward · · Score: 0
      Try again.

      Many rural areas in the United States do not get mail delivered to their homes. Instead, they are assigned a post office box (e-mail address) at their local post office (ISP). In addition, many people acquire a P.O. box for other reasons, such as privacy and convenience.

      How many home users already do or would like to run servers, e-mail or otherwise, on their home machines? Blissfully few, I imagine; not only do they have no need, but doing so would be an unwanted and unnecessary hassle when their ISP is more than willing to do the job they are being paid to do: provide e-mail reception as well as personal web hosting and ftp services. Those who would like to set up an Internet presence which is not this intimately tied to their ISP (in the sense that they are no longer joe@INTERNET4U.COM or their pirated mp3 archive can be accessed at ftp.staticipis31337.com) are allowed to pay for that priviledge.

      In addition, people who have not paid for that priviledge are generally disallowed to take advantage of it anyway. For example, it has been mentioned elsewhere in this thread that cable modem users have static IPs. (Let's ignore the half-truthness of this statement for a moment; many cable providers rotate IPs infrequently enough that the assigned IP tends to be 'static enough.) The majority of Terms of Service contracts for cable modem users stipulate that the user shall not run publicly accessible servers without making explicit arrangements with the ISP. In at least one location that I know of, this rule is enforced with firewalls. I would anticipate similar rules for all dial-up users in the event that IPv6 ever catches on.

      (I'm aware, by the way, that the above argument will hold water for few of you; in point of fact, there's no real way to completely prevent users from running servers. The firewalling I mentioned is amusingly inadequate in many situations. It is a stipulation in a legally-binding contract. I do not consider the fact that a community obsessed with getting something for nothing would ignore these rules in a heartbeat to be interesting. The law is the law.)

      In short, static IPs are a thing that most consumers do not need.

    8. Re:Important Things to do with IPV6 by Chandon+Seldon · · Score: 1

      Right, and no-one needs faster than a 2400cps modem, I mean - who would want to transfer anything but text?

      The system was designed to give everyone their own IP, nor was it designed as an 'end user service' like television, radio, newspapers, etc...

      Right now, due to the use of IPv4 and it's address distribution problems, most desktop PC software assumes that you have a dynamic IP. This prevents all kinds of neat functionality in software, like immediate e-mail delivery, and requires all kinds of systems to be implemented as client-server-client instead of peer-peer connections (example: ICQ, MS-Net Meeting, etc), which is a waste of valuble resources on the part of the service provider, and a waste of bandwidth for the whole 'net.

      Just because people are used to a nasty kludge doesn't mean that they can't take advantage of the benifiets of not needing that kludge any more.

      Also, all the advantages of Dynamic IPs can be gotten through dynamic IP'd proxy servers. Just set up your computer to route all it's IP traffic through the proxy... which will use a different IP for each request. So, instead of having to disconnect and reconnect to get a new IP, you can just hit "reload" in your browser! (Or reconnect in your IRC client, whatever)

      As for terms of service agreement, I refuse to agree to anything that resticts what apps I can run on my PC --- And I'll encourage everyone I know to do the same!

      --
      -- The act of censorship is always worse than whatever is being censored. Always.
  20. Late W. Richard Stevens: Slashdot article link by Mr+Z · · Score: 3

    There was a Slashdot Article on September 4th.

    The world lost a truly great networking mind when it lost W. Richard Stevens. May he rest in peace.

    --Joe
    --
    1. Re:Late W. Richard Stevens: Slashdot article link by Omnifarious · · Score: 1

      :-( I'm rading that set of posts now, and am deeply saddened that my words were even a faint echo of some of the things posted on there by idiots.

      W. Richard Stevens will be very missed. I recommend his books to everyone who wants to understand TCP/IP deeply. I don't think there are any other books you can point to and say "If you want to write your own TCP/IP protocol stack, read and understand this, and you'll be 90% of the way to knowing how.".

      :-( :-( :-(

  21. IPv6 compiling under suse 6.0/redhat 6.1 by Anonymous Coward · · Score: 0

    I've been trying to compile the ipv6-net-tools on suse for some time now, but I haven't really succeeded yet. Weh I alter some include-files some errors disappear, but others show up. My redhat 6.1 system seems to be a bit better configured, because compiling goes perfectly (after hacking the include files for approx. 30 minutes). The ifconfig command works fine, route doesn't know address-family inet, nor inet6 (pretty useless) and ping6 ::1 works fine now. My redhat and suse systems are nog glibc-compatible, sow copying the binaries doesn't help. Has anyone created some rpm's with statical-linked binaries? That would be usefull!

    Good luck, and if you really want ipv6 to work, upgrade to RH6.1

  22. Apps by Anonymous Coward · · Score: 4
    Your favorite applications almost definitely do not support IPv6.

    The big lesson that the world should be learning from IPv6 (but isn't) is that most existing network applications are hopelessly dependent on the protocol they were written for. So, for example, the standard 'telnet' program you get in your favorite Linux distribution supports IPv4 *only*. It *will not* work with IPv6. If you feed it IPv6 addresses, it's not going to somehow magically work. The telnet program just does not know anything about IPv6, and nothing short of installing a new version of telnet or using elaborate and dangerous kluges is going to change that.

    There are ways to build applications that can support -- within some reasonable constraints -- any protocol you throw at them. A lot of this centers around using protocol-independent APIs such as getaddrinfo() and being careful about how you code things. It's also possible to take most existing apps and retrofit this flexibility into them, though some apps are really poorly written and those are really hard to fix. Applications written that way will transparently just deal with IPv4, IPv6, or whatever else you feel like using.

    However, a lot of the IPv6 implementors are just making applications support IPv4 OR IPv6 rather than making them support anything. This just means that if IPv6 doesn't happen (which is definitely possible) or if we all decide later to move to IPv7, we're going to have the same problems all over again.

    Now, there are tricks such as proxies and NATs that can be used to allow an IPv4-only app to talk using IPv4 to some intermediate point that then relays the data over IPv6 to some far end. This works, sometimes, but it's exactly the kind of kluge that IPv6 exists to try to avoid.

  23. when.... by Anonymous Coward · · Score: 0

    when the sysV guys found him....

  24. Or am I being incomparably na�ve here? by Anonymous Coward · · Score: 0

    Ever here of argv and argc?

    Ever parse an input line?

    Hello? Knock knock, is there is a coder in there?

    1. Re:Or am I being incomparably na�ve here? by Anonymous Coward · · Score: 0

      yes, you are. addresses in the form 127.0.0.1 are a different bit depth than IPv6 addresses (I forget how many bits each is, but IPv6 is many times larger... that's the whole reason it was created). there is no way you can squash an IPv6 address into the smaller bit space of a traditional ip address, since the bit bucket isn't large enough. if you want a good kludge, use an IPv6 aware NAT instead. unfortunately, until IPv6 gains more acceptance, that's really all one can do.

    2. Re:Or am I being incomparably na�ve here? by Anonymous Coward · · Score: 0

      menh. Read the article. I was responding to the ORIGINAL post. Apparently the guy has never written a socket interface in his life and I've written plenty. It's just a problem parsing the arguments from the command line. getsockbyname() and gethostbyname() have to be updated probably as well. My own code would reject his example as an invalid IP. It's not a problem with the kernel but a problem with telnet, the application.

    3. Re:Or am I being incomparably na�ve here? by Anonymous Coward · · Score: 0

      Ever heard of dynamic linking? heh.

  25. But Wait! There's MORE! by Ryandav · · Score: 2

    This is the MOST common misconception about IPV6, and I wish people somehow would stop getting this idea.

    IPV6 IS NOT solely to remedy ip address shortages. There are those who contend that there is no such shortage, and we can all just use NAT boxen and masquerading till the cows come home. Which leads to the natural assumption that there's no need for IPV6.

    Other important things that come with IPV6 are the QoS ratings, additional security features (!), better design from the network architecture standpoint, general improvements in the spec, etc.
    Keep in mind, IPV4 is OLD, and it was never meant to do the things we have it doing, becuase the designers at the time had no idea how the Internet would turn out.

    (!) BTW, this does NOT refer to the so-called loss of anonymity caused by putting a MAC in the address. Read more at the IPV6 FAQ.

    --
    Check my Go-related blog for beginners: DGD
  26. Textual representation of IPv6 addresses by XNormal · · Score: 4

    There has been some concern over the use of thw ':' character in the text representation of IPv6 addresses - this could break some programs parsing addresses or especially URLs.

    There is an internet draft which proposes the following native format:

    instead of "ABCD:EF01::2345:10.9.8.7" use "ABCD-EF01--2345-10.9.8.7.ipv6" which contains only characters valid on a domain name and marks the with a pseudo-TLD of ".ipv6"


    ----

    --
    Stop worrying about the risks of nuclear power and start worrying about the risks of not using nuclear power.
  27. IPv6 Urban Legends by K-Man · · Score: 0

    The guy forgot to do any research before publishing. I checked back today, and there were a bunch of letters to the editor, none of them mentioning the IETF draft covering the same topic and dated June of this year, but at least letting him know that, for instance, ethernet MACs and IPv6 addresses are changeable.

    The guy does have one legitimate privacy concern left, though: how to keep his idiocy a secret.

    --
    ---- "If we have to go on with these damned quantum jumps, then I'm sorry that I ever got involved" - Erwin Schrodinger
  28. How can I help IPV6 support for Linux??? by Anonymous Coward · · Score: 0

    I'm working on my MSCS and would love to get some practical experience with low level or network coding. Any body know of any good projects that I can get involved with, or anything in particular that needs to be done.

    Thanks.

  29. actually... by cabbey · · Score: 1

    transparent ipv6 would be:

    ~> telnet localhost
    connecting to localhost (::1)...


    but that's a long way off.

  30. IPv4/IPv6 Compatability by khaladan · · Score: 2

    Unfortunatly many TCP/IP programs will have to be rewritten to work with IPv6. Yes, it is possible to create protocol-independant (as far as v4 or v6) programs, but there is still lots of maintanence to be done (which is why I believe that the switch from IPv4 to IPv6 will have more problems than those caused by Y2K).

    The bulk of problems lie in the address conversion (from readable strings to data used by sockets) functions. Since IPv6 addresses need more space to store, the IPv4-centric program isn't going to have enough space for them, thus support for IPv6 in the libraries isn't going to solve everthing, a partial rewrite will be needed. Usually it will be simple to make it compliant, unless it uses a lot of IPv4 dependant stuff (like raw sockets for example).

    If code uses gethostbyname and gethostbyaddr, it is probably IPv4-dependant. If code uses getaddrinfo and getnameinfo, it is probably protocol-independant. (Please note that I said "probably"). Just grep source and find out if it needs to be rewritten.

    So, yes, you were slightly naive, there is yet work to be done :)

    Ben Higgins

  31. 6to4 by Anonymous Coward · · Score: 0

    I'd much rather have 6to4 than the 6bone. Is anyone working on 6to4 for Linux?

  32. What about API's? by raph · · Score: 2

    What do I, as a lowly network application programmer do if I want to write portable code that migrates smoothly to ipv6?

    Last I checked, getaddrinfo was not widely available under most Linux distros. Apparently, there is no api standard for sockets, ipv6 or no (the ipv4 api is more or less a de facto standard, although there are still gaps, such as a threadsafe version of gethostbyname).

    Stevens talks about XTI, but as far as I can tell it's yet another example of Open Group navel gazing. Is it even available under Linux?

    Unless I'm wrong, they haven't made it easy to do the Right Thing. Ah well, I guess the right thing to do is complain to a local representative of ITC (the International They Consortium).

    --

    LILO boot: linux init=/usr/bin/emacs

  33. Not Linux's fault. Few apps coded with IPv6 compat by Paradox · · Score: 4

    The Linux Kernel actually supports IPv6 pretty well, from what I can see. What you're forgetting
    is sysutils and the like DON'T always know about
    IPv6 yet. For instance, I don't think telnet is protocol independant. So you really can't blame it.

    Besides, an addr of ::1 probably isn't a good idea anyways, you're really asking for it. You should use IPv4 mapped IPv6 addresses like ::127.0.0.1 and the like.

    For you coders out there, STOP using the old methods, inet_ntoa and inet_aton. These DON'T work! You need to use inet_pton (which are defined in to handle IPv6 properly, if at all. Read the prototype if you haven't already.)

    It's a wise idea these days to develop network applications that are protocol independant. I see stuff that isn't coming out of freshmeat.net all the time.

    It's usually a simple chore to patch source to be protocol independant, you just whip around a few different calls. Developers should take heed!
    - Paradox
    Man of the C!!!
    perl -e "print join q( ), split(q.z. ,reverse qq;):zrekcahzlrepzrehtonaztey; );"

    --
    Slashdot. It's Not For Common Sense
  34. IPv6 from a coder's view by MobyDisk · · Score: 0

    The problem with recompiling for IPv6 is that coders are lazy, and didn't do things right.

    The sockaddr_in and hostent structures were meant to vary in size, that is why they are defined as arrays of n-bytes, with n specified in the structure. But most programmers thought it was easier to use a single 32-bit number, instead of an array.

    And so incompatabilities arise. It should not be difficult to baby step existing code to do things RIGHT using the IPv4 headers, then plunge into IPv6. In my case, I wrote libraries around BSD sockets, so all I need to do is change a small library, for older code, it may be more difficult.

  35. IPv6 Linux Pointers by dananderson · · Score: 2
    For useful info on installing IPv6 on Linux, see Peter Bieringer's http://www.bieringer.de/linux/IPv6/default.html. It has a up-to-date FAQ and pointers to packages. Basically you need to update your servers (telnetd, inetd), some /etc files (such as hosts and protocols), add IPv6-aware libraries, and add clients that are IPv6 aware (such as ifconfig, telnet and ping)

    For 6bone info, see http://www.6bone.net/

  36. No XTI/TLI for Linux by Scatter · · Score: 1

    XTI isn't available under linux, well not under redhat 6.0 or debian 2.2. A search through the debian pacakge archive only produced icbs (the intel binary compatibility standard), which supported binaries compiled using XTI, but doesn't include the headers or libraries for XTI development.

    Anyway, sockets are easier to use ;)

  37. Why it doesn't work by Al+Wold · · Score: 1

    I think the parsing code is designed for IPv4, so it will only recognize a x.x.x.x as an ip, otherwise it tries a DNS lookup. If you setup an IPv6 name server, it might work.

  38. IP6 Evangelists by Ratface · · Score: 2

    It seems to me that IPv6 needs an evangelist - someone like RMS who can tirelessly poke and prod people to sit up and take notice of the requirements of this new, but incredibly important protocol.

    I have read posts here pointing out that programmers need to be educated to write their apps to support methods that have IPv6 support and that word needs to be gotten out to ISP's, network admins etc about how to integrate a changeover to the new protocol.

    Now, in the true spirit of the Internet community, I should be offering my services instead of just suggesting this, but whoever takes on this is going to need *way* more free time and money that I have unfortunately. They'll also need to be prepared to dive in and build up a deep understanding of the programming and technical issues involved.

    Of course, an evangelist isn't the only thing that will be required to muster up support and readiness for the changeover, but it's one of the ingredients that I feel is lacking at the moment.

    Anyone feel a call to action???

    --

    A little planning goes a long way...
  39. Re:IPv6 and you by Ian+Bruntlett · · Score: 1

    Not everyone can write good code.

    That shouldn't stop them from pointing out the rough edges and asking for help.

  40. My debian2.2 (potato) box has some support! by exa · · Score: 1

    Yep, but who's tried it out? It seems that netbase and some basic packages do have IPv6 support. I think Debian has the best support so far...

    --
    --exa--
  41. NAT is EVIL - IPv6 is the only long term solution by Madwand · · Score: 1

    IPv6 is most certainly about alleviating the IP address space shortage. Everything else was a case of "well, if we're redesigning the world, there's this one small thing I want to add..."

    Network Address Translation (NAT) is an unmitigated Evil in that it breaks the End-to-End model - the basic design assumption of the Internet (you know, smart end hosts, with stupid routers in the middle who are not supposed to muck with the packets in any way?). There's also one other small gotcha with NAT - if you NAT, you can't use IP security. How can the NAT translate IP addresses hiding in an encrypted packet?

    The 32-bit IPv4 address space will exhaust, and when it does, we all must have IPv6 stacks in our kernels, and our applications converted and working in both the old and the new address space.

    Anything else is just an egregious hack, and must not be tolerated.

  42. $DISPLAY is not a problem by cs · · Score: 1

    When you're parsing $DISPLAY, are you looking
    for an IP address? NO! You're looking for:
    ip-addr:n[.n]
    So you rip of the right hand display[.screen]
    spec _first_, then hand the left hand side to your
    ascii2address routine.

    --
    Cameron Simpson, DoD#743 cs@cskk.id.au http://www.cskk.ezoshosting.com/cs/
  43. The late W. Richard Stevens and IPv6 by dananderson · · Score: 1
    W. Richard Stevens died September 1, 1999. The previous /. announcement had an obsolete link. Here's his obituary for those interested: http://www.dan.pmbc.c om/6bone/w.richard.stevens.obituary.html

    W. Richard Stevens UNP book is full of well-explained IPv6 material, down to the detailed API level. I highly recommend his books on UNIX or Network Programming or both.

  44. IPv6 is ``transparent'' in NetBSD by carton · · Score: 1

    I don't know much about IPv6 and haven't done anything to set it up on my system--i use the same /etc stuff i used when we had only IPv4. On NetBSD-current, I can verify that 'telnet ::1' will get you a login prompt on the local machine. I didn't know ::1 was the loopback addr until I read it here, so obviously I don't know enough to answer your DISPLAY question. NetBSD-current has merged into both the kernel and the userland the IPv6 stack developed in Japan by KAME. KAME supports IPsec, and KAME's IPsec implementation in NetBSD contains strong cryptography which can be legally downloaded both inside and outside the US. One of the KAME developers is active on the NetBSD mailing list, and continues to directly support the NetBSD port of KAME. IPv6-aware versions of popular tools like apache are available in NetBSD's pkgsrc, as well as directly from KAME.

  45. Argh. Good point. by bkosse · · Score: 1

    There's a distinct lack of good punctuation marks available. Grr.

    --

    --
    Ben Kosse
    Remember Ed Curry!
  46. Re:NAT is EVIL - IPv6 is the only long term soluti by n2kiq · · Score: 1

    I won't dispute most of what you've said, only this:

    IPSEC can be NAT'd -- The black tunnel endpoints are not encrypted, and most of the time not included in the encrypted data.

    I've got an IPSEC client I use for work and a Linux "firewall" that masquerades IPSEC rather nicely.