ウチの環境には、なぜかWindowsXPが動いている(内部ネットワークのみでインターネットにはつながっていない)のですが、Sambaサーバを新しいものに置き換えたところ繋げなくなってしまいました。
いろいろ調べたところ、サーバとクライアントの設定を変えたら解決できたので、手順をメモしておきます。
同じような環境でハマった人はぜひ参考にしてください!
環境
今回の環境は以下の通りです。
・クライアント:WindowsXP SP3 (32bit)
・サーバ:Red Hat Enterprise Linux release 8.3
・Sambaのバージョン:4.12.3
原因と対策
今回繋げなくなった原因ですが、Sambaの4.11からデフォルトでSMB1プロトコルが無効になったことにより、SMB2以降が利用できないXPから繋げなくなったようです。
ということで、サーバの設定でSMB1を有効にしていきます。
あと、クライアント側の認証設定もいじる必要があったので、そちらもやっていきます。
手順
サーバの設定
SMB1を有効にするには、smb.confの「min protocol」を「CORE」にすればいいようです。
ということで、smb.confを設定していきます。
vi /etc/samba/smb.conf
開いたらglobalセクションの任意の場所に「min protocol = CORE」を入れます。
[global]
workgroup = xxxxx
security = user
...
min protocol = CORE
終わったら保存してsambaを再起動しましょう。
systemctl start smbd systemctl start nmbd
以上でサーバ側の設定は終了です。
クライアント(WindowsXP)の設定
次はクライアントの設定です。
WIndowsXPでSambaの認証を行う場合、デフォルトでは「NTLMv1」方式が利用されるのですが、対象のSambaでは「NTLMv1」は許可されていないので認証が通りません!
ということで、「NTLMv2」方式を使えるように設定していきます。
設定はレジストリを変更する作業になります。
まずはファイルを指定して実行⇒「regedit」でレジストリエディタを開きます。
↓
次に
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa
を選択して、画面右側の一覧にある、「lmcompatibilitylevel」を右クリック⇒修正を選択します。
以下のように値のデータに「3」を入力して「OK」をクリックします。
値が変わったことを確認したらレジストリエディタを閉じます。
以上でクライアント側の設定は完了です。
共有フォルダにアクセスしたら無事接続できるようになりました!!
まとめ
今回のように、古いOSを使っていると予期しないことでハマったりします(^ ^;)
まあ今の時代にXPなんて、特殊な理由がないと使わないと思いますのでこんなことでハマる人は少ないと思いますが・・・
設定を見るとわかる通り、古いOSに合わせてセキュリティレベルを下げているということになりますので、もしXPを使わなくなったら元の設定に戻すのを忘れないようにしないと。
コメントを残す