[SOLVED] How to create a caching dns server in centos
Hello all,
I would like to setup a caching dns server on my existing Linux server, ( Centos 6.3) in order to increase the speed of browsing websites for the rest of the network. Can please someone help me with that? Where should I start? Thank you in advance! Cheers, Leo |
I use dnsmasq for that purpose, here is a tutorial for CentOS: http://www.g-loaded.eu/2010/09/18/ca...using-dnsmasq/
|
Quote:
Did you see better results in your web browsing experience? Also on my windows system I have some local websites saved on /etc/hosts. ( also I should say that I am using a windows server with IIS for hosting my websites) Will this bother me towards the installation? Note: I am talking about the host file on a windows pc. Not a Linux. |
I use it together with Polipo (caching proxy server) to get better load times. I share a connection with rather low bandwidth with a bunch of other people and I can see significantly better load times, especially when the connection is under heavy load.
Regarding the Windows machine: I don't know. |
Quote:
Hello mate, I install the cache server and it seems to work fine! Thank you very much!! I have 2 questions although: 1) I set the cache-size=1000 (as the tutorial suggest), can you please explain me how exactly this works? I mean this is for 1000 websites, or for 1000 times i visit random webisites? Will i have to change this number in the future? 2)How can i be 100% sure that dns caching actually works? The tutorial doesn't say anything about changing something in clients pc. My topology right now is: Router --> Firewall --> Switch. On the switch it is connected the linux server ( with dns caching) and three client pc with Windows XP. Thank again, Leo Thanks again! |
I have set the cache-size to 10000, it is the number of DNS queries that is cached, you can't directly translate that to the number of websites. For example, if a website shows you pictures from different domains you will have multiple DNS queries on that site.
On your client, you have to configure them to use the server as nameserver, easily done with the network configuration dialog on Windows or /etc/resolv.conf on Linux systems. To test if the caching is actually working you can use the dig command. |
Quote:
;;Query time: 0 msec ;; SERVER 127.0.0.1#53 (127.0.0.1) Also i try ping bbc.com and it is not working..i get a unknown host.. So obviously the dns caching is not working... Leo |
It is working correctly.
On Windows, you don't have to change the default gateway, but the DNS server. |
Quote:
Also on the Windows PC i change the dns with the ip of the cached server (192.168.1.200) but i don't have internet connection! Any ideas please? i use this script: # # Configuration file for dnsmasq acting as a caching nameserver. # # Format is one option per line, legal options are the same # as the long options legal on the command line. See # "/usr/sbin/dnsmasq --help" or "man 8 dnsmasq" for details. # # Updated versions of this configuration file may be available at: # # http://www.g-loaded.eu/2010/09/18/ca...using-dnsmasq/ # # # Basic server configuration # listen-address=127.0.0.1 port=53 bind-interfaces user=dnsmasq group=dnsmasq pid-file=/var/run/dnsmasq.pid # # Logging # #log-facility=/var/log/dnsmasq.log #log-queries # # Name resolution options # domain-needed bogus-priv no-hosts dns-forward-max=150 cache-size=1000 #no-negcache neg-ttl=3600 resolv-file=/etc/resolv.dnsmasq no-poll log-facility=/var/log/dnsmasq.log Thank you! Leo edit: Any help? |
Quote:
Any help mate? Is my configuration file correct? Cheers, Leo |
Sorry, I missed your last post.
This is my configuration file: Code:
interface=br0 Code:
tobi@server ~ ☺ $ cat /etc/resolv.conf Code:
dig google.de Hope this may be helpful. |
Quote:
I am missing the /etc/resolv.dnsmasq file. When i run cat /etc/resolv.dnsmasq i got result " No such File or Directory". I remove and re-install the dnsmasq and still the resolv.dnsmasq is not there. Will i have to create it? I am using your configuration! ( Except the interface=br0 i use interface=etho ) Please help! |
If you use my configuration you have to use the resolv.dnsmasq file, otherwise dnsmasq does not know where to look up the addresses. Just create the file and put the content in. The first address in that file is a public Google server, the second address is an OpenDNS server. You can omit the third address, it is an address local to my network and not reachable from the outside.
|
I create the file and everything seems to work fine, but on my windows pc when i change the DNS server at the ip of the caching server ( 192.168.1.200) i don't have internet connection. Can you help me with that?
The caching server has the following configuration: ip: 192.168.1.200 mask: 255.255.255.0 gateway 192.168.1.1 primary DNS 127.0.0.1 secondary DNS 127.0.0.1 i can ping google.de and here are the results of the dig command: ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.10.rc1.e16_3.6 <<>> google.de ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 47558 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;google.de. IN A ;; ANSWER SECTION: google.de. 212 IN A 173.194.67.94 ;; Query time: 1 msec ;; SERVER: 127.0.0.1#53(127.0.0.1) ;; WHEN: Mon Jan 7 16:25:39 2013 ;; MSG SIZE rcvd: 43 Also at the resolv.dnsmasq file i have make this configuration: nameserver 8.8.8.8 nameserver 208.67.222.222 |
Sorry for barging in this late in the thread.
Quote:
|
All times are GMT -5. The time now is 02:57 PM. |