Connecting Windows Home Server to web through two routers
I wanted to get my Windows Home Server configured correctly for web so I have valid certificate by Microsoft and I can use subdomain service they are offering. As my home network is not default that is expected by Windows Home Server (no direct access to router that is connected to web) I had to trick my WHS a little bit. In this posting I will show you how to get Windows Home Server work with Microsoft address (http://something.homeserver.com) if it is not connected directly to router that has access to web.
My home network
Here is overview of my home network. This is just overview and virtual machines running on other machines are not drawn out. Basically I have 3G modem that is providing web access to my network (it has static IP). Behind 3G modem there is wireless router. Home server and XBox are connected to router using cable and laptops access web over WiFi.
The not-so-default thing for WHS is fact that it is connected to wireless and not 3G mobile modem/router. I have to use 3G modem/router because using 3G USB modem on WHS makes UPnP service go mad and consume almost all CPU resource. This is known error but there is no fix yet.
Setting up router and subdomain
If you have similar network set up then you have to find some moments of time when people are not connected to your network or at least they are not using web to do something important.
- Disconnect internal router from WHS.
- Disconnect web router from internal router.
- Connect web router to WHS.
- Log in to WHS and run WHS dashboard.
- Open server settings and move to Remote Web Access tab.
- Click button Set Up after router and let it set up your router.
(make sure your router supports UPnP – then everything goes automatically) - Click button Set Up after domain name and go through steps to get your own homeserver.com address.
- Assuming that everything went well you can try to access your WHS from external network. You may also ask some friend to try if he or she can access your WHS from his or her computer.
Now it’s time to restore previous setup of network and configure it so WHS can still be accessed from web.
Configuring routers
Your first router must now let some traffic to internal one and internal one must redirect all this traffic to your WHS. There are many ways how to do it usually. This is just one and you can give your own suggestions in comments of this post.
- Disconnect web router from WHS.
- Connect web router to internal router.
- Connect WHS to internal router.
- Make sure WHS has static IP (let’s say it has 192.168.1.10).
- Make sure that your internal router has static IP for web connections and for internal network. If your web router uses 192.168.100.1 as IP address for network then make your internal router use 192.168.100.100 by example.
- Make sure your internal router has static IP set for internal network (let’s say it is 192.168.1.1).
- Enable DMZ in web router and assign external IP of internal router to DMZ IP. I want my internal router to handle security and routings.
- In internal router define port forwards to your WHS (192.168.1.10):
- 80 – this is usual HTTP port and this is required for media streaming,
- 443 – this is secure HTTP port and over this port you can see WHS web interface.
- You can also enable forwards for other ports you need to access.
- Make sure that internal router is using full security if it is put to DMZ.
- Try to access your home server from external network.
Now everything should work normally and you should be able to access your WHS from other machines. If you check from WHS dashboard you should see picture like this (of course, with your own router name).
Conclusion
It was not hard to get Windows Home Server configured for web when it is behind two routers. You first let WHS configure web router and subdomain. Then you just restore your network setup like it was before and add some routings so WHS can be accessed from web. If your setup is correct then WHS can see your internal router and WHS server settings dialog shows that everything is okay.