Не удаётся получить доступ к ПК по имени, но можно по IP-адресу.

Вопрос или проблема

У меня сейчас проблема: мои компьютеры B и C могут получить доступ к компьютеру A по имени (то есть \\computerA), но компьютер D не может использовать имя.

Компьютер D может получить доступ к A только по IP-адресу (то есть \\192.168.0.xxx).

Компьютер D использует Windows 10, а A использует Windows XP.

Это не большая проблема, но я хотел бы решить её и всегда использовать имя компьютера.

Убедитесь, что ваш Network Discovery включен. Вот шаги для его включения (основано на Windows 10):

  1. Перейдите в Панель управления, открыв Расширенные параметры общего доступа (через кнопку Пуск).
  2. Введите сеть и откройте Центр управления сетями и общим доступом и выберите Изменить дополнительные параметры общего доступа.
  3. Включите сетевое обнаружение и Сохраните изменения.

Смотрите: Что такое сетевое обнаружение?

Также важно при подключении к сети выбрать тип Сетевого расположения, например: Домашняя, Рабочая, Публичная или Домена. На основе этого Windows присваивает состояние сетевого обнаружения и настраивает порты Брандмауэра Windows для этого состояния.

Лучше всего выбрать Домашнюю сеть, где Сетевое обнаружение включено, что позволяет видеть другие компьютеры и устройства и позволяет другим пользователям сети видеть ваш компьютер в сети.

Вы можете изменить местоположение, выбрав опцию в Центре управления сетями и общим доступом (либо Рабочая сеть, Домашняя сеть или Публичная сеть).

Центр управления сетями и общим доступом - щелкните Рабочая сеть, Домашняя сеть или Публичная сеть, затем выберите местоположение сети, которое вы хотите

Смотрите: Выбор сетевого расположения

Если ваш компьютер виден через \\192.168.0.xxx), то ваша локальная сеть должна работать, так что, возможно, вам просто нужно перезайти в подходящую Рабочую группу. Если дело в обнаружении имени, вам следует проверить, соответствует ли ваш IP-адрес вещания.


Поиск и устранение неисправностей

В случае, если это все еще не работает, проверьте, что:

  • вы отключили любой другой брандмауэр (в целях тестирования временно отключите антивирус),
  • ваш компьютер отвечает на пинги с других компьютеров, например, в командной строке (измените IP на ваш актуальный IP):

    ping 192.168.0.2
    ping 192.168.0.3
    
  • вы подключены к той же сети,

  • ваш IP находится в том же диапазоне (и ваша маска сети совпадает),

    Это необходимо для того, чтобы пакеты вещания отправлялись на тот же IP-адрес вещания (например, 192.168.255.255).

    Все компьютеры должны находиться в одной локальной сети или подсети.

  • компьютеры находятся в одной рабочей группе и домашней группе (может быть необязательно),

  • проверьте, открыты ли на вашем компьютере порты обмена файлами (порты 139 и 445), например:

    telnet 192.168.0.xxx 139
    telnet 192.168.0.xxx 445
    

    Если telnet отсутствует, установите его через (запустите как администратор):

    dism /online /Enable-Feature /FeatureName:TelnetClient
    
  • вы включили Поддержку общего доступа к файлам CIFS в Функции Windows

  • перезайдите или перезагрузите компьютер, чтобы ваш компьютер смог войти в локальную сеть

Решением, которое сработало для меня, было:

Добавить IP и имя общего доступа в файл хостов клиента. Например:

192.168.0.100 сервер

Или в виде пакетного файла (запустите как администратор)

@echo off 

SET NEWLINE=^& echo.

FIND /C /I "servername" %WINDIR%\system32\drivers\etc\hosts

IF %ERRORLEVEL% NEQ 0 ECHO %NEWLINE%^ 192.168.1.100 server>>%WINDIR%\System32\drivers\etc\hosts 

Пометьте, строка выше — это место, где вы добавляете имя OP и сервера.

Одним из способов, которым мне удалось решить эту проблему, было остановить и запустить службу обозревателя компьютера через services.msc.

  1. Windows + R
  2. Введите Services.msc и нажмите Enter.
  3. Найдите службу обозревателя компьютера.
  4. Остановите и запустите службу.

В моем случае сервер, к которому я пытался подключиться, плохо управлял IPv6, поэтому я отключил IPv6 на своем ПК и смог подключиться по имени хоста без проблем.

Попробуйте пинговать сервер по IP и по имени хоста.

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


Для отключения IPv6 в Windows 11 я следовал следующим шагам:

  1. Меню Пуск –> Просмотр сетевых подключений
  2. Щелкните правой кнопкой мыши на вашем сетевом адаптере и выберите свойства
  3. Найдите “Интернет-протокол версии 6 (IPv6)” и снимите его флажок.
  4. Нажмите “Окей” и перезагрузите компьютер

У меня была эта проблема в сети домена разработки, и решение заключалось в том, чтобы убедиться, что все компьютеры в домене синхронизировали время с контроллером домена. Ранее у меня были проблемы с синхронизацией времени, поэтому я сдался и настроил часы на каждом ПК/сервере вручную с отключенной службой w32time.

Решением было синхронизировать их с DC следующим образом. Первые два шага могут быть не нужны, если у вас уже запущена служба

C:\Users\Administrator.DEV>w32tm /register  
W32Time успешно зарегистрирован.    
    
C:\Users\Administrator.DEV>net start w32time    
Служба времени Windows запускается.   
Служба времени Windows успешно запущена.  
    
    
C:\Users\Administrator.DEV>w32tm /config /update /manualpeerlist:10.5.0.2 /syncfromflags:MANUAL 
Команда успешно завершена. 
    
