I have a server (Mac OS X 10.11) machine at home which exposes various services via web interfaces. I would like to access these from outside my own network. My ISP does not provide IPv4 addresses and suggests I use IPv6. I am able to access services such as Apache on my server’s IPv6 address from outside the LAN, but I have other server programs which don’t support listening on IPv6 and are unlikely to get updated.

It seems like what I need to do is get an IPv4 address which proxies to the IPv6 address. Is this what an IPv6 “tunnel broker” is? I checked out tunnelbroker.net, but it seems to want me to give it an IPv4 address which it translates to IPv6, but I want to go the other direction.

  • I'd be curious what servers you run on OS X that don't support IPv6. – miken32 Oct 4 '15 at 18:54
  • mitmproxy.org/doc/transparent/osx.html Maybe? Forward IPV6:xz to – Linef4ult Oct 4 '15 at 19:00
  • I once read somewhere that to get some programs working you need to put the IPv6 address between brackets followed by the colon and the port – x13 Oct 4 '15 at 19:50
  • Do you need to access them through IPv4 from the outside or do you just need something to forward traffic coming to your IPv6 to an IPv4 the server is listening to? Also what kind of protocol do these server programs use (UDP or TCP? HTTP?) – user2313067 Oct 4 '15 at 20:36

An IPv6 tunnel broker is a service that provides you with IPv6 connectivity on networks where you only have IPv4. As IPv4 addresses are very scarce these days it is unlikely that someone will let you use an IPv4 address for free. Your best bet is to rent a (virtual) server somewhere that has both IPv4 and IPv6 and then use tools like haproxy to forward incoming connections over IPv4 to your machine over IPv6.

Such workarounds are necessary until every network properly supports IPv6. A lot of people have been pushing ISPs and enterprises for many many years to deploy IPv6 so that workarounds like this wouldn't be necessary. Unfortunately a lot of networks still don't have IPv6 which is why it is now difficult for those of us who don't have IPv4 addresses anymore to keep things reachable.

Once most networks support IPv6 you can just use IPv6 everywhere. Until then: keep making it clear to network operators that only offer IPv4 how much trouble they are causing and encourage them to deploy IPv6.

  • I actually have a VPS with a static ipv4 address that I could use as a proxy, though configuring haproxy sounds like quite an adventure. – Josh Santangelo Oct 4 '15 at 22:21
  • Does your VPS also have IPv6? Otherwise it won't be able to reach your home network. Configuring haproxy isn't that hard. I wrote a paper on proxying IPv6 to IPv4 (the reverse of what you need, but the concept is the same) here: internetsociety.org/deploy360/resources/… – Sander Steffann Oct 5 '15 at 10:08
  • Thinking more about it, haproxy would allow clients that don't speak ipv6 to reach the server over ipv4, but the server still needs to be listening on ipv6. The whole problem is that the server programs I'm using behave badly with ipv6, and no amount of proxying will fix that. I guess I just have to bug the server program authors. – Josh Santangelo Oct 5 '15 at 23:14
  • That is always a good idea. And you can always run haproxy on your server as well to proxy everything back to IPv4. – Sander Steffann Oct 6 '15 at 0:08

Do you need to access these services from other peoples machines or just from your own machines on other peoples networks?

In the latter case you might want to consider using a VPN.

In the former case it may be possible to rent a VM with an IPv4 address and set up a VPN between your main network and the VM. The VM can then listen for connections over the IPv4 internet and forward them to the sever on your main network.

Your Answer

By clicking "Post Your Answer", you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.