| Linux - Server This forum is for the discussion of Linux Software used in a server related context. |
| Notices |
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
Are you new to LinuxQuestions.org? Visit the following links:
Site Howto |
Site FAQ |
Sitemap |
Register Now
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
 |
GNU/Linux Basic Guide
This 255-page guide will provide you with the keys to understand the philosophy of free software, teach you how to use and handle it, and give you the tools required to move easily in the world of GNU/Linux. Many users and administrators will be taking their first steps with this GNU/Linux Basic guide and it will show you how to approach and solve the problems you encounter.
Click Here to receive this Complete Guide absolutely free. |
|
 |
|
01-02-2013, 04:55 PM
|
#1
|
|
Member
Registered: Jan 2013
Distribution: Centos
Posts: 78
Rep:
|
[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
Last edited by LeoPap; 01-08-2013 at 02:22 AM.
|
|
|
|
01-02-2013, 05:09 PM
|
#3
|
|
Member
Registered: Jan 2013
Distribution: Centos
Posts: 78
Original Poster
Rep:
|
Quote:
Originally Posted by TobiSGD
|
Thank you very much for your reply mate.
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.
|
|
|
|
01-02-2013, 05:12 PM
|
#4
|
|
Moderator
Registered: Dec 2009
Location: Hanover, Germany
Distribution: Slackware
Posts: 12,226
|
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.
|
|
|
|
01-03-2013, 03:27 AM
|
#5
|
|
Member
Registered: Jan 2013
Distribution: Centos
Posts: 78
Original Poster
Rep:
|
Quote:
Originally Posted by TobiSGD
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.
|
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!
Last edited by LeoPap; 01-03-2013 at 05:02 AM.
|
|
|
|
01-03-2013, 06:06 AM
|
#6
|
|
Moderator
Registered: Dec 2009
Location: Hanover, Germany
Distribution: Slackware
Posts: 12,226
|
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.
|
|
|
|
01-03-2013, 06:13 AM
|
#7
|
|
Member
Registered: Jan 2013
Distribution: Centos
Posts: 78
Original Poster
Rep:
|
Quote:
Originally Posted by TobiSGD
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.
|
running dig www.bbc.com i get these results.
;;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
Last edited by LeoPap; 01-03-2013 at 06:20 AM.
|
|
|
|
01-03-2013, 06:18 AM
|
#8
|
|
Moderator
Registered: Dec 2009
Location: Hanover, Germany
Distribution: Slackware
Posts: 12,226
|
It is working correctly.
On Windows, you don't have to change the default gateway, but the DNS server.
|
|
|
|
01-03-2013, 06:32 AM
|
#9
|
|
Member
Registered: Jan 2013
Distribution: Centos
Posts: 78
Original Poster
Rep:
|
Quote:
Originally Posted by TobiSGD
It is working correctly.
On Windows, you don't have to change the default gateway, but the DNS server.
|
But how it is working if i can't ping a web address from the server which is installed the caching dns?
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?
Last edited by LeoPap; 01-04-2013 at 07:05 AM.
|
|
|
|
01-04-2013, 07:07 AM
|
#10
|
|
Member
Registered: Jan 2013
Distribution: Centos
Posts: 78
Original Poster
Rep:
|
Quote:
Originally Posted by TobiSGD
It is working correctly.
On Windows, you don't have to change the default gateway, but the DNS server.
|
Any help mate? Is my configuration file correct?
Cheers,
Leo
|
|
|
|
01-04-2013, 08:08 AM
|
#11
|
|
Moderator
Registered: Dec 2009
Location: Hanover, Germany
Distribution: Slackware
Posts: 12,226
|
Sorry, I missed your last post.
This is my configuration file:
Code:
interface=br0
listen-address=127.0.0.1
port=53
bind-interfaces
user=dnsmasq
group=dnsmasq
pid-file=/var/run/dnsmasq.pid
domain-needed
bogus-priv
dns-forward-max=150
cache-size=10000
neg-ttl=600
resolv-file=/etc/resolv.dnsmasq
no-poll
This is my resolv.conf and resolv.dnsmasq:
Code:
tobi@server ~ ☺ $ cat /etc/resolv.conf
nameserver 127.0.0.1
tobi@server ~ ☺ $ cat /etc/resolv.dnsmasq
nameserver 8.8.8.8
nameserver 208.67.222.222
nameserver 192.168.178.1
And here is my dig output:
Code:
dig google.de
; <<>> DiG 9.7.3 <<>> google.de
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 28994
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;google.de. IN A
;; ANSWER SECTION:
google.de. 94 IN A 173.194.44.56
google.de. 94 IN A 173.194.44.63
google.de. 94 IN A 173.194.44.55
;; Query time: 51 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Fri Jan 4 15:02:40 2013
;; MSG SIZE rcvd: 75
I misinterpreted your last dig output, the one I posted is one that is working.
Hope this may be helpful.
Last edited by TobiSGD; 01-04-2013 at 08:25 AM.
|
|
|
|
01-07-2013, 02:39 AM
|
#12
|
|
Member
Registered: Jan 2013
Distribution: Centos
Posts: 78
Original Poster
Rep:
|
Quote:
Originally Posted by TobiSGD
Sorry, I missed your last post.
This is my configuration file:
Code:
interface=br0
listen-address=127.0.0.1
port=53
bind-interfaces
user=dnsmasq
group=dnsmasq
pid-file=/var/run/dnsmasq.pid
domain-needed
bogus-priv
dns-forward-max=150
cache-size=10000
neg-ttl=600
resolv-file=/etc/resolv.dnsmasq
no-poll
This is my resolv.conf and resolv.dnsmasq:
Code:
tobi@server ~ ☺ $ cat /etc/resolv.conf
nameserver 127.0.0.1
tobi@server ~ ☺ $ cat /etc/resolv.dnsmasq
nameserver 8.8.8.8
nameserver 208.67.222.222
nameserver 192.168.178.1
And here is my dig output:
Code:
dig google.de
; <<>> DiG 9.7.3 <<>> google.de
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 28994
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;google.de. IN A
;; ANSWER SECTION:
google.de. 94 IN A 173.194.44.56
google.de. 94 IN A 173.194.44.63
google.de. 94 IN A 173.194.44.55
;; Query time: 51 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Fri Jan 4 15:02:40 2013
;; MSG SIZE rcvd: 75
I misinterpreted your last dig output, the one I posted is one that is working.
Hope this may be helpful.
|
Hello,
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!
Last edited by LeoPap; 01-07-2013 at 02:59 AM.
|
|
|
|
01-07-2013, 06:35 AM
|
#13
|
|
Moderator
Registered: Dec 2009
Location: Hanover, Germany
Distribution: Slackware
Posts: 12,226
|
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.
|
|
|
|
01-07-2013, 10:27 AM
|
#14
|
|
Member
Registered: Jan 2013
Distribution: Centos
Posts: 78
Original Poster
Rep:
|
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
Last edited by LeoPap; 01-07-2013 at 10:28 AM.
|
|
|
|
01-07-2013, 10:41 AM
|
#15
|
|
Moderator
Registered: May 2001
Posts: 24,811
|
Sorry for barging in this late in the thread.
Quote:
Originally Posted by TobiSGD
I use dnsmasq for that purpose
|
I'd like to point out that AFAIK cached information won't survive a restart of Dnsmasq or the machine it runs on. Pdnsd OTOH does have persistent caching.
|
|
|
|
| Thread Tools |
Search this Thread |
|
|
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
All times are GMT -5. The time now is 09:28 PM.
|
|
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.
|
Latest Threads
LQ News
|
|