Как разрешать имена хостов с помощью Raspbian 5/5/2015?

Я относительно новичок в Linux и падаю на дерево и ударяю каждую ветку по пути вниз (кажется).

Я пытаюсь поделиться диском NTFS или каталогом на диске с помощью samba, и я нашел несколько руководств, которые показывают, что это выполняется всего за несколько минут (минус обновления и установки пакетов). Мне около 3 недель, и я не могу заставить его работать. В настоящее время другие компьютеры в сети не могут разрешить имя хоста, и я считаю, что это основная причина ошибки 0x80070035.

Если я использую IP-адрес так: \\ 192.168.1.xx \, я могу увидеть общий доступ к ним и получить запрос на имя пользователя / пароль. Однако после ввода имени пользователя и пароля я получаю код ошибки: 0x80070035 Сетевой путь не найден (фото на вопрос SuperUser). Я начал этот вопрос в SuperUser, и он заглох, поэтому я полагаю, что пришел сюда и спрошу, что можно сделать обо всем этом.


Учебники, которые я использовал

Учебник 1 – Raspberry Pi NAS: постройте сервер Pib Samba Raspberry Pi

Учебное пособие 2 – Как превратить малину Pi в сетевое запоминающее устройство с низким энергопотреблением

Учебник 3 / Youtube DIY – Малина Pi как NAS с Samba – Как сделать


Вопросы и исследования

Как n00b начинает устранять проблему samba? Есть ли учебник, который поможет мне получить эту работу?

Я уже сжег новый образ raspbian и начал с нуля, и это не помогло. Мне не нужно использовать avahi / Bonjour, так как я использую samba / netbios, и я не хочу использовать модификации файлов HOSTS, так как у меня есть несколько машин, с которыми я хочу использовать это. Учитывая тот факт, что есть пакеты и учебные пособия, я смущен, почему я не могу запустить это и почему у меня такие трудности. Особенно учитывая однородность инструкций.

nsswitch.conf

# /etc/nsswitch.conf # # Example configuration of GNU Name Service Switch functionality. # If you have the `glibc-doc-reference' and `info' packages installed, try: # `info libc "Name Service Switch"' for information about this file. passwd: compat group: compat shadow: compat hosts: files mdns4_minimal dns mdns4 wins [NOTFOUND=return] networks: files protocols: db files services: db files ethers: db files rpc: db files netgroup: nis 

пинг из малины пи:

 $ ping -c3 raspberrypi PING raspberrypi (127.0.1.1) 56(84) bytes of data. 64 bytes from raspberrypi (127.0.1.1): icmp_req=1 ttl=64 time=0.208 ms 64 bytes from raspberrypi (127.0.1.1): icmp_req=2 ttl=64 time=0.200 ms 64 bytes from raspberrypi (127.0.1.1): icmp_req=3 ttl=64 time=0.240 ms --- raspberrypi ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2003ms rtt min/avg/max/mdev = 0.200/0.216/0.240/0.017 ms 

smb.conf

 [global] workgroup = WORKGROUP # NetBIOS name = raspberrypi server string = %h server dns proxy = no log file = /var/log/samba/log.%m max log size = 1000 syslog = 0 panic action = /usr/share/samba/panic-action %d security = user encrypt passwords = true passdb backend = tdbsam obey pam restrictions = yes unix password sync = yes passwd program = /usr/bin/passwd %u passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n$ pam password change = yes map to guest = bad user usershare allow guests = yes [homes] comment = Home Directories browseable = no read only = yes create mask = 0700 directory mask = 0700 valid users = %S [printers] comment = All Printers browseable = no path = /var/spool/samba printable = yes guest ok = no read only = yes create mask = 0700 [print$] comment = Printer Drivers path = /var/lib/samba/printers browseable = yes read only = yes guest ok = no [Shares] comment = Shares Folder path = '/media/80Gigger/shares' browsable = yes read only = no 

