[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 41,965
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.
 
There are billion to trillion IPs that are left to be allocated by the ISPs,
IPv6 is not CG-NAT’d and can be accessed by disabling your firewall and adding the rule to forward your individual port. Then pretty much the steps are very simple.

If Jio assigned IPv6 under CG-NAT then I would let me warm up my house window pints and see their locked ONT getting wings to fly straight to the road outside my premises.
 
Jio doesn't use CG-NAT for IPv6 (thank god!), atleast not in Ahmedabad. One thing that most ppl may not look on is setting custom "IPv6 firewall rules". Setting the "Default Firewall" policy to "Always Allow" is not enough. You gotta do this (attachment).
In the "Source IP address", you should type in the IPv6 address of only your server, this is to make sure that if any cyber attack happens, the other devices on the network aren't affected. I chose "ANY" cuz I have multiple servers on the network and not many other devices that I care about.
Have a great day !

Note: You SHOULDN'T choose "Source IP Address" as "ANY" just because I did it in my screenshot. Whatever you do with firewall is at your own risk and I'm not responsible if anything happens.
 

Attachments

  • Screenshot (1).webp
    Screenshot (1).webp
    27.1 KB · Views: 3,801
@kanishk_modi I did the exact same thing as you still I couldn't get my device to respond to pings through my Jio4g connection.
 
Can you send me a pic of your port forwarding setting it is ok if you blur the IP and ports but I need to understand it? How do you even port forward an ipv6 IP anyway, the destination IP can be in ipv4 only in the Jio router at least and does anyone know how to port forward in D-Link router Dir-841. I heard that if you connect another router that is not from your ISP and port forward from it though you will need to enable bridge mode.
 
Last edited:

Top