Доменное имя состоит только из чисел, например 300010100. Если я попытаюсь проверить связь с именем только без FQDN, оно вернет очень странный IP-адрес, 0.154.29.62, и выдаст ошибку передачи. Если я добавлю .local в конец имени, 300010100.local, то он будет нормально пинговать. Моя проблема в том, что у меня есть клиент, который пытается установить MS Management Reporter 2012, и поскольку он пытается использовать только имя вместо полного доменного имени, и поскольку только имя нельзя изменить, мы не можем установить программное обеспечение. Как получить номер только для того, чтобы правильно пинговать?
Проблема, скорее всего, в том, что число интерпретируется как десятичный эквивалент IP-адреса, разделенного точками. Самый простой способ подтвердить - открыть nslookup
client и повторите там свои тесты. Это одна из причин, почему чисто числовые метки DNS - плохая идея; библиотеки резолвера принимают ввод IP-адресов и Сущности DNS и будут склонны ошибаться в пользу передачи представлений IP-адресов через неизмененные. Только инструменты, ориентированные на DNS, такие как nslookup
и dig
которые обходят библиотеку преобразователя и Предположим, что ввод следует интерпретировать, поскольку имя будет освобождено от этого.
Обходной путь: Используйте полное имя. (300010100.contoso.com
вместо того 300010100
) Это заставляет преобразователь интерпретировать входные данные как объект DNS и позволяет избежать нежелательного преобразования в IP-адрес. Если вы окажетесь в странном сценарии, где 300010100
является полное доменное имя и отсутствие компонента домена, добавьте точку в конце. (300010100.
Завершающая точка сообщает преобразователю, что это полное имя, и заставляет интерпретировать целое число как имя.
(Следует отметить, что моя рабочая станция Windows 7 переводит 300010100 в 17.225.202.116 с помощью команды ping, и мне нужно значение 10100030, чтобы воспроизвести ваш результат 0.154.29.62. Возможно, в вашем вопросе есть запутывание?)