VirtualBOXを使って、PC内部にsambaサーバーを建てる

WindowsのノートPCで、DISK上のどれかのディレクトリを共有設定にして、
外部端末から読み書きできるようにしている人もおられると思います。
Windowsを使わず、LinuxMINTをノートPCに入れている私の場合でも、
このLinuxMINTにsambaを導入してsambaサーバーを動かせば、
DISK上のどれかのディレクトリを外部から読み書きできるように
することが出来ます。でも、ベースに成るパソコンの設定をいじり倒すと、
つい壊してしまいかねないので、怖いです。
そう言う理由で、仮想コンピュータで試して習熟度を上げたいと思っています。

今回VirtualBOXの習熟も兼ねて、LinuxMINT上に導入したVirtualBOXに小規模なubuntuのVM(仮想コンピュータ)を動かして、このubuntuにsambaを導入してみました。

また今回、動作環境は自分の閉じた実験環境だけですので、
「セキュリティー」に関しては、一切考慮しないと言う条件で行いました

〜〜 閑話休題ここから 〜〜

通販サイトで買い物をして、商品に付属してきたマニュアルがペラペラのA4一枚で、英語で説明が書かれていて困る事があります。

「翻訳」「清書」「保存」を考えると、A4一枚なら、なんとか自力で出来ないことも無いので、自分でワープロを使って、書き直すのが良いのかも知れません。

〜〜 閑話休題ここまで 〜〜

と言う事で、上記の閑話休題の様な状況で行う、原本の取り込みについて、手段を幾つか列挙してみました。

  1. スキャナーで読み込む
  2. デジカメで撮影して、SDメモリからPCに読み込む
  3. スマートフォンで撮影して、メモリでPCに読み込む
  4. スマートフォンで撮影して、PCの共有ディレクトリにアップロードする
  5. スマートフォンで撮影して、クラウドにアップロードし、クラウドからPCにダウンロードする。

等が思い浮かびます。

仮想コンピュータの勉強を兼ねて、上記のリストの「4.スマートフォンで撮影して、PCの共有ディレクトリにアップロードする」を試すことにしました。

「普通にWindowsを使っていれば、どこかのディレクトリに共有設定をするだけで出来る」と思いますが、仮想コンピュータの勉強も兼ねますので、思いっきり手間のかかる回り道をやってみました。

やりたいことリスト

  • PCを有線LANにつないでいる時も、WIFIにつないでいる時も、スマートフォンのテザリングでつないでいる時も、スマートフォンからアップロード出来ること。
  • スマフォのテザリングでアップロードした写真は、すぐに画像加工アプリケーションやワープロからアクセス出来ること。

と言うことで

  1. VirtualBOXに最小構成のubuntuをインストール。
  2. インストールしたubuntuを最新にアップデート。
  3. ubuntuをインストールした仮想マシン(VM)のネットワークインタフェースを増やして、4枚刺しにする。
  4. ubuntuにsambaを導入。
  5. 各通信路(有線LAN、WIFI、テザリング)での動作確認。

と、言うようなことを行いました。

上記リストの「1.VirtualBOXに最小構成のubuntuをインストール。」「2.インストールしたubuntuを最新にアップデート。」ですが、これは、いつもやっているような事なので、特に問題なく出来ました

次の「3.ubuntuをインストールした仮想マシン(VM)のネットワークインタフェースを増やして、4枚刺しにする。」では、かなり苦しみました。

リストの3番にあげていますが、実際の試行錯誤の順序では5番と書くのが正解だったかも知れません。

これは、私の仮想コンピュータ(VM)のネットワークインタフェースの動作に関する理解が足りなかったのが原因でした。

そもそも、ネットワークインタフェースを増やす意味ですが、今回使ったノートPCにはもともと有線LANのRJ45のジャックとWIFIが搭載されていまして、このリアルなノートPCのネットワークインタフェースの状況・状態により、仮想コンピュータ(VM)のネットワークインタフェースの動きが、左右される現象があり、試行錯誤の結果VMのネットワークインタフェースを適切に増やす事で解決できましたので、この作業を入れています。

※(Bluetoothは、今回は見送り)

当初の現象について

一旦はsambaサーバーは動き出し、ノートPCからアクセス出来たのですが、「LANケーブルを抜いたらアクセスできなくなる。」と言う現象が発生しました。

これは、WIFIでも同様の現象がでました。

———後日追記 ここから———

後日、上記を推敲して説明不足に気づきましたので、少し書き足します。

一旦はsambaサーバー(ゲストOSのUbuntu が動くVM)に、ホストであるノートPCから、アクセス出来たのですが、「LANケーブルを抜いたらsambaサーバー(自身の中で動くVM)にアクセスできなくなる。」と言う現象が発生しました。

これは、WIFIでも同様の現象がでました。

———後日追記 ここまで———

そこで「VirtualBOXのVMのネットワークインタフェースの仕様」について、勉強が必要になりました。

VMのネットワーク設定では、4枚まで手軽にネットワークインタフェースの設定を行えます。

まず、ネットワークインタフェースですが、「未割り当て」を含め、状態?としては下記の指定をする事が出来ます。

  • 未割り当て
  • NAT
  • NATネットワーク
  • ブリッジ
  • 内部ネットワーク
  • ホストオンリーアダプター
  • 汎用ドライバー

