OCIでsambaサーバを立てたら接続がなんか遅い


はじめに

当記事の内容はかなり限定された環境のため、余り役に立たないかもしれません。

環境

  • OCI上でhost1を作成。Oracle Linuxを使ってsamba AD-DCを構築、Windowsドメインネットワークを作成
  • 同じくOCI上でhost2を作成。Freenasを使ってSMBファイル共有用で構築、host1のドメインに参加
  • host1、host2ともに同一のvcnプライベートサブネットに接続

現象

FreenasでのSMB接続が遅い。転送は遅くない。
host1、またはhost2でsmbclientコマンドをFreenasに向かって実行するとコマンドの返りに3秒程度かかる。

@host1# smbclient -L host2 -U administrator
約3秒待つ...
        Sharename       Type      Comment
        ---------       ----      -------
        share           Disk
        IPC$            IPC       IPC Service (host2 Server)
NetBIOS over TCP disabled -- no workgroup available 

上記の様な感じ。応答内容は至って正常。
host2はドメインにも正しく参加出来ているため、名前解決回りは考え難そうだが、症状としては名前解決が遅い感じ。

原因

VCNのサブネットに設定しているDHCPオプションに登録していた検索ドメインでhost2の名前を解決できなかったから。
host2はwindowsドメインに参加していたため、リゾルバがhost1に向いていた。且つ、host1で稼働させていたsamba AD-DCのDNSフォワーダを適当に 8.8.8.8とかにしてしまっていたため。
上記環境だとVCNの検索ドメイン hogehoge.oraclevcn.comが探せなくなり、タイムアウトを待つしかなくなる。

解決方法

下記のいずれかを実行する。

  • host1のsamba AD-DCのDNSフォワーダを 169.254.169.254にしてあげる。
  • host2の /etc/hostsに対象ホスト名を記述する。
    例)127.0.0.1 host2.hogehoge.oraclevcn.com

この他、VCNのDHCPオプションで何かやれば上手くいくかもしれないけど、ちょっと分かりません

まとめ

VCNの内部DNSは有用なものとは思いますが、使い方をキチンと把握していないとこのような目に遭います。
オンプレでは出なかった問題なので解決するまでに時間を要しました。

おわりに

パブリッククラウドを使うときは闇雲に使わず、ちゃんと使い方を学ばないとアカンですね。