Sambaに接続できなくて詰んでたハナシ

ホストOSがWindows、VirtulBoxゲストマシンがArchLinux での環境でのおはなし。

1年くらい前からどうにもSambaの調子が悪く、VirtualBoxを立ち上げても接続できたりできなかったりがわりと頻発していました。
netctlがよく起動時のネットワークI/F立ち上げにコケるので、これが原因かな〜と思って、ネットワークマネージャをデフォルトのsystemd-networkdに戻したんですが、ネットワークI/F立ち上げにコケることは無くなったものの、Sambaに全く接続できなくなってしまいました。

このときの状態は、

  • SSHでの接続はできる。
  • ホスト(Windows)からのPing、ゲスト(Arch Linux)からのPingは通る
  • ホストから \\192.168.xxx.xxx でアクセスしてもウンともスンともいわない
  • ゲストで smbclient -Llocalhost -Uuser すると、 protocol negotiation failed: NT_STATUS_IO_TIMEOUT のエラーが出る
  • ゲストからホストへのアクセス ( smbclient -L192.168.xxx.xxx(ホストマシンIP) -Uuser ) は成功する


で、半日くらい悩んで、ようやくここにたどり着きました。
http://www.zero-effort.net/tip-of-the-day-protocol-negotiation-failed-nt_status_io_timeout/

要は、/etc/hosts にhostnameを足しましょう、って、そういうコト。

で、管理者ユーザーで以下を実行。普通にエディタで編集したほうがきれいっちゃあきれい。

# echo 127.0.0.1 localhost.localdomain (/etc/hostnameの値) >> /etc/hosts

わたしはコレで解決しました。はぁ〜よかった。