На работе я могу пинговать и SSH-компьютеры по их IP или SMB-имени.

Если я попытаюсь сделать это дома (нет, я не пытаюсь получить доступ к внутренней сети офиса из дома), тогда ping / SSH по IP-адресу работает нормально, но имя SMB не удается.

(Просто чтобы уточнить, хосты появляются в smbtree и отвечают на эхо-запросы по IP, а не по имени SMB!).

На работе есть сервер PFSense, управляющий сетью. Дома это просто маршрутизатор Wireles на линии DSL. Все мои устройства в домашней сети - 192.168.1.x / 255.255.255.0, выданные DHCP.

Ниже приведен пример из моей домашней сети.

user@computer:~$ smbtree -N
WORKGROUP
    \\UBUNTU-PC             computer server (Samba, Ubuntu)
        \\UBUNTU-PC\print$          Printer Drivers
        \\UBUNTU-PC\IPC$            IPC Service (computer server (Samba, Ubuntu))
    \\FILESERVER            fileserver server (Samba, Ubuntu)
        \\FILESERVER\Storage            
        \\FILESERVER\Videos     
        \\FILESERVER\Photos         
        \\FILESERVER\IPC$               IPC Service (fileserver server (Samba, Ubuntu))
user@computer:~$ nmblookup fileserver
querying fileserver on 192.168.1.255
192.168.1.9 fileserver<00>
user@computer:~$ ping fileserver
ping: unknown host fileserver
user@computer:~$ ssh fileserver
ssh: Could not resolve hostname fileserver: Name or service not known

$ ifconfig с моего домашнего компьютера

eth0      Link encap:Ethernet  Endereço de HW xx:xx:xx:xx:xx:xx  
          inet end.: 192.168.1.10  Bcast:192.168.1.255  Masc:255.255.255.0
          endereço inet6: xxxxxxxxxxxxxxx/64 Escopo:Global
          endereço inet6: xxxxxxxxxxxxxxx/64 Escopo:Global
          endereço inet6: xxxxxxxxxxxxxxx/64 Escopo:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Métrica:1

1 ответ1

2

Правильный способ использования разрешения имен SMB на компьютере с Linux состоит в том, чтобы отредактировать (как su) файл /etc/nsswitch.conf и убедиться, что строка, начинающаяся с хостов, содержит выигрыши, например, так:

 hosts:          files wins mdns4_minimal [NOTFOUND=return] dns

Конечно, вы не сможете связаться с любым компьютером, на котором не установлен сервер SMB, например, с машиной Linux, на которой samba не была загружена, установлена, а имя NetBIOS не было указано в /etc/samba/smb.conf. файл следующим образом:

 workgroup = WORKGROUP
 NetBIOS name = MyPCName

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .