web-dev-qa-db-ja.com

Sambaがインターネット接続なしでLANで動作しない

一部のWindows 10クライアントからアクセスするLANのCentOS 7.2サーバーにSamba 4共有があります。
クライアントはサーバーIPを使用して共有にアクセスし、Sambaはドメインメンバーサーバーではなくスタンドアロンサーバーとして構成されます。

インターネット接続が確立されている場合、すべてが正常に機能しますが、インターネット接続がない場合、クライアントはログイン資格情報ウィンドウを表示するまでに最大20分必要です。

これはネットワーク関連の問題ではないようです。クライアントはサーバーに到達し、通常どおりにpingを実行し、HTTPやSSHなどの他のプロトコルを使用し、一般にLAN上の他のすべてのネットワークアクティビティを問題なく実行できます。
また、うまくいくが長い間待っているという事実は、プロセスに何らかのタイムアウトが含まれていることを示唆しています。

WANケーブルをローカルルーターから切断し、クライアントからSamba共有にアクセスしようとすると、何かを待機し始めます(アドレスバーの緑の読み込みの進行がゆっくりと移動します)。 WANケーブルを再度接続すると、クライアントにログインウィンドウが表示されます。

Sambaログ(デバッグレベル5)には異常は何も表示されませんが、実際にサーバーによって受け入れられる接続試行が多数あるようです。

[2016/11/15 16:18:34.378116, 3] ../source3/lib/access.c:338(allow_access) Allowed connection from 192.168.100.5 (192.168.100.5) [2016/11/15 16:18:34.436829, 5] ../lib/dbwrap/dbwrap.c:178(dbwrap_check_lock_order) check lock order 2 for /var/lib/samba/serverid.tdb [2016/11/15 16:18:34.436924, 5] ../lib/dbwrap/dbwrap.c:146(dbwrap_lock_order_state_destructor) release lock order 2 for /var/lib/samba/serverid.tdb ... ... this is repeated an unbelievably lot of times ... ...

私はそれがネットワーク/サンバ/サーバーの問題よりもWindows 10に関連する問題であると考える傾向があります。

5
Eggplant

私はあなたとまったく同じ状況になります-LANのSambaはWANポートがアップしている場合はうまく機能しますが、WANポートがダウンしている場合は非常に遅くなります。最終的にtcpdumpを使用して理由を理解しました。

Sambaはホスト名を解決しようとします。

私のSambaサーバーは/etc/hostsに独自のホスト名エントリを持たないため、インターネットで解決しようとします。WANがダウンしている場合、これには長い時間がかかります。

SambaサーバーのA/PTRレコードをLANネームサーバー(Sambaが使用)に追加するか、Sambaの/etc/hostsにホスト名エントリを追加します。緑のプログレスバーはもうありません!

4
Zhuoyun Wei

共有をマウントするためにIPアドレスを使用するという事実は、関与する名前解決がないことを意味しません。
逆引き名前解決のようなものがあります。
これは、クライアントがそのIPに基づいてサーバーのFQDNを把握しようとしているときに発生します。 (Dig -x ipaddressのような取引を考えてください)

簡単なテストとして、クライアントC:\Windows\system32\drivers\etc\hostsファイルの共有のIPアドレスに名前を追加し、これが役立つかどうかを確認することをお勧めします。
ここに例を含む詳細な手順を見つけることができます https://support.rackspace.com/how-to/modify-your-hosts-file/

また、クライアントにWiresharkをインストールして、問題が発生したときにネットワークトラフィックをキャプチャすることもできます。次に、ポート53(DNS)でフィルタリングします。逆引き名前解決が行われているかどうかを確認する必要があります。

1
Dmitry Zayats

これはDNS関連の問題のようです。クライアントまたはサーバーが他のマシンを解決(または逆解決)しようとしているため、タイムアウト/低速接続につながります。多くのルーターはDNS転送をサポートしているため、次のことを試してください。

  • ルーターにGoogleのDNSを設定します(8.8.8.8および8.8.4.4)
  • 両方クライアントとサーバーで、ルーターの内部IPアドレスを両方ゲートウェイとDNSとして設定します
  • WANケーブルを切断し、接続を再試行します

何か変化はありますか?

0
shodanshok