First of all, this is NOT a rant thread. It's a legitimate request for information.
I'd like to know (or have suggestions) on how the following scenario could've been resolved on Windows. The reason? I want to avoid it happening to a Windows machine in the future.
This morning, I was disturbed from my sleep (hell, I'm always disturbed, but this was different) when I realised that the Internet connection had gone down. Despite this, there were still downloads from XMule coming through. I couldn't access my e-mail nor could I access a Web Page. Hmmm, now I know that XMule does not use DNS but the Web and e-mail does require it (unless you know the IP addresses).
Now, I confirmed that the router was working (hell, I'd only just gotten up!) and that a net connection was present, and guessed that something was wrong with my ISP's DNS servers (I was right, as it turned out).
I'd taken the server off-line for a reinstallation and replaced it with a router, so using that as a temporary resolver was pretty much out the question, but a couple of weeks ago, I'd had problems with the DNS and had transferred it onto my machine until I could repair it. Although that problem was sorted, I'd left it on my machine (fortunately) so I quickly fired up NAMED and altered /etc/resolv.conf to point back at itself (127.0.0.1 and 192.168.1.8) for name serving. Of course, it worked. Unfortunately, the DHCP is served by the router and I couldn't statically add a nameserver to it so only my machine was able to resolve names.
In essence, I forced my machine to become a resolver for itself, bypassing the ISPs nameservers.
How would I do this in Windows? Or at least achieve a similar thing? At most, all I would need to do is point it's DNS server IP addresses to my machine so that it would ask me for a name rather than the ISP. I couldn't work it out earlier, and I don't know much about Client/Server stuff in Windows to know where to start.
What's the equivalent of /etc/resolv.conf in Windows?
The best solution (which I didn't have time to set up this morning) is to put my machine on a static IP and disable the router's DHCP server and enable it on mine so that I can dictate what nameservers to use.
Lastly, is BIND9 available for Windows? Or is there something similar? And how could I force a machine to point back to itself?
Like I said at the beginning, this isn't a rant thread but a genuine request for information. Although not strictly a Linux question, I hope the mods won't just close this thread.
James
Alex Cavnar, aka alc6379
11-04-2003, 06:40 PM
This is actually an interesting thread, IMHO, I'll let it fly...
But, the equivalent to /etc/resolv.conf in Windows is in the Properties of the specific network adapter that you're working with. The way you find this varies depending on what version of Windows you use. But, basically, there's a tab that says "DNS", and you put your DNS servers in there.
Here's a thought, though. Why do you have to use your ISP's DNS servers? You should be able to use any DNS server. I use my ISP's DNS servers if I have to configure a machine that doesn't have any other DNS server.
Instead of trying to set up BIND, I'd just do that...
Modorf
11-04-2003, 07:05 PM
The point of using your ISP's DNS servers is that they are "the closest" (that is assuming there is no DNS server on your network).
The issue is you want the closest server so you have the fastest resolve times, this will improve access times. If you had to access a server in China when being in New York, it will take a couple hops to get the request there, then wait for the reply and then connect to the IP you just looked up. that is why you want "the closest".
As for Windows config, I feel that Alex Cavnar covered it.
Edit the windows computers DNS tables or run DHCP on your machine.
As for windows, there is MS DNS servervices with Active Directory, I have not heard of BIND being ported to Windows.
N
fredg
11-04-2003, 07:22 PM
Simple.
BIND is available for Windows, has been for years. There are several flavors of it. If all you need is a resolver, just get a copy of BIND-PE for Windows and install it. It'll work right out of the box with no configuration.
See: http://ntcanuck.com/index.htm
raz0rblade
11-04-2003, 10:39 PM
Originally posted by Satanic Atheist
First of all, this is NOT a rant thread. It's a legitimate request for information.
I'd like to know (or have suggestions) on how the following scenario could've been resolved on Windows. The reason? I want to avoid it happening to a Windows machine in the future.
This morning, I was disturbed from my sleep (hell, I'm always disturbed, but this was different) when I realised that the Internet connection had gone down. Despite this, there were still downloads from XMule coming through. I couldn't access my e-mail nor could I access a Web Page. Hmmm, now I know that XMule does not use DNS but the Web and e-mail does require it (unless you know the IP addresses).
Now, I confirmed that the router was working (hell, I'd only just gotten up!) and that a net connection was present, and guessed that something was wrong with my ISP's DNS servers (I was right, as it turned out).
I'd taken the server off-line for a reinstallation and replaced it with a router, so using that as a temporary resolver was pretty much out the question, but a couple of weeks ago, I'd had problems with the DNS and had transferred it onto my machine until I could repair it. Although that problem was sorted, I'd left it on my machine (fortunately) so I quickly fired up NAMED and altered /etc/resolv.conf to point back at itself (127.0.0.1 and 192.168.1.8) for name serving. Of course, it worked. Unfortunately, the DHCP is served by the router and I couldn't statically add a nameserver to it so only my machine was able to resolve names.
In essence, I forced my machine to become a resolver for itself, bypassing the ISPs nameservers.
How would I do this in Windows? Or at least achieve a similar thing? At most, all I would need to do is point it's DNS server IP addresses to my machine so that it would ask me for a name rather than the ISP. I couldn't work it out earlier, and I don't know much about Client/Server stuff in Windows to know where to start.
What's the equivalent of /etc/resolv.conf in Windows?
The best solution (which I didn't have time to set up this morning) is to put my machine on a static IP and disable the router's DHCP server and enable it on mine so that I can dictate what nameservers to use.
Lastly, is BIND9 available for Windows? Or is there something similar? And how could I force a machine to point back to itself?
Like I said at the beginning, this isn't a rant thread but a genuine request for information. Although not strictly a Linux question, I hope the mods won't just close this thread.
James
Whos your ISP ?
My DNS was out this morning too :eek:
bandwidth_pig
11-04-2003, 10:51 PM
Most interesting problem. Most interesting perhaps is the fact that it would appear your ISP does not have any kind of real secondary DNS. Which is pretty common. That way if the primary fails, the secondary can take on the load if capacity is managed correctly in terms of hardware being able to handle the flood of requests. From my experience, which isn't that deep, most ISPs will load balance between the two DNS servers. So if they do not watch the load on one, in the event of a failure the other could become quite useless due to the flood of requests. At any rate, there is free DNS available from other ISPs that you could use as a backup in this case. Wonder what ever happened to the guy that made xmule. Last I heard, his site was torn down and he was facing litigation .
Alex Cavnar, aka alc6379
11-04-2003, 11:06 PM
Originally posted by Modorf
The point of using your ISP's DNS servers is that they are "the closest" (that is assuming there is no DNS server on your network).
The issue is you want the closest server so you have the fastest resolve times, this will improve access times. If you had to access a server in China when being in New York, it will take a couple hops to get the request there, then wait for the reply and then connect to the IP you just looked up. that is why you want "the closest".
Definitely, but I wasn't meaning for it to be a permanent solution. In a pinch, though, any DNS server will work.
That was the only reason I suggested it. Personally, I, too recommend using your ISP's DNS servers, for Modorf's exact reason.
copeja
11-04-2003, 11:59 PM
I have an caching DNS Server that is set to forward only no service for the untrusted network. As it gets more and more addresses it is faster and faster you resolve inside your network only going outside if your server hasn't got that address yet. I have it set to go to my ISP first and then to a different ISP's DNS server if both my ISP's servers are down. In the windows boxes they are set to the internal DNS server inside my network. Works very well and as the cache grows the faster it gets just like Modorf said.
raz0rblade
11-05-2003, 12:03 AM
Originally posted by copeja
I have an caching DNS Server that is set to forward only no service for the untrusted network. As it gets more and more addresses it is faster and faster you resolve inside your network only going outside if your server hasn't got that address yet. I have it set to go to my ISP first and then to a different ISP's DNS server if both my ISP's servers are down. In the windows boxes they are set to the internal DNS server inside my network. Works very well and as the cache grows the faster it gets just like Modorf said.
I have the same setup :) Caching DNS server on my FreeBSD box serve's up my network, firewall blocks people from outside using it. If its not on cache it forwards the request to my ISP. It also automatically uses the DNS server of my ISP that is responding faster :D
Satanic Atheist
11-05-2003, 05:34 AM
Thanks. guys.
Because the the router does all the DHCP configuration, I cannot set a DNS address manually. Once DHCP is enabled, the option to set up the DNS is automatic.
I guess the best solution is disable DHCP and statically configure each machine with an IP address and various DNS servers but this would complicate adding and removing machines from the network which is not desirable. On a temporary measure, it could work, though. My aim is to prevent this happening in future.
The reason my ISP (Blueyonder) gave was that they were decommissioning some DNS servers and a lot of people were kicked out. Both the Primary and the Secondary servers were down. Quite why, I don't know. Seems an odd way to do this.
I agree that using an ISPs DNS servers is probably the fastest way to resolve names, using my own DNS was rather significantly slower than using theirs. As a backup, though, it worked perfectly (and should work seamlessly in future). I think it will become a standard for me to deploy a DNS server on any Linux machine I configure from now on (especially useful for laptops). Although I DID enable the "-R" option in /etc/rc.d/rc.<something> to prevent /etc/resolv.conf being overwritten, I think a better solution would be to append the local nameserver to the file after each update (hopping between ISPs) so that it's always available.
James
justlinux.com
Copyright Internet.com Inc. All Rights Reserved.