Fstab

 proc /proc proc defaults 0 0 /dev/mmcblk0p1 /boot vfat defaults 0 2 /dev/mmcblk0p2 / ext4 defaults,noatime 0 1 #/dev/sda1 /media/USB auto gid=1002,uid=1001 0 0 # a swapfile is not a swap partition, so no using swapon|off from here on, use dphys-swapfile swap[o$ 

Обновление 1

и т.д. \ хостов

 127.0.0.1 localhost ::1 localhost ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters 127.0.1.1 raspberrypi 

Обновление 2

Компьютер Windows не подключен к домену. Файл pi имеет имя хоста по умолчанию и файл hosts. Когда вы говорите «возиться с», что я должен изменить?

 $ hostname raspberrypi $ nmblookup raspberrypi querying raspberrypi on 192.168.1.255 192.168.1.14 raspberrypi<00> $ nmblookup -M -- - querying __MSBROWSE__ on 192.168.1.255 192.168.1.14 __MSBROWSE__<01> $ smbclient -L 192.168.1.14 Enter pi's password: Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.6.6] Sharename Type Comment --------- ---- ------- print$ Disk Printer Drivers Shares Disk Shares Folder IPC$ IPC IPC Service (raspberrypi server) Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.6.6] Server Comment --------- ------- D-WHALEY2 LAPTOP RASPBERRYPI raspberrypi server Workgroup Master --------- ------- WORKGROUP RASPBERRYPI 

Обновление 3

Я раскомментировал поле NetBios в малине pi, и теперь я получаю другую ошибку в проводнике Windows; ошибка 0x80004005. Я получаю эту ошибку, если попытаюсь перейти к \ raspberrypi \. Я нашел этот вопрос, который описывает много аспектов ошибки. Однако я нашел только один адаптер Microsoft 6to4. Удаление и перезапуск не повлияли.

Я все еще получаю ошибку 0x80070035, если я перехожу к \ 192.168.1.14 \ и введите соответствующие учетные данные.

У меня ipv6 отключен на ноутбуке Windows 7. Я не думаю, что это повлияло бы на это явление.

На малине pi я не могу пинговать имя машины Windows и не могу получить доступ к ресурсу samba на машине Windows 7. Я не уверен, что PCMANFM может это сделать, но это, безусловно, не работает.

Обновление 4

Теперь у меня работает samba и разрешено видеть файлы в общей папке, хотя у меня все еще нет работы с разрешением имени. Прогресс! Спасибо всем за помощь!

Кажется, я борюсь более чем с одной проблемой, и я просто решил получить доступ к проблеме с долями. Приводу нужна постоянная точка монтирования для чтения / записи для samba, поэтому мне пришлось изменить файл fstab. Кроме того, казалось, что когда я удалил пробел в имени тома, я оставил одинарные кавычки вокруг клятвы в файле smb.conf и просматривал журнал samba, что вызывало проблемы, поэтому мне пришлось редактировать это тоже ,

Я все еще не могу разрешить имя pi для IP, проверив его, хотя я попытаюсь расшифровать нижеприведенный ответ, который, похоже, поможет.

Я повторно сделал smbpasswd для учетной записи, которую я использую, на всякий случай, когда я забыл сделать это ранее:

sudo smbpasswd -a backups

это мой новый файл hosts:

 127.0.0.1 raspberrypi localhost ::1 raspberrypi localhost ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters #127.0.0.1 raspberrypi #127.0.1.1 raspberrypi 

Это мой файл fstab:

 proc /proc proc defaults 0 0 /dev/mmcblk0p1 /boot vfat defaults 0 2 /dev/mmcblk0p2 / ext4 defaults,noatime 0 1 /dev/sda1 /media/80Gigger auto gid=1002,uid=1001 0 $ # a swapfile is not a swap partition, so no using swapon|off from here on, use $ 

