Host your own web site on your desktop over ADSL broadband

On certain occasions, you need to create your own web server and try to connect to it over the Internet. This applies to any sort of server you wish to host like, Secured Shell, OpenVPN, database server and so on. If you are using an ADSL broadband connection from your ISP (Internet Service Provider), then you will always be allocated dynamic IP addresses. The host name is not known for your computer over the Internet, and you also do not have a fixed / static Internet address.

Fortunately, there is a way to overcome this situation. You need to do the following steps:
1. Add your IP address to the http://www.dyndns.com service. It’s free.
2. Add this host name your get from the http://www.dyndns.com service to your ADSL broadband router.
3. Port forward the port of the service you want to host on your computer from the ADSL broadband router.

Create a http://www.dyndns.com account as follows:
Visit https://www.dyndns.com/account/services/hosts/add.html and add your ADSL broadband router IP address to the host name you require from the drop down list on the form. Do not worry about not knowing your ADSL broadband router IP address. It is displayed on the form. You will be sent an email message and asked to verify your request. Once done, you are now set up with http://www.dyndns.com and can now perform the next step.

Add the host name your chose from http://www.dyndns.com to your broadband router. To do this:
Login to your broadband router at http://192.168.1.1 (most common address). There will be an option for DDNS on your router. For example, http://192.168.1.1/access/access_ddns.htm.
In this form, activate dynamic DNS, enter the host name (dyndns host name you created), enter your user name and the password you chose on the dyndns.com site.
Save the form.

Port forward the service from the Internet to your computer on the ADSL broadband router.
Visit your router’s home page and choose the option, most likely you would find it at Advanced Setup -> NAT -> Virtual Server, or at http://192.168.1.1/advanced/adv_nat_virsvr.htm.
Add a rule that says forward HTTP/SSH/HTTPS (in our case SSH) to the local IP address of the computer. This could be 192.168.1.3 or whatever. To find this out, you can start up a terminal window, and type:
$ ifconfig | grep “inet addr” <enter>
to find the address of your computer. Choose the appropriate one and add that to the local IP address on the form.

Save the changes to your ADSL broadband router and you should be able to (a) ping it from the internet using ping xxxx.dyndns-free.com, (b) connect to the server on your computer using http://xxxx.dyndns-free.com. You see the advantage. No more dynamic IP addresses. dyndns.com takes care of it for you.