Ok, let’s take this one at a time:
> 1. Can a server behind a firewall host it’s own name servers? To some extent that seems to be true because if I go to http://freephpnukehosting.com which is my default domain and where my name servers reside ns1 and ns2 dot freephpnukehosting.com the page comes up on the Internet. This is optimistic!
Your statement in 3 about “192.168.0.2 and .3” leads me to believe you aren’t asking about firewalling, but network address translation. A firewall merely blocks ports or doesn’t based on some criteria, while network address translation forwards a port or address to another port and/or address. Any service can run behind a firewall, as long as that service is allowed by the firewall rules. Some services cannot run behind a network address translation device, but DNS and web are not among those that can’t, assuming the NAT device is correctly configured to forward the appropriate external ports and addresses to the matching internal ports and addresses. This configuration, it sounds like, is the business of your host–not you or Virtualmin. If any NameVirtualHost on your system is working, then we can say with confidence that the configuration is correct.
> 2. I have worked with your previous suggestions; however, my virtual servers refuse to forward for some reason. It could be a simple step but it is alluding me somehow.
Can you clarify what you mean by “forward”? The term forward has several meanings in networking, but I can’t figure out from context which meaning you are after here. A webserver doesn’t need to “forward” anything in any context I can imagine would apply to you…perhaps you mean it just isn’t answering requests?
Anyway, when I go to your addresses I get an Indy After Hours website. Seems like the webserver is working fine. There might be a misconfiguration in the freephpnukehosting.com domain, though.
> 3. Now that ip’s have changed to 192.168.0.2 and .3 how should apache be listening for requests? I am not sure if they should be listening to the 126.96.36.199 which is the address on the firewall that is translated to 192.168.0.2 or if they should be listening to just the 192 address.
This one is easy. It’s impossible for Apache to listen on an address that doesn’t exist on the machine. So, I’m gonna recommend you let it listen on 192.168.0.2 and .3.
Don’t fret too much over the networking side of things. If the NAT device is configured properly, everything will just work. (OK, mail can be an issue, due to spam filters…But we’ll cross the bridge when we come to it.)
Anyway, since the webserver is answering queries, you’ve already handled this question correctly, even if you didn’t know it.
So…I think we just need to get you to cut and paste your relevant NameVirtualHost sections from your httpd.conf file. I can’t really guess what is misconfigured with the information I have, and that would clear it up real quick.