Это мой новый smb.conf:

 [global] workgroup = WORKGROUP #netbios name = raspberrypi server string = %h server dns proxy = no log file = /var/log/samba/log.%m max log size = 1000 syslog = 0 panic action = /usr/share/samba/panic-action %d security = user encrypt passwords = true passdb backend = tdbsam obey pam restrictions = yes unix password sync = yes passwd program = /usr/bin/passwd %u passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n$ pam password change = yes map to guest = bad user usershare allow guests = yes [homes] comment = Home Directories browseable = no read only = yes create mask = 0700 directory mask = 0700 valid users = %S [printers] comment = All Printers browseable = no path = /var/spool/samba printable = yes guest ok = no read only = yes create mask = 0700 [print$] comment = Printer Drivers path = /var/lib/samba/printers browseable = yes read only = yes guest ok = no [Shares] comment = Shares Folder path = /media/80Gigger/shares browsable = yes 

  • Проблема с samba share Ubuntu server 12.04
  • Разрешения на запись файлов, но не чтение, перезапись или изменение
  • Не удается подключиться к приводу Samba в CentOS 6.3
  • mv «Не каталог», когда имя цели слишком длинное
  • windbind NT_STATUS_INVALID_COMPUTER_NAME
  • Доступ к ресурсу SMB без пароля
  • Что такое использование файла учетных данных в многопользовательской samba?
  • Разрешить проблему разрешения cifs в глубоком каталоге, возможно, из-за разделения UNC и prefixpath
  • 3 Solutions collect form web for “Как разрешать имена хостов с помощью Raspbian 5/5/2015?”

    Если вы скажете «ping raspberrypi», он не будет использовать тот же способ, что и поиск имени, как это делают ваши машины Windows … возможно . То есть, протоколы SMB / CIFS имеют три способа поиска имен, но два других действительно используются, только если вы настроили домен, который вы не делаете.

    Это означает, что вам нужно выполнять поиск имен, хотя протокол NMB. Samba по умолчанию использует имя хоста локального компьютера (выход команды hostname ) в качестве имени NMB. Попробуйте запустить это и убедитесь, что это имя хоста, которое вы ожидали. Если это не так, поиграйте с /etc/hosts пока это не произойдет. Возможно, вам также придется исправить / etc / hostname (но обратите внимание, что изменения в последнем файле не являются живыми, если вы запускаете сценарий инициализации hostname или перезагружаетесь).

    Инструмент samba для поиска NMB называется, неудивительно, nmblookup . Запустите это на малине pi с выводом имени hostname качестве аргумента и убедитесь, что он соответствует ip-адресу малины pi. Если это не так, опубликуйте вывод. Если это так, но ip-адрес предшествует шестнадцатеричным числом между угловыми скобками (<>), это нормально (шестнадцатеричный номер является типом результата, существует много возможных типов результатов).

    Протокол NMB довольно ужасен, частично потому, что он хочет выбрать хост главного браузера, который не всегда работает правильно. Попробуйте запустить nmblookup -M -- - (т. nmblookup dash-capital m-space-dash-dash-space-dash. Да, это уродливо). Это сделает поиск главного браузера. Обратите внимание на адрес IP, который вы возвращаете. Запустите smbclient -L ip , где ip – это ip-адрес. Убедитесь, что указана ваша малина pi. Если это не так, вы можете попытаться дать малине pi лучший шанс выиграть главный выбор браузера, указав preferred master = yes в smb.conf . Однако, если вы используете домен, не делайте этого (хозяин домена должен быть главным браузером, иначе логины домена не удастся).

    Если вы используете Windows 7 или выше, подключенную к домену, то по умолчанию Windows больше не будет выполнять поиск в NMB. В этом случае вам может потребоваться установить некоторые ключи реестра, чтобы изменить эти значения по умолчанию (эти ключи можно найти в вики Samba). Кроме того, вы можете присоединиться к малине pi в домене Windows, что избавит от необходимости использования NMB.

    Это может указывать на вас в правильном направлении, но может не решить проблему. Демонстрации DHCP и DNS на маршрутизаторах могут испортить ситуацию. В моем случае у меня была такая же проблема с openuse и raspberypi. Вот все шаги, которые я сделал:

    1. mymacnine файл хоста / etc / hostname mymacnine попробовал mycmachine.domain Ни работало.
    2. Разбито с resolv.conf Работало до тех пор, пока что-то не было обновлено или не удалено на компьютере Windows
    3. Установлено, что мой WRT1900ac имеет место, где вы подписываете доменное имя и выполняете его, работает каждый раз.

    Кто-то указал, что ваше имя NetBIOS закомментировано.

    Решение

    Я не могу представить это в комментарии, но я хочу, чтобы вы увидели рабочий файл hosts (из моей рабочей установки Gentoo):

     # /etc/hosts: Local Host Database # # This file describes a number of aliases-to-address mappings for the for # local hosts that share this file. # # In the presence of the domain name service or NIS, this file may not be # consulted at all; see /etc/host.conf for the resolution order. # # IPv4 and IPv6 localhost aliases 127.0.0.1 bedroom-gentoo.myISP.net bedroom-gentoo localhost ::1 bedroom-gentoo.myISP.net bedroom-gentoo localhost # # Imaginary network. #10.0.0.2 myname #10.0.0.3 myfriend # # According to RFC 1918, you can use the following IP networks for private # nets which will never be connected to the Internet: # # 10.0.0.0 - 10.255.255.255 # 172.16.0.0 - 172.31.255.255 # 192.168.0.0 - 192.168.255.255 # # In case you want to be able to connect directly to the Internet (ie not # behind a NAT, ADSL router, etc...), you need real official assigned # numbers. Do not try to invent your own network numbers but instead get one # from your network provider (if any) or from your regional registry (ARIN, # APNIC, LACNIC, RIPE NCC, or AfriNIC.) # 

    Обратите внимание, что адрес localhost 127.0.0.1 может разрешаться для нескольких имен.

    1. Полное доменное имя (2-й столбец), если приложения требуют его. (Это объясняется в ссылках, предоставленных OP).
    2. My MachineName (3-я колонка).
    3. Локальный хост (4-я колонна).

    Также обратите внимание, что я не делаю различий между IPv4 и IPv6


    Этот формат устраняет необходимость 127.0.1.1 решения для 127.0.1.1 . Поскольку я не хочу, чтобы моя машина была замечена другими в моей сети, я оставил комментарий в разделе мнимой сети, но если бы я хотел сделать это, я бы добавил (если бы у меня были ваши устройства):

     # # Real Network 192.168.1.14 raspberrypi.myISP.net raspberrypi 192.168.1.x D-WHALEY2.myISP.net D-WHALEY2 192.168.1.xx LAPTOP.myISP.net LAPTOP # Imaginary Network #10.0.0.2 myname #10.0.0.3 myfriend # 

    Чтобы сделать эту работу каждый раз, я должен войти в мой маршрутизатор и назначить с помощью фильтрации MAC-адресов и удалить 127.0.1.1 из файла Raspian hosts . Это нужно сделать только один раз: (MAC-адрес разрешает статический IP-адрес)

    1. MAC-адрес Pi -> 192.168.1.14
    2. MAC-адрес D-WHALEY2 -> 192.168.1.x
    3. MAC-адрес LAPTOP -> 192.168.1.xx

    Это гарантирует, что при каждом запуске устройства в сети ему присваивается адрес, соответствующий вашему файлу hosts . Это также устраняет необходимость разрешения компьютерами Windows внутренних адресов.


    проблема

    В Windows возникают проблемы с разрешением адреса для вашего Pi по двум причинам:

    1. 127.0.1.1 не является действительным внутренним адресом, в соответствии с RFC 1918 , замененным RFC 6761 . См. Также комментарии в файле hosts .
    2. Поскольку у Windows есть файл hosts, который не содержит адрес 127.0.1.1 , он рассматривает его как другой адрес локального хоста (см. Кто выбрал 127.0.0.1 для localhost и почему? Какое значение имеет это? ), Почему. Такое поведение приводит к ошибкам, описанным ОП.

    Короче говоря, это проблема с Windows и «особенностью» дистрибутивов на основе Debian. Удаление «функции» и настройка маршрутизатора на «исправление» проблемы в Windows должны позволить Samba подключаться

    Interesting Posts
    Linux и Unix - лучшая ОС в мире.