2
1
Right now we own one domain name (e.g. superfault.com
).
From the internet i can connect to a variety of networked devices using that single DNS name:
superfault.com
╔════════════╗ ╔══════════════╗
║device with ║ ┌─────────80╢Web Server 1 ║
║ public IP ║ │┌────────81╢192.168.1.10 ║
superfault.com:80╫────────────╫──┘│┌─────3389╢ ║
superfault.com:81╫────────────╫───┘│ ╚══════════════╝
superfault.com:3389╫────────────╫────┘ ╔══════════════╗
superfault.com:25╫────────────╫────────────25╢E-mail server ║
superfault.com:110╫────────────╫───────────110╢192.168.1.11 ║
superfault.com:3390╫────────────╫──────────3389╢ ║
superfault.com:443╫────────────╫────┐ ╚══════════════╝
superfault.com:3391╫────────────╫───┐│ ╔══════════════╗
superfault.com:3392╫────────────╫──┐│└──────443╢Web Server 2 ║
superfault.com:3393╫────────────╫─┐│└──────3389╢192.168.1.12 ║
╚════════════╝ ││ ╚══════════════╝
││ ╔══════════════╗
│└───────3389╢Desktop PC 1 ║
│ ║192.168.2.100 ║
│ ╚══════════════╝
│ ╔══════════════╗
└────────3389╢Desktop PC 2 ║
║192.168.2.101 ║
╚══════════════╝
Now, with IPv6, i can give all these devices a publically routable IPv6 address:
superfault.com
╔════════════╗ ╔══════════════╗
║Gatway ║ ╢Web Server 1 ║
║Firewall ║ ╢2001::10 ║
║2001::1 ║ ╢ ║
║ ║ ╚══════════════╝
║ ║ ╔══════════════╗
║ ║ ╢E-mail server ║
║ ║ ╢2001::11 ║
╚════════════╝ ╢ ║
╚══════════════╝
╔══════════════╗
╢Web Server 2 ║
╢2001::12 ║
╚══════════════╝
╔══════════════╗
╢Desktop PC 1 ║
║2001::2:100 ║
╚══════════════╝
╔══════════════╗
╢Desktop PC 2 ║
║2001::2:101 ║
╚══════════════╝
But i only own one domain name, which can only resolve to one IPv6 address:
- superfault.com:
2001::1
So how to i find the IP address of all my other devices? The simple method is to use my firewall device as a proxy - which is the functionality that NAT provides. The undesirable, and expensive way, is to find a free domain name for every IPv6 address i own.
What's the IPv6 equivalent of NAT?
Update:
The other problem is that IPv6 does not allow
http://superuser.com
you have to use:
http://www.superuser.com
So if a user forgets the www
, then your site will appear broken.
Same way that IPv6 does not allow:
ftp://superuser.com
as you have to use:
ftp://ftp.superuser.com
and it doesn't allow
> ventrillo superuser.com
you have to be sure to tell users:
> ventrillo ventrillo.superuser.com
Re edit: Nonsense. IPv6 does allow this; many websites simply have an AAAA record on the bare domain, such as he.net. What IPv6 makes a little harder is having multiple computers behind a single name, but that's purely a limitation of Linux ip6tables, which lacks -j REDIRECT. However, it already has -j TPROXY which can be used in a very similar way. – user1686 – 2012-03-28T05:50:49.577
@grawity i've asked the question of how to do it here: http://superuser.com/questions/405709/how-to-port-forward-ipv6-in-m0n0wall
– Ian Boyd – 2012-03-28T11:45:01.557