Hi, I am a student with a passion for computer networking. I am running a few servers at home including raspberry pi web servers, web print servers, mail servers with web app similar to OWA. I have registered a domain name for myself and have control of the DNS. I have set it up so that it points to my static public-facing IP address and that is all working great.
I have been trying to set up my home network so that the web apps i am hosting on these various servers can be accessed on the web at [app].[domain].com.
I thought an internal DNS server would do the trick so i tried to set one up but I wasn't sure how to configure it and if it was even what I needed.
What i am looking for is a "server" that i can set up forward any necessary ports to so that all incoming http requests have to go past that first, That server can be configured to forward the requests on certain criteria.
mail.[domain].com to be forwarded to 192.168.1.132/mail
www.[domain].com to be forwarded to 192.168.1.131/index.html
vhost1.[domain].com to be forwarded to 192.168.1.131/vhost1
octoprint.[domain].com to be forwarded to octopi.local
diskstation.[domain].com to be forwarded to 192.168.1.132:5000
as you can see, i need it to be able to correctly forward to a range of things; i.e ip address + virtual host, ip address + html file, internal hostname or ip address + port.
I know there are ways of doing this like port forwarding but that only forwards based on the requested port. All these web apps (and more to come) are on port 80 or 443 so just port forwarding won't work.
Firstly, is there such thing or am i dreaming?
Secondly, Is an internal DNS server what i need?