Я использую HTTP-сайт на порту 61337 на моем ноутбуке.

IP-адрес моего ноутбука 192.168.1.247.

Домен mathsrise.tk указывает на 192.168.1.247 , и я могу (с моего ноутбука) получить доступ к веб-сайту по этому адресу: http://mathsrise.tk:61337 .

Любое другое устройство в доме может получить доступ по адресу http://192.168.1.247:61337 , но они не могут получить доступ к веб-сайту с http://mathsrise.tk:61337 , вместо этого оно говорит "сервер не найден", или какой-то эквивалент.

Например, пинг с рабочего стола Windows 7:

> ping mathsrise.tk
Ping request could not find host mathsrise.tk. Please check the name and try again.

Почему только одно устройство правильно разрешает DNS? Или найти этот "хост" (idk, что означает хост)

2 ответа2

1

На ранних этапах создания сетей Ethernet большинство сетей состояло из множества устройств, выполняющих множество различных задач.

В вашей обычной сети был маршрутизатор, коммутатор, брандмауэр /NAT, DHCP-сервер, DNS-сервер и веб-сервер.

Все отдельные ящики, подключенные к сети. С течением времени, устройства домашней сети и устройства домашней сети стали более мощными, с точки зрения мощности процессора и огромных объемов памяти, они стали «комбинированными» устройствами.

Перенесемся в будущее, и ваш обычный домашний маршрутизатор с технической точки зрения представляет собой маршрутизатор, коммутатор, мост, брандмауэр /NAT, точку доступа WiFi, DNS-сервер пересылки и сервер DHCP в одном устройстве. Что может немного смущать, если вы не знакомы с сетевым языком. Обратите внимание, что большинство готовых маршрутизаторов - это не DNS-серверы, а DNS-серверы пересылки. Это просто означает, что они передают любые запросы DNS-серверу, который был выделен Интернет-провайдером через глобальные каналы DHCP.

Некоторые маршрутизаторы конечного потребителя действительно имеют возможность запускать приложение / службу DNS на маршрутизаторе. (Превращение маршрутизатора в DNS-сервер.) Цель этого состоит в том, чтобы людям в сети не приходилось запоминать номера IP, чтобы получить доступ к локальным ресурсам, набрав в формате домена. (myshare.mylocaldomain.net вместо чего-то вроде \\172.16.36.233 \share-media)

Когда вы заявили: «Я уже отредактировал мой маршрутизатор /etc /hosts, чтобы сделать это».

Я сделал обоснованное предположение, что

  1. Ваш DNS-сервер работает на маршрутизаторе, а не в отдельной коробке.

  2. у вас есть какой-то маршрутизатор на базе Linux, на котором запущено приложение / служба DNS.

  3. Вы правильно настроили локальную / приватную запись DNS

  4. ваш клиентский ПК либо содержит неверную или старую информацию кеша DNS, либо требует, чтобы DNS-адаптеры устанавливались автоматически. (многие люди используют Google DNS 8.8.8.8, статически настраивая адаптер)

Вы можете очистить кэш DNS несколькими способами, перезагрузить, очистить кэш вручную, и я также считаю, что средство устранения неполадок с подключением Windows также очищает его. Некоторые ОС очистят его, когда вы выключите адаптер, а затем снова включите его. Который я верю, что случилось в вашем случае.

Когда вы настраиваете DNS с маршрутизатора, он будет действовать как сервер для частной локальной сети, просматривая записи, которые были созданы. Если он не совпадает с записью в локальной таблице, он действует как сервер пересылки DNS для первого публичного DNS-сервера ISP, передавая запрос. Примечание. Некоторые маршрутизаторы автоматически создают локальные DNS-записи, основываясь на том, что клиенты устанавливают имя хоста, когда маршрутизатор выдает адрес DHCP.

При настройке Локального DNS-сервера (не на маршрутизаторе), все локальные клиенты должны либо иметь локально настроенный DNS-адаптер в адаптере, либо обслуживающее устройство DHCP передает правильные DNS-серверы для разрешения.

Вы должны установить список DNS в NIC следующим образом: 1. (192.168.1.x) IP-адрес локального DNS, где x - фактический хост, обслуживающий DNS. 2. Маршрутизатор или шлюз интернет-соединения. Обычно это 192.168.1.1 для домашнего сетевого оборудования.

Хосты пойдут вниз по списку, чтобы попытаться разрешить DNS-запросы. Сначала он будет смотреть на локальный DNS для любых совпадений. Если совпадений нет, он перейдет к следующему DNS-серверу.

При создании локального DNS-сервера и после настройки новых параметров DHCP. Вы должны всегда освобождать старую клиентскую аренду DHCP на стороне клиента и освобождать любую информацию, хранящуюся в кэше DNS.

Освободить кеш DNS в Windows;

  1. Нажмите Пуск. Введите cmd в текстовое поле поиска меню «Пуск».

  2. Щелкните правой кнопкой мыши командную строку и выберите «Запуск от имени администратора». Выполните следующую команду: ipconfig /flushdns.

Освободить кеш DNS в Linux;

  1. "$ sudo /etc/init.d/nscd restart" или

  2. "# service nscd restart" или

  3. "# service nscd reload"

Если я что-то пропустил, пожалуйста, оставьте мне комментарий. Извините за оригинал, я попытался немного обобщить его в надежде, что он не просто поможет вам, но, возможно, поможет кому-то еще в поиске. Надеюсь, это поможет объяснить это, и я вас больше не смутил.

С уважением,

0

Я не совсем понимаю, но я решил все проблемы, обновив аренду DHCP моего ноутбука.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .