[Guide] How to host webservers on Jio Fiber, accessible to IPv4 clients

  • Thread starter Thread starter poiasd
  • Start date Start date
  • Featured
  • Replies Replies 89
  • Views Views 44,577
As you might know, Jio does not offer static IPv4, and it is not easy to apply for port forwarding (for Camera etc. purposes). However, they do provide IPv6 and this can be used for hosting web servers.

To allow IPv6 incoming connections to your device (e.g. a PC running nginx), you need to disable all firewall rules in Jio Router. (At least initially for ease of setup / troubleshooting - once you get it working you can slowly tighten it up).

Your device on which you want to host must be connected to your Jio router directly (Wifi or LAN) and must have IPv6 assigned from the Jio router's DHCP.
On your device running webserver (nginx, plex, whatever), make sure it is bound to localhost or the IPv6 equivalent (NOT 127.0.0.1 - this wont allow IPv6 connectivity). Usually apps bind to all network interfaces so you should be fine.

From command prompt (or equivalent), Type ipconfig all (if you're on linux you probably know the commands - but it should be ifconfig), and view your IPv6 address. This is indeed your "Public IPv6". Let us assume it is 2001:0db8:85a3:0000:0000:8a2e:0370:7334

If your server is running on port 80, for example, you can now, from another client, access it by specifying a URL [2001:0db8:85a3:0000:0000:8a2e:0370:7334]:80. But this is limited to IPv6 clients only.

For IPv4, you need a domain name. Freenom offers free '.tk', but I'd recommend spend $1 and get a .xyz or something from namecheap. With a domain name, you can setup a cloudflare website, and have the DNS AAAA record point to your IPv6 (no A record).

E.g. AAAA record for 'randomdomain.xyz' -> 2001:0db8:85a3:0000:0000:8a2e:0370:7334

Set cloudflare proxy for the domain to "On". Now cloudflare will act as an automatic gateway, and IPv4 only clients can go to randomdomain.xyz, and access cloudflare over IPv4, which itself will connect to you over IPv6.

Using this method I was able to run a webserver, and had a friend in U.S. download from me at ~90Mbps (My Jio Speed is 100Mbps). This was probably helped by routing over Cloudflares network.

One caveat is - you cannot run services like FTP, SSH etc over Cloudflare, only web servers (on port 80 and 443 only, too). But for hosting Plex or something it works great.

Have fun!
 
How you update ip in cloudflare when it changes? Manually?
 
@Smh potentially, yeah. I am not sure if the IPv6 is dynamic though, I only kept my server alive for a few days and in that time it kept working.
You could potentially even have a script to update it with a bit of knowledge of node/python, CF has a pretty good API
 
@Roy - no-ip would automatically update your domain to point to the correct IPv6 address, but that would be only for the purpose of resolving it. Cloudflare's "proxy" feature is additional logic on top - the domain will never reveal your personal IP address, and the web traffic is proxied through cloudflare servers. This is what enables IPv4 clients to connect.

If you do not need IPv4 connectivity, you can use no-ip and serve over pure IPv6, no proxy.
 
You can run FTP and SSH over Cloudflare. They have a service for that. I believe $5/month.
But a better way to do it would be to get a cheap VM and use it as Bastion. It'll also be a lot more secure.
 

Back