Во-первых, простите мое невежество, так как я все еще привык к работе с DNS. Я новичок в сети.
Основной вопрос: как определить источник записи DNS? Или, может быть, точнее спросить: как мне определить, где в моей сети имя хоста переводится в IP?
Особенности:
- Actiontek MI424WR-GEN3I (предоставляется в составе службы FiOS)
- MacBookPro под управлением OS X Yosemite
- VMWare Fusion
- Сервер Ubuntu 14, работающий на виртуальной машине VMWare
Сценарий: я на Mac под управлением OS X Yosemite с Ubuntu 14, работающей на виртуальной машине VMWare. Я изучаю веревки при настройке сайта Drupal (не относящиеся конкретно к проблеме), и я настроил виртуальные хосты на сервере Ubuntu. Принимая это как процесс пошагового выполнения, я сначала создал запись в моем файле hosts:192.168.1.22 cwb1.local
Это работало нормально, поэтому я стал более амбициозным и удалил эту запись файла hosts и создал запись DNS на своем маршрутизаторе, указав имя хоста cwb1.local на IP 192.168.1.22. Похоже, это сработало очень хорошо. Тайна в том, что с тех пор я удалил эту запись DNS, и теперь, насколько я могу судить, у меня нет записи, связывающей это имя хоста и IP друг с другом, но происходят две странные вещи:
- Я могу пинговать имя хоста и успешно вернуть IP
- Я могу перейти к http://cwb1.local в моем браузере и получить доступ к моему сайту Drupal.
Я очистил кэш моего браузера и запустил dscacheutil -flushcache на моем Mac, даже сбросил настройки сервера, и все еще не могу определить, как / почему мой Mac знает, как связать это имя хоста и IP вместе.
Диагностика: * обратите внимание, что виртуальная машина, на которой запущен этот сервер, указана в DHCP-подключениях моего маршрутизатора как 'ubuntu'
MAC:~ me$ nslookup 192.168.1.22
Server: 192.168.1.1
Address: 192.168.1.1#53
22.1.168.192.in-addr.arpa name = ubuntu.home.
MAC:~ me$ nslookup cwb1.local
Server: 192.168.1.1
Address: 192.168.1.1#53
** server can't find cwb1.local: NXDOMAIN
MAC:~ me$ dig cwb1.local
; <<>> DiG 9.8.3-P1 <<>> cwb1.local
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 53342
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;cwb1.local. IN A
;; Query time: 49 msec
;; SERVER: 192.168.1.1#53(192.168.1.1)
;; WHEN: Sat Jan 17 20:53:36 2015
;; MSG SIZE rcvd: 28
MAC:~ me$ dig 192.168.1.22
; <<>> DiG 9.8.3-P1 <<>> 192.168.1.22
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 60811
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0
;; QUESTION SECTION:
;192.168.1.22. IN A
;; AUTHORITY SECTION:
. 10800 IN SOA a.root-servers.net. nstld.verisign-grs.com. 2015011701 1800 900 604800 86400
;; Query time: 50 msec
;; SERVER: 192.168.1.1#53(192.168.1.1)
;; WHEN: Sat Jan 17 21:01:59 2015
;; MSG SIZE rcvd: 105
Содержимое /etc/apache2/sites-available/html.conf
<VirtualHost *:80>
DocumentRoot /var/www/html
ServerName drupal7
</VirtualHost>
<VirtualHost *:80>
DocumentRoot /var/www/html
ServerName cwb1.local
ServerAlias cwb1.local *.cwb1.local
</VirtualHost>
Кто-нибудь может дать мне какое-то руководство здесь?
Редактировать После комментария Ромео я повторно посетил свой файл /etc /hosts и кое-что попробовал: я добавил новую запись для cwb1.local для IP, которого нет в моей сети (192.168.1.23). После проверки связи cwb1.local он разрешается до 192.168.1.23 (как и ожидалось), и каждый запрос истекает (также как и ожидалось). Интересно, что я удалил эту запись из моего файла /etc /hosts и запустил:
- dscacheutil -flushcache
- sudo discoveryutil mdnsflushcache
- sudo discoveryutil udnsflushcaches
и все еще получают те же результаты: имя хоста разрешается, но время ожидания пакетов.
Итак, мой Mac распространяет / отражает эту информацию и в других местах? Или есть какой-то буфер, который не очищается с помощью приведенных выше команд очистки кеша?
Edit 2 Итак, после перезагрузки запись имени хоста, похоже, окончательно исчезла. Это указывает на то, что фантомная запись хранится на моем Mac. Но где / как эта фантомная DNS-запись хранится до перезагрузки? Как я могу обеспечить в будущем получение точной информации DNS без перезагрузки?
Еще раз спасибо всем, кто может дать некоторое представление!