C:\Users\Administrator.DEV>w32tm /resync    
Отправка команды повторной синхронизации на локальный компьютер    
Команда успешно завершена. 

Обратите внимание, что 10.5.0.2 был IP-адресом контроллера домена

Я считаю, что сейчас MS не доверяет компьютерам, когда время выглядит неверно. Это актуально при доступе к общим ресурсам UNC, а также при подключении через RDP. До исправления я мог подключиться по IP-адресу с помощью UNC или RDP, но не по имени компьютера или хосту.

Я также обнаружил, что мне нужно было несколько раз запустить последнюю команду /resync, прежде чем она вступит в силу, и некоторые компьютеры нуждались в перезагрузке, прежде чем доступ через UNC стал возможен, но все в конце концов решилось этим методом.

Я знаю, что это очень старый вопрос, но я также знаю, что люди все еще сталкиваются с этой проблемой. Главный ответ затронул это в самом конце своего поста, но я не думаю, что было уделено достаточно внимания тому, насколько это важно. Проблема в том, что Windows XP работает на SMB 1.0 и не поддерживает SMB 2.0.

Windows 10 работает на SMB 2.0 и не поддерживает SMB 1.0 без включения его в разделе добавления/удаления программ. Это фундаментальное несоответствие между двумя операционными системами.

На системе Windows 10 удерживайте клавишу Windows и нажмите R, введите appwiz.cpl и нажмите Enter. Нажмите “Включение или отключение компонентов Windows” и прокрутите вниз до SMB 1.0. Нажмите + рядом с ним и включите клиент SMB 1.0/CIFS, затем дождитесь завершения и перезагрузите.

Имейте в виду, что это введет уязвимость безопасности в систему Windows 10, но вам потребуется сделать это для доступа к общим ресурсам на этой системе Windows XP. После этого вы сможете подключиться по имени компьютера или IP-адресу.

Если имя компьютера не работает, это, вероятно, сбой в вашем роутере, и его нужно будет перезагрузить. Лично я предпочитаю подключаться ко всему по IP-адресу. Если это все же не работает, вам может потребоваться предоставить учетные данные на машине с Windows 10 для подключения к машине с Windows XP.

У меня возникла такая же проблема с одним конкретным компьютером, и все остальные компьютеры в той же сети подключались прекрасно, как по имени ПК, так и по IP.

Этот проблемный компьютер подключался по IP, но не по имени ПК. И при выполнении пинга по этому имени ПК возвращался правильный IP, и пинг проходил. Все это было очень странно.

Проводя дополнительные исследования, я обнаружил, что у меня был неправильный (старый) IP-адрес, закрепленный за этим ПК (именем хоста) в моем файле lmhosts по следующему пути:

C:\Windows\System32\drivers\etc\lmhosts

Я удалил это, а также проверил наличие неправильных записей в файле hosts по пути:

C:\Windows\System32\drivers\etc\hosts

Провел перезагрузку, но все еще не было подключения. Я попробовал все, что можно было придумать, кроме изменения имени компьютера, и я не из тех, кто легко сдается. У меня не было намерения переименовать этот компьютер, но я решил попробовать. И он подключился!

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

.

Ответ или решение

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

Диагностика проблемы:

  1. Проверка сети и конфигурации: Убедитесь, что все компьютеры (в вашем случае, A, B, C и D) находятся в одной рабочей группе. Это важно для правильной работы механизмов разрешения имен в локальной сети.

  2. Настройка сетевого окружения: На компьютере D проверьте, включено ли обнаружение сети (Network Discovery). Этот параметр можно изменить через Панель управления: зайдите в "Центр управления сетями и общим доступом" и откройте "Изменить дополнительные параметры общего доступа". Убедитесь, что обнаружение сети включено.

  3. Влияние сетевых профилей: Убедитесь, что сеть настроена как "Домашняя" или "Рабочая", а не "Общедоступная". Это важно, так как в "Общедоступном" профиле многие функции общего доступа отключены для безопасности.

  4. Диагностика протоколов и фаерволов:

    • Временно отключите антивирус и фаервол, чтобы исключить их влияние на сетевые соединения.
    • Проверьте, открыты ли нужные порты для файлового обмена (TCP 139 и 445) с помощью команды telnet.
  5. Проблемы с SMB: На компьютере A установлена Windows XP, которая использует протокол SMB 1.0. В Windows 10 SMB 1.0 по умолчанию отключен по соображениям безопасности. Для совместимости необходимо включить клиент SMB 1.0/CIFS на компьютере D: зайдите в "Программы и компоненты", выберите "Включение или отключение компонентов Windows" и активируйте SMB 1.0/CIFS Client.

  6. Файлы hosts и lmhosts: Проверьте файлы hosts и lmhosts на наличие неверных записей, особенно на компьютере D. Удалите или измените имеющиеся записи неправильных IP-адресов.

Практические шаги по устранению проблемы:

  • Добавление в файл hosts: Если имен не разрешается, добавьте запись в файл hosts на машине D. Например, 192.168.0.100 computerA.
  • Настройка времени: Убедитесь, что время на всех компьютерах синхронизировано. В корпоративных сетях часто используется контроллер домена для синхронизации времени.
  • Перезапуск служб: Откройте services.msc и перезапустите службу Computer Browser. Это часто помогает восстановить разрешение имен в рабочих группах.

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

Оптимизация сети и устранение проблем с разрешением имен повысит эффективность работы вашей IT-инфраструктуры, что имеет особую значимость в современных бизнес-процессах.

Оцените материал
Добавить комментарий

Капча загружается...