Raspbian 5/5/2015を使用してホスト名を解決するには?

Raspbian 5/5/2015を使用してホスト名を解決するには?

NTFSドライブまたはSambaを介してドライブのディレクトリを共有しようとしていましたが、わずか数分で(アップデートとパッケージのインストールを除く)これを行う方法を示すいくつかのチュートリアルが見つかりました。 3週間ほど使ってみましたが動作しませんね。 現在、ネットワーク上の他のコンピュータはホスト名を解決できません。これがエラー0x80070035の根本原因であると考えられます。

\\ 192.168.1.xx \などのIPアドレスを使用すると、共有の「共有」が表示され、ユーザー名/パスワードの入力を求められます。ただし、ユーザー名とパスワードを入力すると、次のエラーコードが表示されます。0x80070035 ネットワークパスが見つかりません。(スーパーユーザーの問題のイメージ)私はすでに始めましたこの問題SuperUserでは静止状態なのでここに来て、これらすべてについて何ができるか尋ねなければならないと思いました。


私が使ったチュートリアル

チュートリアル 1 - Raspberry Pi NAS: Raspberry Pi Samba サーバーの構築

チュートリアル2 - Raspberry Piを低電力ネットワークストレージデバイスに切り替える方法

チュートリアル3 / YouTube DIY - Sambaを使用してRaspberry PiをNASとして使用する - 方法


質問と研究

n00b Sambaのトラブルシューティングを始めるには?これを行うのに役立つチュートリアルはありますか?

新しいラズベリーパイのイメージを焼いて最初から始めましたが、役に立ちませんでした。私はsamba / netbiosを使用しているので、avahi / Bonjourは必要ありませんし、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:

$ 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構成ファイル

