[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,974
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 do I use ports 25565 and 8096 outside my house like this?
 
Installed a test XAMPP on my machine. And, set to the settings mentioned above. Online IPV6 scanners show the particular ports open.
Can access the XAMPP test page on my machine, if I access it using my machine IPV6 number, over a Vodafone connection.
Doesn't work if I try to access it over a BSNL and AT&T connection.
 
@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.
@WandereR
1. Ensure your jio4g ipv6 is reachable by doing this test
If all green then this part is good.
2. Do the same test on your device

3. If both test green only then you should be able to ping and connect
 
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.
@PrayagPrajapati
You don't need to do any port forwarding on Ipv6 . Just set the firewall on the Jio ONT for IPv6 to any at least for testing.
If you need to port forward Ipv4 then follow my post below on how it can be done

 


@keithcardozo I have set my firewall rule and custom services as follows but still only port 80 is accessible and that too sometimes. I cannot connect to my server even though I have enabled all of the settings required.
GUroB86.png

14oKXeW.png
 
@WandereR
1. Ensure your jio4g ipv6 is reachable by doing this test
If all green then this part is good.
2. Do the same test on your device

3. If both test green only then you should be able to ping and connect
I tried it again today and to my surprise, it worked! Must have been some issue the other day I tried. Thanks a lot for help everyone.
 
@keithcardozo I have set my firewall rule and custom services as follows but still only port 80 is accessible and that too sometimes. I cannot connect to my server even though I have enabled all of the settings required.
GUroB86.png

14oKXeW.png

As a test let’s do the following
1. In your ipv6 firewall rule remove the source address and keep it as any.
2. Remove the outbound rule . There should only be inbound rule with the source as ANY.
3. Save and reboot the router just to make sure.
4. You do not need to use custom service as this is only needed for ipv4 port forwarding and not ipv6
5. Now go to the server and run a webserver like xaamp or something similar which can listen on ipv6 addreess.
7. Do a ipv6 test on this server
It should be all green and copy the ipv6 address shown.
8. From outside the Jio network either on your mobile , ensure its getting an ipv6 address from your ISP
CHECK again on the mobile to be 100% sure
By going to Test your IPv6.
If all green your good.
9. Paste the ipv6 address of your server either using chrome or safari on your mobile.
10. If nothing works go back on jio wifi and see if you can internally connect via ipv6.
11. For testing do not use 3rd party solutions like cloudfare etc. you need to ensure that things work correctly using ipv6 end to end. Only if it works then go ahead and use other 3rd party solutions like cloudfare, —For just browsing webpages this may be acceptable, however for streaming videos when you host a Plex server i need to further test if it’s acceptable using cloudfare. Via only ipv6 the streaming of videos is fantastic at full speeds.
 
If you mean by external ip , there public IPv6 address then yes
Please do a test on the server to get the correct address using this link
Test your IPv6.
Plex by default listens on port 32400 unless changed. Not sure i understand your question on Plex?
 
Ohh i think i understated what you mean by Plex can be accessed without port forwarding.
Plex also uses a technique similar to udp hole punch where the plex server that’s installed connects automatically with their server outside and gets and maps you’r eexternal ip and port.
The plex client on your phone requires you to first sign in and then behind the scene correctly maps you to your public ipv4 and port.
This technique is quite nice but in the case of jiofibre using CGNAt for ipv4 it can never provide a direct connection to your server but is relayed via their servers. What this means is speeds of less than 5Mbps of video. This is fine for heavily compressed video while watching on a phone.
For people like me , i Stream 4k ultrahd movies at bitrates higher than 30Mbps. The only way to do so is using ipv6 on Jiofibre. You can easily test this by streaming a high bitrate movie above 15Mbps . Plex mobile client. will auto detect network speeds and if relayed from their servers will automatically convert the video to 480p and send it to the plex mobile app.
also you mobile carier should support such high speeds .. i use Airtel where i get speeds of around 35-40Mbps download.However if you’re videos are just the rips of 720p and some heavily compressed 1080p movies at bitrates less than 5Mbps then plex is built in relaying technique works just fine.
 
Plex also uses a technique similar to udp hole punch where the plex server that’s installed connects automatically with their server outside and gets and maps you’r eexternal ip and port.
Can I use UDP ports?
 

Top