1

When I ping a given website from a CentOS 6.2 server console, it pings to that website's old IP address. How can I force CentOS to refresh the cached IP for the website?

I searched and found I could use:

nscd -i hosts

But I get command not found when I try this.

Output of dig www.example.com, as requested:

; <<>> DiG 9.7.3-P3-RedHat-9.7.3-8.P3.el6_2.3 <<>> www.example.com  
;; global options: +cmd  
;; Got answer:  

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 20322  
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0  

;; QUESTION SECTION:  
;www.example.com.         IN      A  

;; ANSWER SECTION:  

www.example.com.        8084    IN      CNAME   example.com.  
example.com.            8084    IN      A       xxx.xxx.xx.xxx  

;; Query time: 8 msec  
;; SERVER: 8.8.8.8#53(8.8.8.8)  
;; WHEN: Thu Jun 21 15:23:03 2012  
;; MSG SIZE  rcvd: 69  
Esa Jokinen
  • 46,944
  • 3
  • 83
  • 129
Vero
  • 111
  • 1
  • 6
  • Could you add the output of `dig example.com` to your question? – Ladadadada Jun 21 '12 at 18:50
  • There you go. Google's cache of that result expires in 8084 seconds which is about 2 hours, 11 minutes. After that, it will get a fresh result. – Ladadadada Jun 21 '12 at 21:42
  • Yes, you are right. The problem is the Google Public DNS. For some reason, it resolves ok example.com, but not www.example.com for this domain. It has been hours and the issue doesn't fix. – Vero Jun 22 '12 at 01:31

3 Answers3

2

If the DNS was changed recently you may have to wait up to 48 hours for the DNS servers around the globe to catch-up. So, if your CentOS 6.2 server is in a different location it may not be ready yet. You can avoid such delays by reducing TTL (Time to Live) values in your DNS settings a few days before.

Travis Pessetto
  • 166
  • 1
  • 5
  • I forgot to mention that now this website is on this same centos server. Is there a way I can force this centos server to know when it resolves the domain, that it is now located in the server shared IP address? – Vero Jun 21 '12 at 18:38
  • @Vero yes, I believe if you are using the server as also your nameserver just make sure your values are correct for Bind then restart Bind. – Travis Pessetto Jun 21 '12 at 18:44
  • Thanks. I have restarted DNS server in WHM (this server has cpanel), but it still pings to the old IP address. The problem happens when pinging to the site, from the same server. I need processes running on server to connect to this website using curl, and they fail because the server is looking for the website in the old ip. – Vero Jun 21 '12 at 18:55
0

It the IP has been changed for the host name on their DNS server and you are wanting to refresh your local DNS you can run (as root):

/etc/init.d/dnsmasq restart

This will refresh all the cached DNS entries. Sometimes there are other processes that run dnsmasq. You may have to manually kill dnsmasq and restart it using the above command.

(as root)

ps aux |grep dnsmasq
killall dnsmasq
/etc/init.d/dnsmasq start
ps aux |grep dnsmasq

best of luck!

J Baron
  • 338
  • 1
  • 7
  • Thanks, but there is no /etc/init.d/dnsmasq on server. I looked at /etc/init.d, and no dnsmasq listed. – Vero Jun 21 '12 at 18:54
0

To ensure your DNS server is reading the current files (do this on the DNS SOA server): rndc reload

To ensure your local DNS cache is flushed so that the old IP disappears (do this on the box that does DNS recursion for your client): rndc flush

Ram
  • 612
  • 3
  • 10