63

Of course, I realize the need to go to IPv6 out on the open Internet since we are running out of addresses, but I really don't understand why there is any need to use it on an internal network. I have done zero with IPv6, so I also wonder: Won't modern firewalls do NAT between internal IPv4 addresses, and external IPv6 addresses?

I was just wondering since I have seen so many people struggling with IPv6 questions here, and wonder why bother?

KCotreau
  • 3,401

14 Answers14

59

There is no NAT for IPv6 (as you think of NAT anyway). NAT was an $EXPLETIVE temporary solution to IPv4 running out of addresses (a problem which didn't actually exist, and was solved before NAT was ever necessary, but history is 20/20). It adds nothing but complexity and would do little except cause headaches in IPv6 (we have so many IPv6 Address we unabashedly waste them). NAT66 does exist, and is meant to reduce the number of IPv6 addresses used by each host (it's normal for IPv6 hosts to have multiple addresses, IPv6 is somewhat different than IPv4 in many ways, this is one).

The Internet was supposed to be end-to-end routable, that is part of the reason IPv4 in invented and why it gained acceptance. That is not to say that all address on the Internet were supposed to be reachable. NAT breaks both. Firewalls add layers of security by breaking reachability, but normally that it's at the expense of routability.

You will want IPv6 in your networks as there is no way to specify an IPv6 endpoint with a IPv4 address. The other way around does work, which enables IPv6-only networks using DNS64 and NAT64 to access the IPv4 Internet still. It's actually possible today to ditch IPv4 all together, though it's a bit of hassle setting it up. It would be possible to proxy from IPv4 internal addresses to IPv6 servers. Adding and configuring a proxy server adds configuration, hardware, and maintenance costs to the network; usually much more than simply enabling IPv6.

NAT causes it's own problems too. The Router has to be capable of coordinating every connection running through it, keeping track of endpoints, ports, timeouts, and more. All that traffic is being funneled through that single point usually. Though it's possible to build redundant NAT routers, the technology is massively complex and generally expensive. Redundant simple routers are easy and cheap (comparatively). Also, to re-establish some of the routability, forwarding and translating rules have to be established on the NAT system. This still breaks protocols which embed IP addresses, such as SIP. UPNP, STUN, and other protocols were invented to help with this problem too - more complexity, more maintenance, more that could go wrong.

RichVel
  • 3,594
