I’m currently traveling and most hotels and Airbnbs here only provide a IPv4 address. Unfortunately, I need to access my IPv6 Wireguard VPN server at home.
What I tried;
I enabled Teredo on my Windows computer and tried to connect but it did not work.
I also thought about connecting to a free VPN server first and then establishing another connection to my IPv6 home VPN - but I wasn’t able to get it to work.
I wanted to add the public IPv4 address of the current place to Tunnelbroker net (Hurricane Electric) but it wasn’t possible since the routers ICMP service wasn’t accessible (or something like that)
Of course I could visit a co-working space here or buy a prepaid card with enoug data volume (the mobile ISP here provides a IPV6 address).
But maybe there is another way you know about I could try?
Until those hotels + AirBNBs fix their connectivity because it’s 2023 almost 2024 and shame on them…, your best bet is something between you and your home like a VPS or public cloud instance WITH accessible jurassic addresses.
Short answer, no. The two protocols are not interoperable in any way. To access a resource in v6 without v6 connectivity, you need a proxy server, a machine that has both v4 and v6 connectivity and can make that translation for you.
Honestly, I wouldn’t have IPv6 only in a server that I might need to access while away from home. There’s just so many places without v6 access yet.
Another option is a VPN that support IPv6 I moved over to hide.me because they fully supported IPv6.
But yeah you can connect to them on IPv4 if that’s all you can get but they will give you a IPv6 address over the tunnel you can use to get to IPv6 only services.
Your VPN endpoint (e.g. your Wireguard server) needs to be reachable via an IPv4 address if you want it to be reachable over an IPv4 connection. If your home network has a global IPv4 address (not CGNAT), you can use port forwarding to do this. Alternatively, you can rent a VPS from a cloud provider like DigitalOcean or Linode/Akamai, and deploy a NAT64 service like Jool on it to effectively provide an IPv4 address for your VPN.
It is unfortunate that we are still facing these issues, and we have to rely on ugly tunnel or vpn hack. because lot of ISP and big corporation are refusing to adapt to ipv6. like coughcough github
Got the same question, just slightly different, since in my case it’s about a NAS behind CGNAT.
Long story short, I managed it with a Dual-Stack virtual server running haproxy in a minimal configuration, and it works (just don’t know how fast, but with that I can use DSM and WebDAV for calendar and file share even from an IPv4-only network).
On the downside, I had to use the IPv6 address instead of FQDN (by DDNS) in the haproxy config, so that it couldn’t stand a prefix change in case I’m away. Destination in the FW rules is also IP instead of FQDN, but it’s another thing I might change as soon as possible.
Is there an alternative way for this IPv4-to-IPv6 proxy to handle FQDNs? Spoil alert: I tried solution based on NGINX or Caddy, without any success.
Step 1.) Call the front desk and tell them that their Network is broken.
Step 2.) Get a cheap server “in the cloud” with a legacy IP(and IPv6), connect that via v6 to your home server and use its legacy IP to connect to your Wireguard network.
(And while you are at it also install OpenVPN server on there and have it listen on 443/TCP because sooner or later you will encounter a public network with everything but 443 and 80 blocked.)
I actually tried to connect to hide.me (free tier) first to get an IPv6 address and then I activated my Wireguard connection but it didn’t work, there was no connection at all.
I’m not sure why it doesn’t work, maybe there is some sort of configuration missing?
The alternative is 6tunnel. Package might require install, if not already present.
Syntax:
6tunnel <IPv4 Port No.> <Destination IPv6 Address or FQDN> <IPv6 Port No.>
Requires root rights.
Starting tunnels after system start:
# nano tunnels.sh
#!/bin/sh
# This script is run after boot
# First wait, then terminate already running 6tunnel processes, if necessary
killall 6tunnel
# Pause
sleep 10s
# start 6tunnel
# 6tunnel I
6tunnel <IPv4 Port No.> <Destination IPv6 Address or FQDN> <IPv6 Port No.>
# 6tunnel II
6tunnel <IPv4 Port No.> <Destination IPv6 Address or FQDN> <IPv6 Port No.>
# Add more tunnels, if necessary