Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Here's the deal: I have multiple machines on my network which I'd like to make externally accessible via a dynamic DNS service. In the past, I've simply made one machine available via router-based dynamic DNS support and port-forwarding. Is there a way to run a daemon on each machine rather than on the router and effectively have one machine accessible via and the other via

The reason I ask is because it would seem that this would be impossible, due to the fact that both machines share the same public-facing IP address (which is dynamic). Is this possible at all? If not, is there a way to accomplish what I'm talking about?

share|improve this question
up vote 1 down vote accepted

Sure it's possible. It's just redundant. And I can't be certain that a single Dynamic DNS provider would support it (you might have to use two, like and (I think they are organizationally different). What you end up with is two names pointing to the same IP. Since your router can only forward one port to one IP, it won't matter - if you forward RDP to one name and VNC to another, for example, BOTH names will respond to both requests, but only the PCs where the ports are forwarded to will answer.

Put another way, the Dynamic DNS clients are JUST pointing an IP to a name and don't care how your router is configured or what services are available on your systems.

share|improve this answer
But this pretty much defeats the whole purpose of having two DNS names, as they point to the same IP. I'd like two separate DNS names, with port 80 going exclusively to one machine per DNS name. Is there a way to do that? – Naftuli Tzvi Kay Jun 20 '11 at 21:01
@TKKocheran Not without two public IPs. You can do some interesting stuff on your router side, such as forward 80 to computerA:80 and 81 to computerB:80, but ports from a single public IP can only be assigned once. If you want to serve different HTTP websites for different domains, then look into VirtualHosts, but that only works for websites. – Darth Android Jun 20 '11 at 21:15
Suppose I'm running a Linux router. Is there a way to redirect to the proper computer based on requested domain name, like an Apache VHost? – Naftuli Tzvi Kay Jun 21 '11 at 19:56

For port 80 if one of the machines is running apache2 (and online all the time) you can use proxy pass to fowrward to the (internal) ip of your iis server

ProxyPreserveHost On
ProxyPass /
ProxyPassReverse /

(taken from the Using Virtual_host and mod_proxy together example at

Mod_proxy is advertised as "This module implements a proxy/gateway for Apache. It implements proxying capability for FTP, CONNECT (for SSL), HTTP/0.9, HTTP/1.0, and HTTP/1.1. The module can be configured to connect to other proxy modules for these and other protocols." so it should work slightly more than port 80.

share|improve this answer
This wasn't specifically an Apache question, more of a general question, as I'd like to provide other services too, such as SSH, FTP, etc. – Naftuli Tzvi Kay Jun 21 '11 at 17:44
In order to make it work with "any" service a reverse proxy is what I would use. (see for instance for squid documentation and examples) – Jontas Jun 21 '11 at 19:23

Yes it is possible - you can use two accounts as an example on the server side and that would work just fine. Use account 1on machine A and account 2 on machine B.

There are plenty of free ddns providers to choose from such as those at:

Dynamic DNS

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.