IPv6 to IPv4 NAT

unhappy_mage

[H]ard|DCer of the Month - October 2005
Joined
Jun 29, 2004
Messages
11,455
I want to run a few Minecraft servers, each with its own set of mods. I have tunneled IPv6 connectivity, so I was planning on giving each server its own static IPv6 address and telling them to bind to that address on the standard port 25565. Then players who also have IPv6 connectivity can connect to the server they want by connecting to minecraft-vanilla.mydomain, minecraft-rails.mydomain, etc.

The problem comes with IPv4-only players. I theorize that one should be able to NAT their connections, so connecting to wan.mydomain on port 25568 gives you a connection to minecraft-rails.mydomain:25565, but my PFsense 2.1-BETA0 box doesn't seem to want to do NAT from the IPv4 WAN connection to the internal IPv6 address of the Minecraft servers. What could I do to get around this? I suppose I could also supply each of the servers with in internal-only IPv4 address and have the server bind to both IPv4 and IPv6, then set up standard NAT, but that seems inelegant. Thoughts?
 
NAT is inelegant. Deal with it.

I suppose I could also supply each of the servers with in internal-only IPv4 address and have the server bind to both IPv4 and IPv6, then set up standard NAT
There you go.
 
Remove the association of NAT and IPv6 from your brain. Oil and water do not mix no matter how you shake the bottle. In IPv6 land NAT = drugs and we say just no to drugs. IPv6 is IPv6 and IPv4 is IPv4 trying to do anything to make one the other is as you put it inelegant. Dual stack is the only proper way to do this and not be some overly complex kludge prone to break every time a mouse sneezes.
 
There are other ways of doing what you want not using NAT. For example, minecraft since v1.3 supports SRV DNS records which allow you to map particular DNS hostnames to IP/Port combinations. You could use SRV records to instruct IPv4 clients to connect to the same IP address but different port numbers then do the NAT and port translation to the correct server on the edge device.
 
Remove the association of NAT and IPv6 from your brain. Oil and water do not mix no matter how you shake the bottle. In IPv6 land NAT = drugs and we say just no to drugs. IPv6 is IPv6 and IPv4 is IPv4 trying to do anything to make one the other is as you put it inelegant. Dual stack is the only proper way to do this and not be some overly complex kludge prone to break every time a mouse sneezes.
I understand the difference between the two, I promise. NAT just seemed like the best option for compatibility with all the IPv4-only clients out there...
There are other ways of doing what you want not using NAT. For example, minecraft since v1.3 supports SRV DNS records which allow you to map particular DNS hostnames to IP/Port combinations. You could use SRV records to instruct IPv4 clients to connect to the same IP address but different port numbers then do the NAT and port translation to the correct server on the edge device.
... but this is clearly a better option. Thanks for pointing this out, I'll give it a shot and report back :)
 
Remove the association of NAT and IPv6 from your brain. Oil and water do not mix no matter how you shake the bottle. In IPv6 land NAT = drugs and we say just no to drugs. IPv6 is IPv6 and IPv4 is IPv4 trying to do anything to make one the other is as you put it inelegant. Dual stack is the only proper way to do this and not be some overly complex kludge prone to break every time a mouse sneezes.


Oil and water mixes well when you put an egg into the formula :)

Even if you doesnt necessary need NAT for the same reasons when using IPv6 there are still situations where NAT have its purposes.

Something that many seem to forget with IPv6 is that each physical interface is designed to have multiple IPv6 addresses (where in the IPv4 world this is somewhat uncommon, I mean you usually just have one ip and thats it).
 
Back
Top