The dream started several years ago, when I started studying computer networks and IP address. However, the obstruction was unable to access internet with proper bandwidth and extra cost for public IP address. But finally I got FTTH internet from a reputed ISP with a dynamic public IP address and enormous unused transfer rate about 3.1TB/month !!
Photo by Victor Garcia
The first thing I did after getting internet was searching "my ip" in google.com and confirming with my router that I have the same public IP address. The confirmation was affirmative. Next thing I did was to start playing Call Of Duty Mobile!!
After a week are so, I got bored with playing games and wanted to run some kind of server with my Raspberry PI 2 and to make it available to internet. The fastest thing is to run a netcat server in a single command "nc -l 8000". Now I had to port-forward the traffic from internet on port 80 to port 8000 on Raspberry PI's IP. But I failed to find port-forwarding setting in my ISP recommended router, *syRoTech*.
After two days of waiting I had a chance to meet a guest with better level of expertise on router configuration. That is the time I found out the feature for port-forwarding is named as NAT Configuration under Application menu. Also I had to make firewall level = low. The low firewall level is to let the inbound traffic to enabled port. In my case I enabled the port 80 and 443. Finally when I tried to connect netcat server using public IP address, connection established successfully.
Now, I just have to discover a way to map the dynamic public IP to some domain name. It is not that easy, because in domain name configuration, we have to provide IP address(A) or domain name(CNAME) as target. Since my IP address changes whenever my router reconnect to ISP's DHCP server. I had to configure a DDNS client which updates my public IP to a DDNS subdomain every 1 minute interval. Finally I had to make this domain name points to configured DDNS address(a subdomain of DDNS provider).
I have chosen to run this blog server because I have discovered lot of way to make localhost available to internet and I want to share them with you along with lot of other stuffs like this !
I was running a Nodejs based blog server called Ghost. It supports multi-author posts.
Feel free to leave comments below!