NT_STATUS_IO_TIMEOUTをデバッグする方法は?

NT_STATUS_IO_TIMEOUTをデバッグする方法は?

ローカルSambaサーバーからSamba共有にアクセスしようとすると、smblcient -L //localhost遅延後にエラーメッセージが表示されます。

プロトコルネゴシエーションに失敗しました:NT_STATUS_IO_TIMEOUT

問題の原因を体系的に見つけるためのデバッグ手順は何ですか?

背景:

私はトレーニング目的でCentOS 7仮想マシンのSambaサーバーに簡単な共有フォルダを設定しました。

smb.confファイルに次の行を追加し、ディレクトリ、selinux設定、およびファイアウォールルールを作成しました。

[sambashare]
comment = sambashare
path = /sambashare
public = yes
writable = yes
write list = +users

答え1

解決策:

/etc/hostsまたはDNSサーバーで手動で設定する必要があるサーバー名のDNS名解決を構成していません。

デバッグプロセス:

の場合NT_STATUS_IO_TIMEOUTtcpdumpなどのネットワークトラフィックアナライザを試してください。 (例:tcpdump -i>ネットワークインタフェース<)

次の行が表示される場合:

07:57:54.726390 IP 10.0.2.9.39939 > 10.0.2.1.domain: 20986+ A? server.example.local. (38)
07:57:54.726648 IP 10.0.2.9.39939 > 10.0.2.1.domain: 44015+ AAAA? server.example.local. (38)
07:57:54.727069 IP 10.0.2.9.48743 > 10.0.2.1.domain: 34381+ PTR? 1.2.0.10.in-addr.arpa. (39)
07:57:54.732388 IP 10.0.2.1.domain > 10.0.2.9.39939: 20986 NXDomain* 0/0/0 (38)
07:57:54.733400 IP 10.0.2.1.domain > 10.0.2.9.48743: 34381 NXDomain* 0/0/0 (39)
07:57:54.733642 IP 10.0.2.9.53191 > 10.0.2.1.domain: 24458+ PTR? 9.2.0.10.in-addr.arpa. (39)

これは、smbclientがDNS解決の問題であるサーバー名server.example.localを解決できないことを意味します。

答え2

Fedora Rawhide 33 の場合、「/etc/samba/smb.conf」には次のいずれかが必要です。

client min protocol = CORE

または

client min protocol = NT1

そして、「/etc/hosts」にホストを定義します。

<ip_address>   REMOTE_DEVICE

答え3

次の行を追加しましたが、うまくいき/etc/samba/smb.confました。

guest ok  = yes

私の共有パラメータセクションにあります。

その後、サービスを再起動しましたが、正常に動作しました。

関連情報