I am looking to run multiple applicances in virtualbox on the same same host machine behind a home router. I have assigned all the applicances static IP addresses. Additionally I have used www.dnsdynamic.org to create friendly addresses for each of the applicances.

I am new to DNS, NATing.

My question is how do set things up so that the friendly addresses I created get routed to each appliance. For instance I have a Prestashop shop appliance and a Tracks applicance both listening on port 80, but I am only able to use one at a time because both are listening on port 80. I have two rules for port forwarding set up on my home router, but can only use one at a time.

I am sorry if this has been answered in another post, but to be honest I don't know what to even search for in the forums to research this. I would be very grateful for any pointers to existing posts or anything that could point me in the right direction.

I am trying to set up a small business and I would like all appliance to be viewable from outside my home router.

We would like to do everyhting initially from a home network until such time we have some revenue coming in, then we can move the appliances to AWS.

I hope all of the above makes sense, I have been trying to get my brain around this but to be honest I don't know what direction to take.

Last but certainly no least I would like to say a very major thank you to everyone who helped create these appliances, they are truely an amazing resource for a budding young business. I spent months researching opensource software with the intention of building servers from scratch. I only found your site by accident, and since I have found it it has been a very rewarding find. We will definitely be making a donation as soon as we have some revenue for the months of work your work has saved us.



Jeremy Davis's picture

Firstly great that you are loving TKL! :)

From where I sit the immediate options you have are:

  1. In your modem/router, adjust which ports it port forwards (via NAT) to your internal VM servers. E.g. leave your PrestaShop at 80, but make your Tracks appliance 8080 (port forward external/WAN port 8080 to internal VM port 80). Most consumer grade modem/routers support config like that. However this now leaves you with the issue of how to connect to Tracks. Options:
    1. Just use the same domain name but with the addition of the port; e.g. http://coolsite.com/ for your PrestaShop and http://coolsite.com:8080/ for Tracks. This will work but isn't ideal IMO...
    2. I'm not sure if DNSDynamic support it or not, but some of the dynamic DNS providers allow domain names to be forwarded to IP that include a port; e.g. coolsite.com ->
      FWIW ChangeIP (another free dynamic DNS provider) support that usage, and they also support subdomains so you could have shop.coolsite.com and www.coolsite.com pointing to your PrestaShop (via port 80 on your modem/router) and tracks.coolsite.com pointing to your tracks appliance (via port 8080 on your modem/router). I'm not necessarily endorsing ChangeIP I just know that they support this config (and I have used them for quite some time and it works well).
      Also TKL also provide dynamic DNS via HubDNS (requires a TKL Hub account) but you are limited to tklapp.com subdomains (and I'm not sure about the port thing...)
  2. Set up a reverse proxy (or configure one of your VMs as a reverse proxy). TBH I have never set this up (I always intended to to get better understanding of the process) but Apache and most common webservers (NginX, LigHTTPd etc) allow for that sort of configuration. I have read that Pound is a dedicated reverse proxy and is easy to configure... A reverse proxy basically accepts all incoming requests and redirects them to the relevant servers. So you would point your domain name to your modem/router (via DynamicDNS or whoever) and port forward port 80 to the reverse proxy. That in turn redirects the relevant domain name to the relevant server.
  3. Use TKL Docker containers - AFAIK if you set up Docker then it provides a reverse proxy. Although I don't know enough and haven't tested enough to highly recommend this option.

On face value your plan seems reasonable but I have a few things for your to consider:

  • What upload speed has your internet got? Unless you have a fibre connection with a reasonable upload speed then you may find you lose customers to pure frustration... (Remember your upload speed is their download speed and it will be divided between multiple users)
  • For best Google SEO you will want your domain name to stay the same. Rather than use a free Dynamic DNS provided name I recommend buying one.

Add new comment