[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

システムテーブル

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にはデフォルトのホスト名とホストファイルがあります。 「操作」と言えば何を変えなければなりませんか?

$ 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

Raspberry PiでNetBiosフィールドのコメントを削除しましたが、Windowsエクスプローラでエラー0x80004005が表示されます。 \raspberrypi\に移動しようとすると、このエラーが発生します。 この問題を発見しましたこれはエラーのいくつかの側面を説明します。ただし、Microsoft 6to4アダプタは1つしか見つかりませんでした。削除して再起動しても効果はありません。

\ 192.168.1.14 \に移動して適切な資格情報を入力しても、エラー0x80070035が発生します。

Windows 7ノートブックでipv6を無効にしました。しかし、私はこれが現象に影響を与えないと思います。

Raspberry PiはWindowsシステムの名前をpingすることはできず、Windows 7システムのSamba共有にアクセスすることもできません。 PCMANFMがこれを行うことができるかどうかはわかりませんが、確実には機能しません。

アップデート4

Sambaを使用して共有内のファイルを表示できるようになりましたが、名前解決はまだ機能しません。進展!今まで皆様のご協力ありがとうございました!

2つ以上の問題を解決しているようですが、アクセス共有の問題を解決しました。ドライブにはSambaが読み書きするための永久マウントポイントが必要なので、fstabファイルを変更する必要がありました。そして、ボリューム名からスペースを消したときにsmb.confファイルでoathの周りに一重引用符を残しましたが、Sambaログを見るとそれが問題になったようで、その部分も修正しなければなりませんでした。

それでもPyの名前をIPにすることはできませんが、役に立つような以下の答えを解読しようとしています。

以前にこれを忘れた場合に備えて、使用しているアカウントに対してsmbpasswdを再実行しました。

sudo smbpasswd -a backups

これは私の新しいホストファイルです。

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

答え1

「ping raspberrypi」と言うと、Windowsシステムと同じ方法で名前の検索は行われません。おそらく。つまり、SMB/CIFS プロトコルには名前検索を実行する 3 つの方法がありますが、残りの 2 つの方法は実際にドメインを構成する場合にのみ使用され、ドメインを構成しません。

これは、NMBプロトコルを介して名前検索を実行する必要があることを意味します。 Sambaはデフォルトでローカルコンピュータのホスト名(コマンドの出力hostname)をNMB名として使用します。実行して、予想されるホスト名であることを確認してください。そうでない場合は、/etc/hostsそうなるまで触ってください。 / etc / hostnameを回復する必要があるかもしれません(ただし、hostname後者のファイルの変更はinitスクリプトを実行または再起動するまでは適用されません)。

当然、NMB検索を実行するために使用されるSambaツールはですnmblookup。引数として出力を使用してRaspberry Piでプログラムを実行し、hostnameRaspberry PiのIPアドレスと一致することを確認します。そうでない場合は、出力を公開してください。もしそうなら、IPアドレスの前に山かっこ(<String>)の間に16進数字を付ければ大丈夫です。 16進数は結果型です。考えられる結果の種類はたくさんあります。

NMBプロトコルは部分的に「マスターブラウザ」ホストを選択しようとしているため、ひどいですが、常に機能するわけではありません。実行してみてくださいnmblookup -M -- -(例: nmblookupdash-capital m-space-dash-dash-space-dash. はい、見苦しいです)。これでマスターブラウザが検索されます。戻りIPアドレスをメモしてください。実行smbclient -L ip、どこでアイピーそのIPアドレスです。 Raspberry Piがリストにあることを確認してください。そうでない場合preferred master = yesはログインを試みることができますsmb.conf。ただし、ドメインを実行している場合はこれを行わないでください(ドメインホストはマスターブラウザである必要があります。そうしないとドメインログインは失敗します)。

ドメインに参加しているWindows 7以降を実行している場合、WindowsはデフォルトでNMB検索を実行しません。この場合、これらのデフォルト値を変更するためにいくつかのレジストリキーを設定する必要があります(これはSamba Wikiにあります)。また、Raspberry Pi を Windows ドメインに参加させて、NMB が不要になるようにすることもできます。

答え2

これは正しい方向を示すことができますが、問題を解決できない可能性があります。ルータのDHCPとDNSの悪魔は、状況を台無しにすることができます。私の場合、opensuseとraspberypiで同じ問題が発生しました。私が行ったすべてのステップは次のとおりです。

  1. ホスト名ファイル/etc/hostnameも編集してみましたが、mymacnineどちらmycmachine.domainも機能しませんでした。
  2. resolv.confを混乱させ、Windowsシステムで何かが更新または削除されるまで機能し続けました。
  3. 私はWRT1900acにドメイン名を入力して実行できる場所があり、毎回動作することがわかりました。

誰かがNetBIOS名がコメントアウトされていると指摘しました。

答え3

解決策

コメントでこの内容を提供することはできませんが、作業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 (i.e. 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. アプリケーションが要求する場合は、FQDN(2番目の列)です。 (OPが提供するリンクに記載されています。)
  2. マイコンピュータ名(3列目)
  3. localhost(4列目)。

また、IPv4とIPv6を区別しません。


この形式を使用すると、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フィルタリングを介して割り当て、hostsRaspianファイルから127.0.1.1を削除する必要があります。これは一度だけ実行できます。 (MACアドレスは固定IPアドレスで確認されます。)

  1. PiのMACアドレス - > 192.168.1.14
  2. D-WHALEY2のMACアドレス --> 192.168.1.x
  3. ラップトップMACアドレス - > 192.168.1.xx

これにより、ネットワーク上のデバイスが起動するたびにhostsファイルと一致するアドレスが割り当てられます。また、内部アドレスを確認するためにWindowsコンピュータは必要ありません。


質問

Windowsは、次の2つの理由でPiのアドレスを確認できません。

  1. 127.0.1.1は有効な内部アドレスではありません。RFC 1918、に取り替えるRFC 6761hostsファイルの説明も参照してください。
  2. 127.0.1.1Windowsにはそのアドレスを含まないホストファイルがあるため、それを別のローカルホストアドレスとして扱います(参照:誰が127.0.0.1をローカルホストとして選択したのですか?ポイントは何ですか?)、なぜ。この動作により、OPで説明されているエラーが発生します。

簡単に言えば、これはWindowsの問題であり、Debianベースのディストリビューションの「機能」です。 「機能」を削除し、Windowsで問題を「修正」するようにルータを設定すると、Samba接続が許可されます。

関連情報