Chris S
  • 78,185
  • 3
    I always liked NAT since it kept internal networks that much more segregated from external networks. Does your answer mean that when we eventually transition totally to IPv6, every computer, even internally, will have real routable IP addresses? – KCotreau May 26 '11 at 19:24
  • 30
    The router the NAT was running on is what separated the networks, that router will still separate the networks, nothing has changed except the router has to be programmed correctly for IPv6. Routable yes, not necessarily reachable (firewall rules will likely block most traffic). – Chris S May 26 '11 at 19:26
  • 1
    @kcotreau: Yes, that is what it means. – Satanicpuppy May 26 '11 at 19:38
  • 2
    -1. Factually wrong. NAT for Ipv6 is now officially in development ;) – TomTom May 26 '11 at 21:05
  • 13
    @Tomtom: Anyone who thinks they need it doesn't know they need a firewall instead. There is literally no problem that NAT is the best solution for, other than problems caused by scarcity of addressing. There is no scarcity of addressing in IPv6 (yet!). It might well be in development, but that doesn't mean it's not a stupid idea :) – growse May 26 '11 at 21:32
  • @growse that doesn't change the fact that ipv6 NAT is in the works :http://arstechnica.com/old/content/2008/07/after-staunch-resistance-nat-may-come-to-ipv6-after-all.ars as an example – Jim B May 26 '11 at 21:37
  • 6
    @JimB - as far as I'm aware there's been at least 4 different IPv6 NAT proposals that have been in development and all of them have failed. Given that that page is almost 3 years old, I'm going to guess that by now it's failed too – Mark Henderson May 26 '11 at 21:41
  • @Mark - thta was just the first hit the all knowing search engine supplied. searcing for drafts the latest I found (there is a bunch) seemed to be a plea to avoid NAT and that doesn't expire till 9/2011 (https://trac.tools.ietf.org/html/draft-ietf-v6ops-ipv6-multihoming-without-ipv6nat-00) I could be wrong- I haven't the heart to actually plod thru them. – Jim B May 26 '11 at 21:53
  • 2
    Factually simplified; there have been no successful NATv6 Projects. There have also been IPv6 prefix remapping initiatives, using link/site local addresses internally and mapping them to global IPs for external routing at the site gateway(s) (though this is not implemented in the same way as NAT, it's somewhat similar). – Chris S May 26 '11 at 21:55
  • 1
    "just because it is public, does not mean it is reachable." Of course I realize that, but it is still a bit harder to make a configuration mistake by accident with NAT. – KCotreau May 26 '11 at 22:41
  • 15
    I know this will sound offensive, so I'm apologizing up front, but if you aren't the cook stay out of the kitchen. People understand if they work on their own car they might break something that causes a world of damage... Same goes for computer security, if you don't know how, you'll likely end up doing more harm than good. You do have a point, that NAT makes some levels of security easier (most notably and almost exclusively that your internal network isn't Internet routable). Even on most NAT routers today this is only a default setting, and the "security" provided by NAT can be disabled. – Chris S May 27 '11 at 03:23
  • 1
    Chris S concepts on NAT are way wrong; one of the best features of NAT besides the artificial expansion of IPv4 schema is SECURITY. NAT is the layer that hides the real IP of a host that if directly connected to Internet can be the target of all the imaginable attacks. Happily talking about getting rid of NAT without encouraging extra security measures is just plain ignorance. – Pat Feb 15 '13 at 14:01
  • 10
    Lets not start bandying around words like 'SECURITY' without a sensible discussion about vulnerabilities and threats. What specific vulnerability does NAT protect? What specific 'attacks' are you talking about? Are they the same attacks that the rest of the professional world mitigates with a stateful firewall? If so, NAT's not really buying you much. – growse Feb 15 '13 at 14:29
  • @growse let's put it in a different way; can you tell me that NAT does not have security implications??? Of course it does have security implications. if you think other way you and your upvoter fellas get the books. – Pat Feb 15 '13 at 20:39
  • 6
    Maybe I'll repeat the question, just in case you missed it. It's a simple question, shouldn't be too difficult to answer: What specific vulnerability does NAT protect? If you like, I could rephrase: What specific security risk does NAT mitigate? – growse Feb 15 '13 at 21:48
  • @growse It does protect your "real" IP by hiding it; just see the Log of an Apache server on a public IP and you'll see what I'm talking about. Do you have an idea how many people today get connected to internet protected ONLY by a NAT layer??? before you challenge me you better GET THE BOOKS. – Pat Feb 16 '13 at 00:05
  • 7
    Why is my device's IP address a secret? Why does it need to be hidden? What security risk do I run by having my IP address public? – growse Feb 16 '13 at 00:28
  • @growse sorry no time for answering kindergarten questions... just go and ask for help to the ones that just upvoted you. – Pat Feb 16 '13 at 01:34
  • 6
    Ah, simple questions are beneath you. Well, that says a lot. – growse Feb 17 '13 at 00:36
  • Would you ever put a home refrigerator, a smart TV, a printer, or a small IoT device like the Raspberry Pi on a public facing ipv6 address? If they need to update some cloud service they could update from behind a firewall outbound no UPnP. 2020 I have a router which claims to have an IPv6 Firewall it looks exactly like the port forwarding of IPv4, isn’t that basically the PAT part of NAT? Would you put a Windows 10 PC on a public ipv6 that you have to reboot to get security updates? Common sense and experience says to me I want those hidden by PAT to a single public IP. – John Ernest Oct 14 '20 at 00:21
  • I read through this somewhat heated discussion and it seems like the whole point is that it doesn't matter if your IP address is public, as long as it is behind a firewall that doesn't let through any incoming traffic. This is almost definitely the default configuration of your router, which means that out of the box, IPv6 offers the exact same security as IPv4. Just make sure that you don't go into the settings and disable the firewall and you're fine. The router I got from my ISP doesn't actually allow me to disable the firewall, so you might have to install custom firmware to disable it. – Erik B Mar 11 '23 at 05:03
24

Running out of internal (rfc1918) ipv4 addresses can also be a very valid reason to go ipv6.

Comcast explained at Nanog37 why they were going ipv6 for their management addresses.

20 Million video customer
x 2.5 STB/customer
x 2 ip addresses/STB
--------------------  
= 100 Millions IP addresses

And this is only for video, not data/modems.

They exhausted the RFC1918 pools in 2005. Then they used public addresses pools (as nat isn't an option for management), and went ipv6 to solve their needs.

petrus
  • 5,327
  • 3
    What about the non-mega corporations? – Cypher May 26 '11 at 20:55
  • 1
    well, there is still all other answers ;) – petrus May 26 '11 at 23:17
  • I don't think that any corporation is going use more than 16,777,216 INTERNALLY...Sure, externally for their customers. Nobody disputes that we need more public IP addresses. – KCotreau May 26 '11 at 23:18
  • 6
    I wasn't talking about the public/wan ip address of a router, but the management ip addresses on a cable modem or set-top box. So yes, Comcast and all large cable providers do need more than 2^24 ip @. – petrus May 26 '11 at 23:27
15

Couple of reasons:

  • IPv6 doesn't support broadcasting. It is replaced with multicasting. Broadcasting enables one node to send traffic to all nodes on a subnet. Management of broadcast domains is a major issue with keeping large IPv4 networks running fast and smoothly. Multicasting requires that nodes that want to receive "broadcast"-style actually "sign-up" for it, so the network isn't flooded with traffic that hits all hosts.

  • IPv6 supports IPsec style encryption natively.

  • IPv6 supports autoconfiguration. It's possible for hosts behind a router to configure themselves without the need for DHCP, although you still need a DHCP server to hand out DHCP options such as DNS server, TFTP server, etc.

LawrenceC
  • 1,212
  • 7
  • 14
  • 3
    IPv6 allows renumbering of an entire subnet with almost no complication. It also allows merging of subnets. It has incredibly granular control over multicast traffic... there are even more reasons but its been forever since I took my IPv6 course. – Matthew May 26 '11 at 20:43
  • 4
    These are all popular myths, here's the bit more info: IPv6's multicasting is mandatory for basic functionality: for example to do a IPv4's ping broadcast equivallent you ping6 to FF02::1 for all regular nodes, and FF02::2 for all routers. IPv6's IPSec does not change ANYTHING from IPv4. You don't get any security for free. Still gotta configure all the modes, and deal with key distribution. IPv6's autoconfiguration is utter junk; by default it's as insecure as MAC<->IPv4, and it does NOT hand out DNS. If you want DNS you gotta install DHCPv6, so no gain there. – Marcin Jun 15 '11 at 03:18
  • 1
    I consider the 3rd point a weakness of ip6. How many times have you checked to see whether a machine had received an IP as part of the troubleshooting process? That part just got more difficult. – Joel Coel Jun 20 '11 at 23:41
14

My old job, at a large University, would use an IPv6 allocation internally. They were assigned an IPv4 /16 back in the day and even today is passing out IPv4 addresses to nearly every internal client. The RFC1918 networks were restricted to the telecom-only network and certain specialized usages (the PCI standards required RFC1918 usage until October 2010).

Because of this, they were actively planning to use IPv6 internally as well. There were some hardware issues still to work out, the edge switches weren't supporting v6 well enough, but the core was ready. The idea was that getting v6 support at the publicly visible end (okay, the publicly responsive end) of the network would involve 70% of the work to deploy it to everyone, may as well do the extra 30% and go end-to-end with it.

Having lived with a public IP allocation for so long, our people were very aware of the adage: "just because it is public, does not mean it is reachable." As Chris S said, routeable does not imply reachable.

That is why at least one class of organization would deploy IPv6 internally: because they're already using non-RFC1918 IPv4 internally.

sysadmin1138
  • 134,165
11

Working for a small company I can only think of reasons NOT to use IPv6.

  • We don't even have an IPv6 public address, so why on Earth would we run it internally?
  • We would have to replace our firewall, which I love dearly, as it doesn't (yet) support IPv6
  • We don't have a way to assign, let alone control, IPv6 addresses
  • Only half of our PCs supports IPv6
  • None of our manufacturing plant supports IPv6
  • Our switches don't support IPv6
  • I've never even seen a printer that supports IPv6
  • IPv6 is much harder to use from the command line - pretty important point for me
  • I would need to get fully up to speed on IPv6 - hard to do when I'm uninterested
  • ... and a whole lot of other reasons I can't think of just now

It just doesn't make sense for a company like ours to make the change, as it would take considerable expense and effort with absolutely nothing to gain from it.

Quite frankly, I like NAT and the benefits we get from dealing with local addresses. If it ever becomes necessary (as opposed to being a geek want-to-do) for us to interact with IPv6 on the Internet we'll do so at the gateway.

I'm not expecting this current IPv6 fad to become a necessity for the very vast majority of the world, internally at least, for a decade or more. As I expect to be retired by then there's not a whole lot of incentive for me personally to waste time and effort on it.

Edit:

I'm getting downvotes but not a single logical and sensible opposing view. Makes me think it's just a bunch of bandwagon jumping geeks who want to follow the trend without thinking about it. There has to be a REASON to make such a drastic change to a network and I don't have one. Further, I strongly suspect only a very few SF users do have one.

  • 3
  • ask your ISP for an allocation.. Unlike IPv4, you can't just request a block. you have to have the ability to use up X amount of them within 6 months.
  • – Brian Jun 15 '11 at 05:31
  • 2
  • you assign by setting up your router with a IPv6 address, and let the machines autoconfigure themselves. (or setup Dhcp6)
  • – Brian Jun 15 '11 at 05:31
  • 5
  • Windows XP SP2 supports IPv6. 6. Switches don't talk IP. They talk layer 2. they work fine with Ipv6 I have run Ipv6 over some 2001 3com switches. You might need to support ipv4 still to get to the management of some of them.. Any HP printer with a jetdirect card sold in the last 5 years (or is it more) support IPv6
  • – Brian Jun 15 '11 at 05:34