Назад | Перейти на главную страницу

где хранится мое имя хоста LAN

Когда я настраиваю hostname на компьютере, который я могу посмотреть так:

$ hostname
example

а затем ping или ssh с другого компьютера в той же локальной сети:

$ ssh example
user@example's password:

Где мой другой компьютер ищет адрес для этого имени хоста? Прежний компьютер как-то прописывает его в роутере? Второй компьютер просто спрашивает каждый IP-адрес в локальной сети: «Вы? example? "?

Второй компьютер, кажется, знает IP-адрес, соответствующий example даже если я отключу example. Эта информация кэшируется на втором компьютере? Или делает hostnamectl как-нибудь зарегистрируйте это имя хоста в роутере.

И если я сейчас подключу эти компьютеры к другой сети, смогут ли они найти друг друга по этим именам хостов?

Как все это работает?

Есть несколько способов:

  • Сеть без конфигурации протоколы с использованием многоадресной IP-рассылки (RFC 1112) отправляет UDP-пакеты по специальным адресам, которые многие устройства в локальной сети рассматривают как отправленное им сообщение. Следовательно, нет необходимости спрашивать каждый IP-адрес в сети. Они также используют зарезервированные MAC-адреса для пакетов, которые пересылаются на каждый порт коммутатора.

    • Многоадресный DNS (mDNS, RFC 6762)

      • UDP порт 5353
      • IPv4 224.0.0.251 / MAC 01:00:5E:00:00:FB
      • IPv6 ff02::fb / MAC 33:33:00:00:00:FB
    • Link-Local Multicast Name Resolution (LLMNR, RFC 4795)

      • UDP порт 5355
      • IPv4 224.0.0.252, MAC 01:00:5E:00:00:FC
      • IPv6 ff02::1:3, MAC 33-33-00-01-00-03
  • В Протокол динамического конфигурирования сервера (DHCP) может быть задействован:

    • DNS-суффикс для конкретного подключения, Параметр DHCP 15 (RFC 2132, 3.17) дает клиенту доменное имя, которое будет добавлено в качестве суффикса к этим запросам без полного доменного имени. Следовательно, ваш example может стать example.example.com который используется для запроса DNS.

    • Возможно автоматическое обновление DNS с помощью Параметр полного доменного имени DHCP-клиента (RFC 4702).

  • NetBIOS. См. Например Роберт Л. Бог: Как на самом деле работает разрешение имен NetBIOS.

  • Протокол разрешения одноранговых имен (PNRP). Технология Microsoft требует IPv6.

На клиентском (с) компьютере запустите "grep hosts /etc/nsswitch.conf"

Это сообщит вам местоположение и порядок, в котором система будет искать имена хостов. Обычно вы увидите что-то вроде:

хосты: файлы dns

Это означало бы, что он просматривает файл / etc / hosts, а затем запрашивает dns. Если бы вместо этого было сказано:

хосты: файлы DNS

Затем он будет искать DNS, а затем локальный файл / etc / hosts.

Есть и другие возможности для этой записи, так что посмотрите, что вы сможете найти!