Когда я пингую данный веб-сайт с консоли сервера CentOS 6.2, он отправляется на старый IP-адрес этого веб-сайта. Как я могу заставить CentOS обновить кешированный IP-адрес веб-сайта?
Я поискал и нашел, что могу использовать:
nscd -i hosts
Но я получаю команду, которая не найдена, когда пытаюсь это сделать.
Выход dig www.example.com
, как просили:
; <<>> 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
Если DNS был изменен недавно, вам, возможно, придется подождать до 48 часов, пока DNS-серверы по всему миру наверстают упущенное. Итак, если ваш сервер CentOS 6.2 находится в другом месте, он может быть еще не готов. Вы можете избежать таких задержек, уменьшив значения TTL (время жизни) в настройках DNS за несколько дней до этого.
Чтобы ваш DNS-сервер считывал текущие файлы (сделайте это на DNS-сервере SOA): rndc reload
Чтобы убедиться, что ваш локальный кеш DNS очищен и старый IP-адрес исчез (сделайте это в поле, которое выполняет рекурсию DNS для вашего клиента): rndc flush
Если IP-адрес был изменен для имени хоста на их DNS-сервере, и вы хотите обновить локальный DNS-сервер, который вы можете запустить (как root):
/etc/init.d/dnsmasq restart
Это обновит все кэшированные записи DNS. Иногда есть другие процессы, которые запускают dnsmasq. Возможно, вам придется вручную убить dnsmasq и перезапустить его с помощью указанной выше команды.
(как корень)
ps aux |grep dnsmasq
killall dnsmasq
/etc/init.d/dnsmasq start
ps aux |grep dnsmasq
удачи!