Я налаштував DNS-сервер у домашній локальній мережі. Він обслуговує кілька додаткових доменних імен, наприклад foo
. Зверніть увагу на це foo
налаштований для повернення 404-х для всіх запитів. (Я не отримав, щоб він зробив те, що я хочу зробити.) Також, Зверніть увагу, що foo
- це однорівневе доменне ім'я , тобто foo.
є FQDN. Сподіваюся, очевидно, що це не ім'я, яке я очікую вирішити де завгодно, крім домашньої мережі.
Одиночна машина Windows у мережі, здається, не виконує DNS-запитів - я поняття не маю, чому.
Топологія мережі, лише для довідки:
^ out to Comcast
|
* Comcast modem
|
+-* 10.1.10.2, a server, hosting a webserver and a DNS server.
+-* 10.1.10.3/192.168.2.1, a wireless router.
|
(via WiFi)
|
+-* an Android phone
+-* a Windows laptop.
+-* a Linux laptop.
Бездротовий маршрутизатор налаштований на використання 10.1.10.2 для DNS. Тим не менш, він посилає 192.168.2.1 як DNS-сервер у відповідь DHCP (перевірено з Wireshark).
Телефон Android, якщо попросять зробити http://foo/
в Chrome отримує 404. (Що правильно.)
Машина Windows, якщо вона попросить зробити те ж саме в Chrome, не працює, на сторінці "Ой! Google Chrome не вдалося знайти". Використання nslookup
на машині, і віддавати її foo
у рядку не вдається знайти foo
. Він стверджує, що використовує 192.168.2.1 як DNS-сервер. Якщо я nslookup
foo.
(зверніть увагу на точку), я отримую правильну IP-адресу назад. Якщо я прошу http://10.1.10.2
, Я отримую 404.
На машині Linux, a dig @10.1.10.2 foo
дає правильний відповідь. Крім того, dig @192.168.2.1 foo
також дає правильний результат.
Що відбувається? Чому машина Windows повертається не знайдена для відповідей DNS, тоді як всі інші машини, здається, отримують правильну відповідь?
Редагувати: У мене є Python на машині Windows. Я фактично маю два домени, foo
і bar
. Python's socket.gethostbyname
можна побачити foo
, але ні bar
. (Вони обслуговуються одним і тим же сервером DNS - записи ідентичні, за винятком імені.) nslookup
не може бачити присідання, окрім тієї, що має крапку. Ніщо в Chrome не працює.
foo
є повноцінним доменом і додає свій первинний суфікс - eq, який він шукає foo.local
. Точка дозволяє Windows знати, що це fqdn. Чи є домен дійсно єдиним рівнем, він не містить точок?
foo
. Очевидно, що цей DNS-сервер не працює в Інтернеті і призначений лише для роботи тут, у моїй домашній мережі.