どれを使えばいいの?。と言うところから始めました。

ネットワークインタフェースに、適切な設定をするには、sambaサーバーをどのように使いたいか明確にする必要がありますので列挙しました。

  • 有線LANからのアクセスを受け付ける。
  • WIFIからのアクセスを受け付ける。
  • テザリング中にスマフォからのアクセスを受け付ける。

と言うのが希望です。

これには、「NAT」か「ブリッジ」で、IPアドレスは、予めそのネットワークの帯域内で、適切な値を探して固定的に指定するのが良さそうだと考えられます。

「NAT」と「ブリッジ」を比べますと、「NAT」だと、更にポートフォワーディングなどの指定を行う必要がありますので、「ブリッジ」が手間が少なくて良さそうなので、今回は「ブリッジ」を採用しました。

IPアドレスについては、今回は固定値を指定せず、DHCPで貰う設定で動かす事で実験を進めました。

ここで、問題が2つほど発生しました。

まず1つめは、スマフォから、VMで動かすsambaサーバー へのアクセスが出来ない。問題に遭遇しました。(pingが通りませんでした。)

スマートフォンのテザリング機能の動作をつぶさに調べて、「子機となるノートPCやVMにどのようなIPアドレスが払い出されるのか?」、「テザリングがどのようなIPアドレス帯域で動作するのか?」を突き止めて、適切な設定をする必要がありました。

有線LAN接続でも、WIFI接続でも、IPアドレスの払い出しは、私の実験環境にあるブロードバンドルータのDHCPサーバーがやってくれますので、MACアドレスを覚えていて、いつも同じIPを払い出してくれます。

しかし、スマホのテザリングの場合は、機種によっては、それを期待できないことも在り、テザリング用に用意するVMのネットワークインタフェースについてはDHCPを使わない指定にしました。

あくまで、「私の今回の実験ではそうした。」と言うレベルで、一般的にそんな設定で使用する事は少ないと思います。もしも同じような事をなさる方がいらっしゃいましたら、ご自分の環境に合った使い勝手の良いやり方をなさってください。

さて、さらに問題に遭遇しました、「スマフォから、VMで動かすsambaサーバーへのアクセスが出来ない。」と言う現象でした。

この原因は、sambaサーバーの設定ファイルへの記述漏れでした。

sambaサーバーが対応するネットワークに関して、テザリングで使うネットワーク帯域を記述できていませんでした。

修正前:/etc/samba/smb.conf
interfaces = 127.0.0.0/8 eth0 192.168.1.0/24

修正後:/etc/samba/smb.conf
interfaces = 127.0.0.0/8 eth0 192.168.56.0/24 192.168.1.0/24 172.20.10.0/28

これを追記することで解決できました。

また、もうひとつの問題として次のような現象も出ました。

ノートPCから内部のVMにアクセスできていたのですが、「有線LAN」「WIFI」「テザリング」のどれも接続がない状況だと、VMにアクセスできない。と言う事が発生しました。

VirtualBOXをお使いの方なら、普通にご理解いただけると思いますが、お使いになったことのない方には、意味がわかりにくい部分だろうと思われます。VirtualBOXのネットワークインタフェースの種類を見ますと

  • 未割り当て
  • NAT
  • NATネットワーク
  • ブリッジ
  • 内部ネットワーク
  • ホストオンリーアダプター
  • 汎用ドライバー

今回、VMのネットワークインタフェースを「ブリッジ」として定義していますので、この現象につながりました。

そこで、VMにもう一枚ネットワークインタフェースを追加し、「ホストオンリーインタフェース」として定義し、DHCPでIPアドレスを貰う様に設定しました。

以上の作業で、スマホやネットに繋がるスキャナーから、VMのsambaサーバーに画像を転送出来るようになりました。そして、ネット接続のないお出かけ中にも、VMのsambaにアクセスして、ワープロに画像を貼り付けることが出来るようになりました。

あとがき

本日時点では、暫定的な設定があちこちにあり、きちんと整理して、使いやすくする作業が、まだできていません。

暫定的にあちこちに入れた設定を、覚えていられるのは数日なので、そのうち原因不明の障害の原因になりそうです

まずは、今回の実験の設定を消すか、残すか、考えたいと思います。

後日行った訂正について
(1)挿絵に誤記・欠落が有りましたので、修正しました。
   ・VMのネットワークインタフェースについて、
    緑色表示と青色表示のどちらも、192.168.1.4/24と記載していましたが、
    緑色は192.168.1.4/24に青色は192.168.1.10/24に訂正しました。
   ・VirtualBOXで仮想マシンを動かすホストコンピュータの
    黒いPCの絵が欠落した挿絵が有りましたが、この挿絵に
    ホストコンピュータの絵を書き加えました。

(2)テザリング関連でIPアドレスの誤記を訂正しました。
   ・「172.20.10.0/24」を「172.20.10.0/28」に訂正。

終わりに

こう言った実験に用いるコンピュータは、高性能なものが良いと思います。

自宅で、いじっているだけなら、中古のPCを並べて繋げる方が、判りやすくて良いと思うのですが、出先に持ち出して、パソコンやネットに関する実験や勉強を、する場合、そこそこ高性能なノートパソコンでも負荷に耐えられなくて応答が遅くなったりしますので、この様な用途には高性能なノートパソコンが良いなぁと、思ったりしています。





コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です