At my researching time, I found these relevant topics: access ipv6 website over ipv4 network and IPv6 Webserver reachable for IPv4 only Clients.

My situation: I have a public ipv6 and a local ipv4 at home. I tried hard to forward a port, but it looks like I'm into a NAT, behind another NAT (?). So I tried to reach my ipv6 address outside my LAN and I got success, so then I set a simple apache webserver on a raspberry pi (who has an ipv6 too) and expose it to different DNS providers: dioniso.ddns.net, dioniso.crabdancer.com and dioniso.dynv6.net.

So, I can access these websites only in PCs that have ipv6 or ipv4 with tunneling.

The thing is, how ipv4 could reach this website? Some topics are saying that I need a proxy to "translate" ipv6-ipv4. Is it really necessary? If yes, where can I found a provider to do that?

Could someone give me some tips here? I'm pretty lost.


Yes, if your webserver has only IPv6 and the visitor has only IPv4 then they will not be able to communicate. You'd need a translator that has access to both IPv4 and IPv6 somewhere.

There are roughly two ways to translate:

  • Reverse proxy

Facebook uses SIIT-DC in their server farms. They use IPv6 internally and use SIIT-DC to translate their incoming IPv4 traffic to IPv6. I don't know of any providers that offer such a service for home use though.

What you could do is to rent a virtual private server with both IPv4 and IPv6 somewhere and set up a reverse proxy on it. Then visitors can contact the server over IPv4, and the server can contact your webserver over IPv6. I have done this in the past with Apache, Nginx and haproxy. The configuration is not too difficult, but you do need to have a server that you can run it on...

I wrote an article on options for making IPv4 content accessible over IPv6. What you need is basically the reverse: making IPv6 content accessible over IPv4. The concept is the same though.

A simple haproxy config:

listen webserver1
    mode tcp
    server webserver1 2001:db8:abc:123::cafe:80
| improve this answer | |

Many thanks to Sander, his answer guides me to this solution:

At Raspberry IPV6 website, just set apache to listen port: 666

At my VPS with a public IPV4, installed socat on it and ran this command:

socat TCP4-LISTEN:666,fork,su=nobody TCP6:[raspberrypi_ipv6_address]:666

So all incoming data from IPV4 port 666 will be redirected to my IPV6 port 666.

Its not the professional way to do it, but works for me!

| improve this answer | |
  • Thank you for documenting an alternative solution. Others with the same question may find having multiple solutions documented very useful when deciding what is the best option for them :) – Sander Steffann Oct 23 '17 at 20:12

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.