Есть ли способ определить имя машины без касания «/ etc / hosts»?

Учитывая, что я нахожусь в локальной сети, которая назначает IP-адреса с помощью DHCP (и я не являюсь его администратором), как мне настроить такие вещи, что когда я ping <hostname> (вместо ping <IP address> , я делаю получить что-то обратно, не добавив совпадения в «/ etc / hostname»)? Нужно ли мне делать это изменение в отдельных местах для веб-и для ssh-сервера?

Мне интересно, потому что я думаю, что было время, когда я мог это сделать без каких-либо попыток «/ etc / hosts» (или я ошибаюсь?). Проблема с этим файлом заключается в том, что мне придется делать это на каждом клиенте, который хочет использовать сопоставление «имя-на-IP», и постоянно менять его, если изменяется какой-либо IP-адрес.

На самом деле вопрос: есть ли инструмент, который может выполнять сетевое обнаружение имен хостов (конечно, соответствует их IP-адресам).

4 Solutions collect form web for “Есть ли способ определить имя машины без касания «/ etc / hosts»?”

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

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

Другой, более старый метод – сервер NIS. Но они не очень распространены. Вы можете попробовать ypcat hosts и посмотреть, вернет ли вам что-то.

Другим является zeroconf, где хосты, которые поддерживают его, транслируют свое имя, и вы можете запустить службу, которая кэширует их (пакет Avahi делает это. Если у вас есть это, тогда ping <hostname>.local может работать для вас уже. каждый узел также будет поддерживать это. Вы также можете попробовать выполнить запрос с помощью средств avahi: avahi-resolve-host-name <hostname>.local и написать сценарий, который обновит / etc / hosts, если обычный распознаватель не работает.

Таким образом, нет другого «волшебного» места для получения имен хостов. Кто-то должен будет определить это сопоставление или сделать его динамически доступным. Если ваш системный администратор не сделал этого или нет, вы должны это сделать. И единственным местом, где вы можете сделать это для вашей локальной машины, является файл / etc / hosts. Поэтому, если ни один из вышеперечисленных методов не работает, вы застряли в этом. Сожалею.

Вы, возможно, думали о zeroconf ? Zeroconf – это набор протоколов для установления IP-соединения между двумя или более машинами и обнаружения сервисов. К сожалению, в области zeroconf существует несколько протоколов разрешения имен, поэтому его цель быть полностью кросс-платформенной не реализована полностью. Но если все машины работают с одной и той же операционной системой, это не проблема. Основным целевым вариантом использования zeroconf является две машины, соединенные перекрестным кабелем, но они также работают в локальной коммутируемой сети.

Наиболее распространенной версией zeroconf для Linux является Avahi . В Debian или Ubuntu установка avahi-daemon должна быть достаточной, чтобы начать работу. Другие пакеты также могут быть полезны (в частности avahi-autoipd если вы хотите согласовать IP-адреса в сети, которая не поддерживает DHCP-сервер, avahi-discover для просмотра доступных сервисов).

Здесь вам поможет сервер DNS. Вы можете настроить клиентов на получение IP-адреса от DHCP и использовать динамические DNS, чтобы клиенты могли обновлять DNS-сервер при получении нового IP-адреса.

См. Следующую ссылку для примера с сервером dns BIND.

в то время как не 100% вы можете попробовать.

 ping <hostname>.local 

Я знаю, что это работает при поиске хостов OSX или Ubuntu.

  • Debian Jessie: Моя локальная сеть не работает!
  • masscan. как настроить Linux?
  • TCP SYN, ACK Retransmissions
  • Локальное разрешение имен компьютеров с нулевой конфигурацией от linux до windows
  • Сценарий оболочки для разблокировки гнома-ключа для школьного интернета при входе в систему
  • Почему после перезагрузки мои правила iptables не появляются в соответствующем списке?
  • Redhat Enterprise Linux 4.7 - проблема с Ping
  • От 192.168.0.146 icmp_seq = 1 Destination Host Unreachable
  • Назначение конкретного IP-приложения
  • Доступ к каталогу Linux на компьютере с Windows 7 через WAN
  • Переключитесь на указанную сеть Wi-Fi через bash на Mac
  • Linux и Unix - лучшая ОС в мире.