Имя домена состоит только из цифр, пример 300010100. Если я попытаюсь пропинговать имя только без полного доменного имени, он ответит очень странным IP-адресом, 0.154.29.62 и выдаст ошибку передачи. Если я добавлю .local в конец имени, 300010100.local, то он будет нормально пинговать. Моя проблема в том, что у меня есть клиент, который пытается установить MS Management Reporter 2012, и поскольку он пытается использовать только имя вместо полного доменного имени, и поскольку только имя нельзя изменить, мы не можем установить программное обеспечение. Как я могу получить номер только для правильной проверки связи?
Проблема, скорее всего, в том, что номер интерпретируется как десятичный эквивалент IP-адреса, разделенного точками. Самый простой способ подтвердить это открыть клиент nslookup
и повторить там свои тесты. Это одна из причин, почему чисто числовые метки 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. Возможно, в вашем вопросе есть запутывание?)