So Long Last /8 and Thanks For All the Allocations
labs.ripe.net
labs.ripe.net
Just look at how dark it is: https://benjojo.co.uk/internet-2018.png (from https://blog.benjojo.co.uk/post/scan-ping-the-internet-hilbe...)
Discussion on r/amateurradio - https://www.reddit.com/r/amateurradio/comments/ohi7j/did_you...
Microsoft whoever came to IP world quite late and did NetBEUI or IPX before.
Ironically around that time Microsoft was selling Xenix (https://en.wikipedia.org/wiki/Xenix) which did support it.
How did Apple get a /8? “We asked.” (https://www.quora.com/How-did-MIT-end-up-with-an-entire-clas...)
Not "just" asked for by Apple, but fairly close.
The relevant bit: 'we renumbered the entire company from "picked out of the air" IP Addresses to net 17, assigned to us upon request by the Internet Assigned Numbers Authority (IANA) (R.I.P., Jon Postel).'
https://www.quora.com/What-are-some-reasons-Apple-employees-...
It was late to the party on the internet, but was a pioneer in seeing the value of subscription computing, predating pretty much every SaaS company out there today.
Why do we have to convince them to give it back? It's not like IP addresses are tangible and we have to break into their offices to steal them. Major ISPs could stop all routes with them and those addresses could be recovered and reassigned to other AS's
I understand this is quite a big threshold to cross, but it feels necessary.
The site linked by that many years old Reddit post says that in fact loads of this space is allocated, to specific people, in this case "Hams", I see alphanumeric designations which I seem to remember Hams call "handles" as well as geographic locations and some human names.
Is the Amateur Radio "Ham" community disorganised? Yup. Does that magically mean they're not using this address space and so it's "unallocated"? Nope.
A lot will also depend on when the scan is done. For instance, the University of Cambridge has 131.111/16 and hands it out to student devices, so if you scan during a vacation a large portion of it will look empty.
If you said it was underutilized, you'd be correct.
But before we go after the hams, what about the absolutely massive address space held by the US DOD and related agencies? its literally 20x the size of the /8 held reserved for the ham community.
If anything, the first organization to have netblocks yanked out from under them should be the US DoD. As I mentioned a few days ago [0]:
> There are also large portions of the 13 /8s (218 million IPs!) assigned to the US Department of Defense [5] that you wouldn't need to scan since there are no routes to them at all: the 11.0.0.0/8, 22.0.0.0/8, 26.0.0.0/8, 28.0.0.0/8, 29.0.0.0/8, 30.0.0.0/8, and 33.0.0.0/8 networks are, for all intents and purposes, "missing" from the public Internet.
> Additionally, there are only four /24s in 21.0.0.0/8 that are reachable from the public Internet. Out of the 16,777,216 IP addresses that make up 7.0.0.0/8, only 255 are reachable (7.7.7.0/24) [6].
Just because we can't "see" them or get to them doesn't mean they aren't using them, though.
Yes, it sucks that we're out of IPv4 addresses but we've known this was coming for, what, 20+ years? The quicker we all get moved over to IPv6, the quicker we can forget about it.
(Disclosure: I've had a static IP from 44/8 for ~25 years and I don't wanna give it back.)
I wonder how many addresses we'd have if we could take back unused address space.
Did they need an additional 16M IP addresses?
Thankfully NAT doesn't exist in IPv6, because 2^128 addresses should be enough for everybody.
And how is NAT not added security by default? By default it drops everything incoming, no? (I mean, theoretically NAT doesn't, but [almost] every practical implementation situations means that there's no possible automatic internal-external address correspondence, otherwise you wouldn't need the NAT.)
Once you have that, layering on NAT is possible. But the security implications were already addressed before you get to that point.
If you only have a NAT, your ISP (or anyone who has compromised their router, or possibly simply your neighbour when ISPs occasionally fail to isolate their customers on layer 2) still can send you packets addressed directly to your "internal" addresses. The only thing that actually helps is a stateful firewall. And when you have that, the NAT does not add anything security-wise.
NAT and "internal addresses" is as much a security mechanism as not telling anyone that there is a room called "living room" in your house. If you want to prevent strangers from getting into your living room, you don't use internal names for your rooms, you install a lock on the door.
In this case without knowing my egress traffic, any incoming packet will be dropped by the NAT middlebox/facility/software/device/module/thing. So NATs do drop. And nice ones emit ICMP or TCP RST too.
> The only thing that actually helps is a stateful firewall. And when you have that, the NAT does not add anything security-wise.
Yes, indeed. That's a different threat model though. And I agree that hosts should have a default deny ingress policy.
Yet NATs do work wonderfully for SoHo networks. And of course a stateful firewall is just as easy to fool (circumvent) with a back-connecting connection as a NAT.
And a NAT as described above or a stateful firewall that enables local network functions such as CIFS/SMB were just as vulnerable to the usual Blaster-type worms/malware.
Again, of course, usually things go hand in hand. Firewalls usually have SNAT/DNAT capabilities, and SoHo shitboxes come with too much of every kind of NAT/firewall thingies already.
And, I know the misery of interconnecting two internal networks both using the same 192.168.0.0/24 or whatever prefix, so I can't wait to get rid of this and move to proper v6. But the fact of life is that the typical NAT setup was very convenient for ticking the local network ingress security checkbox for ISPs for years (decades).
No, that is the firewall, or simply the IP stack of the device, not the NAT. A NAT only translates. In your typical home setup, it will track connections coming from the LAN side and translate the source address of the connection to the public address, and then match packets of the same connection in the opposite direction and translate them back. If there is a packet coming in on the WAN side that does not match any known connections that are being translated, the packet is simply left unmodified by the NAT. If it happens to be addressed to the public adress of the gateway, it will then be passed to the higher layers of the IP stack of the gateway where it might be delivered to some TCP or UDP socket or who knows what other stuff that is running on the device and using IP--and if the IP stack cannot find any applicable socket to deliver it to, it might respond with the appropriate ICMP error or TCP reset or whatever. If the packet is not addressed to the gateway's public address, it will simply be forwarded to wherever the routing table says--if it's addressed to an address from the LAN range, it will be forwarded to the LAN.
A NAT without a firewall does not drop packets. A NAT only translates addresses of packets belonging to connections it is configured to translate, everything else is left untouched. If there is no firewall in addition to the NAT, it will not prevent inbound connections from the WAN side to the LAN side.
> But the fact of life is that the typical NAT setup was very convenient for ticking the local network ingress security checkbox for ISPs for years (decades).
Well, the real fact of life is that tons of supposed network professionals think that, and then potentially deploy a pure NAT setup that allows unlimited access to the LAN from the ISP's router and possibly other customers of the ISP when the ISP fails to properly isolate customers on layer 2 because of the completely baseless assumption that a NAT prevents inbound connections.
> deploy a pure NAT setup
Is that even possible? I mean, sure, get a PC with 2 NICs and use raw sockets, but with a simple off the shelf network gadget?
So ... any distinction between two different things is a single-bit difference and therefore largely theoretical? I am not sure I follow ...
> But you are right, that thinking of a NAT as a pure transformer that cannot drop packets results in a better model.
Which is the important point, in particular in this context where the common argument essentially is "because I consider dropping packets a function of a NAT, NAT is good to have", where the whole argument only hinges on the definition, not on any real-world facts about network devices.
> Is that even possible? I mean, sure, get a PC with 2 NICs and use raw sockets, but with a simple off the shelf network gadget?
I don't know, I have never investigated that, as I don't tend to use off the shelf network gadgets. However, there is no need to use raw sockets, just install Linux and use the kernel's netfilter, which behaves in exactly that way: If you only configure NAT rules but no filtering rules to prevent inbound connections, your LAN is wide open. And that is not bad design, that is the obvious way to implement this as a matter of separating concerns.
Now, Linux is (was?) a popular OS for off the shelf home routers, and some of them at some point even use(d?) netfilter for their NAT. If you consider what kinds of completely moronic security holes have been and still are being found in those kinds of devices (shell injection in the web interface, trivial buffer overflows, backdoors with hard-coded passwords, ...), that does not make me particularly optimistic that they are careful when putting together the actual network setup on those devices. Not configuring the filtering of inbound connections is exactly the kind of mistake that I would expect to happen in an environment that produces that kind of garbage: Unless you are competent and do invest in quality assurance, that is exactly the kind of problem that noone will notice, as it does not affect day-to-day operation, and noone in the target market will notice if you screw it up because even the supposed experts think that the NAT implies that they are safe.
I suspect other network stacks or even ASICs have similar separation of concerns in order to be usable for a broader market than "home routers", so I suspect you can make the same mistake on other platforms used for implementing home routers.
So, do I know that there are devices out there that do NAT but don't filter? No. Would I be surprised if there were? No, definitely not.
However, if you do away with NAT, that makes it much more likely that a home router lacking a filter wouldn't go unnoticed for long, because it's trivial to check whether it does filter or not. So, it's not only that NAT does not logically imply a firewall and that a firewall does not necessitate NAT, but that not having a NAT makes it actually more likely that your device does in fact have a firewall.
-A FORWARDING -i internal -o external -j ACCEPT
-A FORWARDING -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWADING -j REJECT
Last one can be done as policy on FORWARDING chain (ie. -P instead of -A), but in this way it is more explicit.My home is not intended to be a public space. But, it has a unique address, just like any other bar or restaurant in the area. Being able to locate it with a unique identifier is valuable, even if I don't intend for my living room to be publicly accessible.
Agreed. But you can use private networks without NAT. In fact, 99% of traffic in the private network doesn't need NAT. Only outside traffic does, and only that which can't use proxies etc. - which is pretty small amount of overall traffic, I think.
One good thing about NAT is even if you screw up the firewall config, such as configure everything in "allow all" mode, your internal network is still secure, because private IPs are not routable at the Internet level.
> and causes a lot of stupid problems.
That is true.
My IPv6 /48 is entirely routable. The reachable portions are some ports in the list of popular protocols like SSH, HTTPS and similar.
The good part is that the entire /48 is reachable from within and simplifies OpenVPN routing a lot compared to IPv4, which requires a bit of outbound NAT hackery so it doesn't have to traverse the firewall three times (OpenVPN->WAN->LAN instead of OpenVPN->LAN)
It's used extensively in IPv4 world for LAN=>WAN connectivity because your only peer (your ISP) won't agree to send all traffic for 192.168.0.0/24 to your home.
Its most popular use case disappearing doesn't make it any less useful for the narrow set of circumstances when it's basically your only option.
It's a last-stage transitional method IMO, when most but not all of the internet is IPv6.
In 1981, RFC791 [0] came about, describing a way of doing IP addressing on the ARPANET (based upon "classful networks" [1]). In accordance with this scheme, you would get either a /8 ("Class A"), a /16 ("Class B"), or a /24 ("Class C") -- depending on how many hosts you had (or thought you might reasonably have). This is the main reason why you see some organizations with a /8 today that you wouldn't expect.
Classless routing ("CIDR") [2] -- or, more specifically, variable length subnet masking (VLSM), what we're all familiar with today -- didn't officially exist until RFC1518 [3] and RFC1519 [4] (fall 1993). CIDR was introduced as a solution to a problem people were already starting to experience then: a shortage of IPv4 addresses!
(Yes, 25 years ago, they realized they were running out of IPv4 addresses and started working on solutions. IPv6 [5] first emerged as a "draft standard" in late 1998 -- but only officially became an "Internet standard" last summer!)
[0]: https://tools.ietf.org/html/rfc791
[1]: https://en.wikipedia.org/wiki/Classful_network
[2]: https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing
[3]: https://tools.ietf.org/html/rfc1518
A specification for which significant implementation and successful
operational experience has been obtained may be elevated to the
Internet Standard level. An Internet Standard (which may simply be
referred to as a Standard) is characterized by a high degree of
technical maturity and by a generally held belief that the specified
protocol or service provides significant benefit to the Internet
community.
A specification that reaches the status of Standard is assigned a
number in the STD series while retaining its RFC number.
See also https://tools.ietf.org/html/rfc2026#section-4.1.3Most internet standards are not "Internet Standard"s, as can be seen by the fact that IPv6 got assigned the standard number 86, and up until last year, IPv6 wasn't either, but it still was a perfectly fine and well-documented standard, and has been for a long time.
It's surprising, because IPv6 was set in stone at least around 2010 already, with a lot of experience (6bone ended in 2006, and so on), but on the hand general rollout is still very much ongoing.
It's not a price thing, it's a "why should we" thing.
Personally, I think the Amateur Radio guys deserve a /8.
Complete prefixes just block off all ICMP incoming traffic, as do many core internet infra-structural devices (although they may pass them on, they won't answer pings directed to them).
1. It would be technically very difficult, and old equipment is frequently hardcoded.
2. With the rate the allocations are going, you’d get maybe an additional few months or a couple of years out of this enormous effort. After that, all the addresses really would be allocated, and now what do you do?
Considering the huge effort, technical and political, it would take to do such a thing, it is easier to just adopt IPv6.
> it is easier to just adopt IPv6
Old hardware won't work with IPv6 either. I'm not saying your wrong, just that while easier IPv6 still isn't what I'd call an easy option.
The argument that we should expend a lot of effort (technical, legal, and otherwise) to reclaim a dozen /8s and start making them part of the global routing table has been pretty thoroughly debunked by ARIN, RIPE and APNIC. They are instead focused on getting people to use v6.
Was looking at whether it was more economical to buy a small address block vs rent it from a datacentre. A /24 address block seems to cost around $4,000 upfront but then you need to pay €2,000 signup + €1,400 per yr RIPE membership fee. On the other side IPv4 is not going away and the price is only going to go up given the failure of IPv6 to deploy. Is there any way around the RIPE membership? Like owning an IPv4 address block through a proxy / broker?
[edit: RIPE fee]
PA can only be held for further assignment in their networks by a LIR that is a member of the RIPE NCC, received in two ways: maximum of one IPv4 allocation /22 with proper justification, or acquisition through merger with another LIR. The membership fees are as you mentioned.
PI resources are assigned to end-users in the region, that do not need to be members of the NCC. They do however need a valid end-user agreement with a LIR, and each(unless they are allocated on the same date) object entails a 50€/yr fee, billed to the LIR. PI IPv4 is no longer being assigned from RIPE, but existing ones are openly traded.
My guess would be that the nets you were looking at were PI networks, so no, you do not need to pay the membership fee.
The document ripe-680 covers basically everything you need to know: https://www.ripe.net/publications/docs/ripe-680
Not quite true - EE (so one of the 'big four' providers rather than a small MNVO) has IPv6 support. Right now, my phone has an IP address assigned out of EE's 2a01:4c8::/29 netblock and I can connect to IPv6 only websites.
My phone isn't super modern either - a 2016 era OnePlus 3 running Android 8.0.
Comcast's IPv6 implementation is rock solid and faster than IPv4 most of the time. I've been running publicly accessible IPv6 HTTP hosts over it for several years now.
The last two Motorola Modems I've had came with IPv6 support and were provisioned by Comcast out of the box.
Access Points from D-Link will autoconfigure via SLAAC but DNS has to be hardcoded.
It's 2018 and yet Ubiquiti's UniFi enterprise networking gear only has alpha support.
IPv6 on Tomato just works and has for years, IPv6 on Raspbian not so much.
Windows just works seems to fuck with nonWindows clients so Enterprises disable it via Group Policy.
Android devices seem to forget IPv4 if they catch a wiff of IPv6 on the network.
well I've seen most enterprise networks with no IPv6 support. (mostly admins thing that this beast is hard to work with) Also Kubernetes has limited IPv6 support (mostly on the documentation site) (of course it's easier to support a IPv6 only cluster, because heck you wouldn't really need BGP or some wierd overlay networks (sadly it still is not there yet)).
In Germany IPv6 within "Deutsche Telekom" is just good. But sadly on the consumer side you still won't get any fixed IPv6 (due to privacy concerns!)
Almost. IPv6 privacy extensions are subtly broken.
https://social.technet.microsoft.com/Forums/windows/en-US/57...
I use http://freedns.afraid.org/ to manage my DNS. They support IPv4 and IPv6 with domain linking so you can update all your DNS records with 2 calls (one for IPv4 and one for IPv6). This can be done with wget via a cronjob on your web server or in most routers these days. If you use their premium tier you can use stealth records and wildcard DNS.
Just remember to set your TTLs on your A records to something low like 60 seconds. And don't host anything mission critical.
I had a lot of issues with Raspbian prior to Jesse just failing completely to get an IPv6 address from the Gateway and not being able to resolve anything.
I've been running Pi.Hole and OctoPi on Jesse for at least 6 months with only minor issues that aren't the distro's fault but the applications. OctoPi doesn't even configure the HTTP Server so IPv6. Pi.Hole listens for HTTP requests and responds with errors.
I installed Stretch on a Pi and setup a Ubiquiti Controller a few weeks ago and IPv6 works flawlessly with it.
\* Regarding Comcast's policies, I have never run into an issue with them and I've been running servers for over a decade. That being said, mine are personal use, low traffic, and not business related.
For reference, the list of currently leading and trailing countries by IPv6 adoption (from Akamai's August 2017 numbers):
Belgium 46%, US 40%, India 36%, Greece 32%, Germany 25%, Switzerland 20%, Finland 20%, Brazil 19%, Canada 18%, Norway 16%, Japan 15%
Portugal 13%, UK 12%, France 12%, Australia 8%, New Zealand 8%, Sweden 8%, Netherlands 7%, Mexico 5%
Israel 3%, South Korea 2%, Ireland 1%, Denmark 1%, Russia 1%, Spain 0.7%, Italy 0.5%, China 0.3%, Colombia 0.1%
The way some of these nations are lagging is bizarre.
Yet Italy was home to Tinet, part of Tiscali and the largest IPv6 network of the world until 2009.
More saddening than bizarre.
Once they go live, expect to see the UK climb significantly.
Though thanks to HE/tunnelbroker.net I deployed a /48 on my network and all is good now (and easier).
They've really cracked down on IP allocation since the days of giving companies entire /8s, or even since 2012
"185/8 was allocated in just five and a half years...in comparison, the preceding /8 - allocated under the old needs-based policy - lasted only five months"
You did not have to be a company, your estimates of how many of the IPs you request you'll plan to use right away, after one and after two years just had to be within some boundaries (ripe form #160, if memory serves me correctly).
https://android.stackexchange.com/questions/3718/does-androi...
As I recall originally everyone was supposed to use well-known addresses like ::1, 2, 3 on the current network or multicast DNS.
But nooo. Was that too hard? DHCP or nothing! And then DNS was added to SLAAC.
The rest of DHCP was always useless. Once you have DNS, it can be used for all other service discovery.
Edit: I did not mean this as a derogatory question. It's legitimate. I simply posted it under the wrong OP. Calm down people.
If I was CEO of an ISP, I would have ordered a plan, but not put it into action just yet.
Any network equipment your ISP bought or gave you in the last 10-15 years supports IPv6. Equipment only has a certain lifespan anyways, so there really has been no "cost" to upgrade. Maybe a bit of software needed updating.
In my experience, the problem is customers don't care that much about IPv6.
When your customer is an IT professional who has been configuring networks the same old way for years, they expect to be sent the IPv4 subnet information. It would be a negative customer experience if we gave them an IPv6 subnet by default. Since they don't see the need and aren't used to it, it's bound to cause frustration for them.
We do support IPv6 for any customer that wants it.
I think IPv6 will happen when web sites can no longer get IPv4 addresses. Then people will start saying, "my favorite site is v6 only!", so the IT people hear about it and start to care.
I think it'll be several more years.
With vhosts and the proliferation of CDNs, will this ever happen? If my site is behind CloudFront, I don't need any IPv4 addresses of my own
The only thing that IPv6 really solves for end-users is peer-to-peer. If video games, VoIP, etc have lower lag on IPv6 (due to not having to go though a mediating server) customers might demand it.
Your complaint is otherwise wholly valid.
There's a huge difference between supporting IPv6 and not supporting IPv4; the latter will take much much longer.
Google[1] thinks we're at ~22% world wide, and we've gained ~2% in the last 6 months, so I really hope not.
I mean if client pings an IPv4 address, it should be automatically converted to an IPv6 version. So why isn't IPv4 instantly outdated?
I actually see great parallels about Python 2 vs 3. The changes between these versions aren't really big, and converting is not that hard. Other languages already did it many times (Ruby actually did it when switching from 1.8 to 1.9, but people moved on quickly, because if they didn't, their apps and libraries no longer would work and no one would use them).
IMHO the real cause was that Python gave a lot of time to do it (nearly 15 years!), but there was no real interest in Py3 until 2015 when Python 2.7 went into maintenance mode (no new features backported, BTW all features of Python 2.7 were backports of Python 3, fueling "Python 3 doesn't have anything new, what should I switch?"), and organizations most likey will wait until 2020 (EOL) to port their applications.
There is an IPv6 address block assigned for "IPv4-translated" address (::ffff:0:$IP4ADDR). In networks that support this, packets destined for these addresses are routed to a NAT64 box for introduction to the v4 internet.
Like all NAT-based solutions, this only provides support for outgoing connections out of the box, but that's unavoidable without assigning v4 addresses to hosts, and in the consumer ISP use case is all you need anyway.
IIRC, a lot of networking equipment chokes on it.
And by then they will have recovered even more. The end of IPv4 is a lie, and how bad IPv6 is and the lack of good transitioning systems doesn't help.
NAT was (and is) destructive and painful that some of us gave up writing network software in the late-90s/early-00s. I personally abandoned several network-focused projects in the early 2000s.
The current status quo only seems "not quite painful enough" if you accept that most people cannot use true network software, limited to client-server architecture where party lines[1] communicate with each other only with the permission of central privileged imprimatur[2].
[1] https://en.wikipedia.org/wiki/Party_line_%28telephony%29
One is security, NAT is nice for that a lot smaller attack surface. Second keeping your stuff always running at home is unreliable and annoying.
Would be nice if I would not have to pay for VPS but $5 a month cheapest linode is more than enough for my hobby projects.
Without NAT you can do so much more stuff, like peer-to-peer (p2p) networking. Yes, you can do p2p with ipv4 behind NAT but it's super complicated and brittle.
Also bypassing the NAT is complicated, you have to fiddle with the router settings, and often you have to call your ISP to give you a public IP. This makes it hard or impossible to sell "Internet of things" (IoT) devices to regular people as you can't just plug them in.
Networks today are very good with high bandwidth and low latency, which enables some interesting use cases, for example virtual reality (VR) where you just have a thin client plugged in to the network and then have all the compute power located in a data-center a few miles away, with sub ms latency.
Another usecase is apps with service like functionality, like decentralized Facebook, and chat messengers.
You also can walk everywhere instead of using machines to move around ... but why would you?
> One is security, NAT is nice for that a lot smaller attack surface.
No, it doesn't. It's a common myth, but NAT does not provide any security, it only hides insecurity.
> Second keeping your stuff always running at home is unreliable and annoying.
Complete non-sequitur?
Hiding insecurity is perfectly valid. It is making attack surface smaller. I do not get pings of death, constant scanning, login attempts all the time on my local machine which is always behind NAT. Every server that has public IP gets scanned or tried out with vulnerabilities. I can connect totally new PC to router with NAT and not be owned in matters of minutes by some botnet. My router might be exposed but it is something I know. All machines behind router are perfectly fine for remote vulnerabilities.
That's all besides the point. When you want to share a file with someone while you are both working on it, say, there is no need for a "server". IP is perfectly fine for transfering a file from your machine to theirs. When you want to talk to someone over the net, there is no need for a "server". IP is perfectly fine for transmitting voice calls between your machine to theirs.
Your mistake is in your assumption that you even need a server in the first place. For some things, that might be useful. For other things, that is only needed as a workaround for NAT in the first place.
Also, reliably running a server at home isn't hat hard either, even today. With hardware offerings that are a better fit, it could be even easier. There isn't really any reason why hosting your own "server" at home needs to be any more difficult than hosting your own vacuum cleaner.
> Hiding insecurity is perfectly valid. It is making attack surface smaller.
No, it doesn't. It simply makes it harder for you to notice that you are not secure, that's all. This is not about whether firewalling insecure services off from public access makes the attack surface smaller. It does. But NAT doesn't, a firewall does. If you have a firewall, you don't need NAT. If you don't have a firewall, NAT won't protect you.
> I do not get pings of death, constant scanning, login attempts all the time on my local machine which is always behind NAT. Every server that has public IP gets scanned or tried out with vulnerabilities.
Which is just completely irrelevant. None of these things are a security risk. They are annoyances when trying to debug the network, that's all. And none of that is in any way fundamentally helped by even a firewall. You have a huge attack surface in your web browser that is completely unaffected by your firewall and by NAT as well, pretending that a service listening on a port is somehow a huge security problem, but executing untrusted code inside a massively complicated virtual machine is harmless is just completely focusing on the wrong problem. Also, all those pages that you load into your browser sort-of have access to your local network anyway, because your browser is inside your firewall and can connect to all those services that you pretend your NAT protects.
> I can connect totally new PC to router with NAT and not be owned in matters of minutes by some botnet.
You are constantly confusing firewalls and NAT. That is done by a stateful firewall, not by a NAT.
> My router might be exposed but it is something I know. All machines behind router are perfectly fine for remote vulnerabilities.
That is an extremely naive perspective.
I did not even touched running untrusted code by user because that is not in the scope of discussion. It is insecure with whatever the network configuration will be.
I do not know how you can connect to device behind NAT without setting up tunnel to it. But I might be wrong, point me to some resource please?
That is no different than with IPv4. If you have a stateful firewall, that isn't possible. If you don't, it is.
> Even pro people forget to close their database on servers sometimes, cannot think what weird stuff might be running on normal users machines.
Which is why you should have a stateful firewall. A NAT does not add anything to that.
> I did not even touched running untrusted code by user because that is not in the scope of discussion. It is insecure with whatever the network configuration will be.
It is very much in scope of the discussion, as every single end user does it. No matter how great their firewall is, you just send them a link to a website, and that website now gets to execute Javascript code on the inside of the firewall, with more or less direct access to all the insecure services supposedly protected by the firewall. Including even stuff only listening on localhost, which wouldn't be reachable directly even without a firewall. If you want to do a mass-scale attack, you serve that code through an advertising network.
So, you actually have to secure the services anyway, even a firewall is insufficient to protect vulnerable services on end-user networks.
> I do not know how you can connect to device behind NAT without setting up tunnel to it. But I might be wrong, point me to some resource please?
By sending a packet addressed directly to the internal address, which your ISP can do, anyone who compromises your ISP's edge router can do, and more often than not your neighbours can do when your ISP fails to properly isolate customers on layer 2.
Depends what you need. My last power outage was over a year ago, and Internet issues will generally resolve themselves in a relatively short period of time. That's reliable enough for a lot of use cases.
NAT restricts what is possible to do over network for example we only use TCP and UDP protocols, because those protocols are supported by most devices. Similarly we have very minimal number of peer to peer applications. P2P currently is mostly popular with piracy, but it could be beneficial for other uses.
NAT + asymmetric speeds (which started because of DSL, but ISPs decided to keep things that way even though it is no longer necessary) are responsible that's why we haven't a lot of services that are centralized. IPv6 has chance to fix this and I am so glad NAT wasn't included in its design.
Well it solved the roof collapsing, but the problem is it makes innovation difficult and straight up impossible in some cases.
9 million addresses for 2 years is a burn rate of ~375k/month. Another 2 million newly obtained addresses in the next 2 years will last 6 more months.
At some point IPv6 will become more economical.
One of the IPv6 ISPs did a talk about this, they realised that rather than hiding this cost they could surface it and then magically instead of "Try to persuade technical people to choose IPv6" the situation is "Make technical people explain to their finance department why they're spending the extra money" and what do you know, "Learn IPv6" is way more popular than "Argue with accountants".
[0] https://social.technet.microsoft.com/Forums/windows/en-US/57...
So people who have been trusting NAT to be a firewall wake up one day to their network being directly routable, and are none the wiser.
Most endpoints these days don't have much if anything listening by default though. The reality is that even trusted local networks are hostile networks, and vendors have responded to that.
1. 128 bit is likely an overkill. 64 bit would give more or less 2 billion addresses per every human for earth. Likely enough. 2. It's unreadable. Why the hell use hex? 3. It's been proposed in 1998. It became a standard last year. Not exactly quick adoption and it tells something.
Yes, it will probably be deployed out of necessity, but it's weird nobody noticed that if something doesn't get traction for 20 years, there is probably something wrong with it.
3. Eh, what? IPv6 was published in 1998, as you say. What makes you think it became a standard only last year?
2. It allows you to see subnetting. It makes managing IPv6 so much easier than IPv4.
3. It became "Internet Standard" last year, because the working group decided that it was about time to combine all the RFCs with the errata corrected in a single RFC. Just a formality.
As for traction... blame humans. If there's something better to replace the old thing, but the improvements aren't dramatic enough (e.g. saving tons of money) and the old thing still works, then a huge portion of lazy people won't switch.
2. Why are you reading it? Networking addresses do NOT need some special UI / UX interface. For most users, they are never going to see it.
3. Neat, but that's not really a point. If you find yourself setting time limits on about everything in life, well let's just say you're boxing yourself in for failure.
Over the past 20 years we've seen the explosion of growth in devices, networking, and communication. It comes with no shock (to experts and experienced technical people alike) that it's taking a long time to switch over. There isn't some magical "press this button for everyone to be IPv6" FYI.
Why?