5
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

VirtualBoxで稼働するUbuntu 20.04LTS(Desktop) でSamba環境を構築する方法

Last updated at Posted at 2021-06-06

VirtualBox上で稼働するUbuntu 20.04LTS(Desktop) でSamba環境を構築する方法

VirtualBox上で稼働するUbuntu 20.04 LTS (Desktop)でSamba環境を構築する際の手順をまとめました。

ネットワーク設定

ホストPCから仮想PCにアクセスするには、ポートフォワーディングを設定する方法もありますが、ホストオンリーアダプターを設定する方法のほうが便利です。(便利だと知りました。)

自分はこの設定について、時間がかかってしまったので参考にしたサイトを紹介しつつ、備忘録として残しておきます。

まず参考になったのは以下の記事です。

この記事の場合、ホストOSがMacOSXで、仮想OSがCentOS 7.8 を使った方法なのでそのものずばりという訳ではないのですが、参考になりました。

自分の環境は、ホストOSはWindows10で、仮想OSがUbuntu 20.04 LTS(Desktop)です。

わざわざ、(Desktop) と注記したのは、UbuntuのDesktop版とUbuntuのサーバー版でネットワークを設定するデフォルトのツールが異なります。Desktop版の場合、GUIで操作する関係上、デフォルトの設定ツールは、従来のNetworkManagerというツールとなっています。サーバー版ではネットワークの設定は、systemd-networkdとnetplanが使われるようになったようです。

インターネットで斜め読みで調べていると、そういった重要な情報を読み飛ばしてしまい、Server版における設定記事をDesktop版でやろうとして、うまくいかずにはまりました。

VirtualBoxの設定(確認)

はじめにVirtualBoxの設定(確認)を行います。参考にした記事ではホストオンリーアダプターを作成するとありましたが、WindowsのVirtualBoxの場合、通常のインストールを行なうと自動で設定されるようです。

VirtualBoxを起動し、ツールの横にある横線3つのボタンをクリックし、メニューが表示されるので「ネットワーク」を選択します。

pic071.png

ネットワークを選択すると、VirtualBox Host-Only Ethernet Adapterという仮想ネットワークアダプターがすでにあるはずです。
この仮想ネットワークアダプターのプロパティに表示されているIPv4アドレスの内容をメモします。
この設定されているIPv4アドレスは、後でUbuntuの設定で使用します。

※アドレスはそれぞれの環境で異なります。

2021-06-06 (1).png

仮想マシンの設定

まず、設定対象となる仮想マシン(今回の場合、Ubuntu 20.04 LTS(Desktop))を選択し「設定」ボタンをクリックします。

NATの設定

まず、設定対象となる仮想マシン(ここでは、Ubuntu 20.04 LTS(Desktop版))を選択し、「設定」ボタンをkリックします。
2021-06-06 (2).png

設定ウィンドウが開かれるので、左ペインから「ネットワーク」を選択します。
以下のように「アダプター1」のデフォルトの割り当てが「NAT」になっていることを確認します。
「NAT」になっていなかったら、プルダウンリストから選択して変更してください。

2021-06-06 (3).png

ホストオンリーアダプターの設定

次にホストオンリーアダプターの設定を行います。

「アダプター2」を選択し、「ネットワークアダプターを有効化」というチェックボックスにチェックを入れます。
2021-06-06 (4).png

※アダプター2が非活性で選択できない場合には、起動している仮想マシンを一旦停止してください。仮想マシンのウィンドウのxボタンを押して、「Power off the machine」を選択後、「OK」ボタンを押すことで停止できます。

「ネットワークアダプターを有効化」にチェックを入れた後、設定が変更できるようになるので、割り当てのプルダウンリストから、「ホストオンリーアダプター」を選択します。
名前には、「VirtualBox Host-Only Ethernet Adapter」を選択します。

設定ができたら、「OK」ボタンをクリックして、ホストオンリーアダプターの設定は完了です。

設定後は、次のようになっているはずです。
2021-06-06 (5).png

2021-06-06 (6).png

Ubuntu 20.04 LTS(Desktop)の設定(その1)

まずは、設定したい仮想マシンを選択して起動してください。

インストール直後のUbuntu 20.04 LTS(Desktop)は、OpenSSHサーバーがインストールされていない状態です。
デスクトップ環境(クライアント)なので要らないという判断だからだと思います。
今回、デスクトップ版をインストールしましたが、Linuxはサーバーとして動作させるのが一般的です。
以下のコマンドを投入して、OpenSSHサーバーをインストールします。

$ sudo apt install -y openssh-server

デスクトップにカーソルを置いた状態で、右クリックし、端末で開くを選択し、端末(コンソール、Console)を開きます。

pic072.png

端末が開かれたら、上記のコマンドを入力し、OpenSSHサーバーをインストールします

NATの設定(その2)

OpenSSHサーバーに接続するには、ポートフォワーディング(ポート転送)の設定をしないと、ホストPCから仮想マシンで稼働しているSSHサーバーにアクセスすることができません。

設定したい仮想マシンのNATネットワークアダプターの高度な設定に、ポートフォワーディングの設定があります。
2021-06-06 (16).png

ポートフォワーディングのルールを以下のように設定してください。22というポートは、SSHで使用するポート番号です。この設定の意味は、ホストポート 22番のパケットを、ゲストポートの22番に割り当てるという意味です。その逆もしかりです。
2021-06-06 (17).png

この設定により、localhost:22 に接続すると、仮想PCの22に接続することになり、仮想PCで稼働しているSSHサーバーに接続することになります。

TeraTermのインストール方法については解説は省きますが、WindwosからLinuxサーバーを制御するには、TeraTermやPuttyなどのSSHクライアントソフトで制御するのは定番です。

この節で説明したポートフォワーディングの設定は、これから設定する VirtualBox Host-Only Ethernet Adapter を介した接続で不要となるので、面倒な場合には、スキップしてもらっても問題ありません。

なぜこんな面倒なことをやっているかいうと、ここまでの設定では VirtualBoxとWindows間でのコピペができない状態なので面倒だからです。設定次第では可能ですが、TeraTermなどのSSHクライアントを使ったやり方のほうが楽だからです。

Ubuntu 20.04 LTS(Desktop)の設定(その2)

ネットワークマネージャを開くために、以下のコマンドを入力します。

$ sudo apt install -y network-manager
$ sudo nmtui

入力すると、このような画面が表示されます。

2021-06-06 (8).png

NetworkManager TUIというタイトルのウィンドウが開かれるので、
「接続の編集」を選択の上、リターンキーを押します。

有線接続 1の設定

まずは、有線接続 1の設定を行います。
次のような画面が表示されるので、有線接続1 を選択し、編集... を選択の上、リターンキーを押します。
タブキーでフォーカスを移動することができます。

2021-06-06 (12).png

デバイスに、enp0s3 となっているはずです。この仮想ネットワークデバイスは、NATに割り当てられています。
2021-06-06 (19).png

IPv6の<自動>を選択し、プルダウンリストから無視すると選択します。
2021-06-06 (10).png

自動的に接続するにチェックを入れて、OKで確定します。
※チェックは、スペースで入れることができます。

2021-06-06 (11).png

有線接続 2の設定

続いて有線接続 2の設定を行います。
次のような画面が表示されるので、有線接続 2 を選択し、編集... を選択の上、リターンキーを押します。
タブキーでフォーカスを移動することができます。

2021-06-06 (13).png

IPv4の設定を、自動から 192.168.56.2 に設定変更します。これは、上のほうで確認したVirtualBox Host-Only Ethernet Adapterという仮想ネットワークアダプターのIPv4アドレスの1つ増やした値となっています。
ゲートウェイは、仮想ネットワークアダプターのIPv4アドレスを設定します。
デバイスが、enp0s8 となっていること着目してください。これは VirtualBox Host-Only Adapterの仮想ネットワークアダプターに割り当てられた名前です。

2021-06-06 (14).png

IPv6の設定を、自動から無視するに変更してください。

2021-06-06 (18).png

自動的に接続するにチェックが入っていることを確認の上、OKを選択し、リターンキーを押して戻ります。

2種類のネットワークアダプターの設定が終わったので、戻るを選択の上、リターンキーを押して戻ります。

2021-06-06 (19).png

続いて接続をアクティベイトします。
有線接続2を選択し、タブキーで移動し、アクティベートを選択の上、リターンキーを押して確定します。
2021-06-06 (20).png

戻って終了します。
2021-06-06 (21).png

動作確認

ネットワークの設定がうまくいっているかどうか確認します。

仮想PCからpingコマンドを使ってGoogleに接続できるかどうか確認します。

$ ping google.com

ホストOSからssh接続で確認します。
コマンドプロンプトから、以下のコマンドを入力し、ホストOSから仮想PCに接続します。
※root(ユーザーID)、192.168.56.2(IPアドレス)は、個人の環境に合わせて変更してください。

ssh root@192.168.56.2

もしくは、TeraTermなどのSSHクライアントからIPアドレスを指定して接続します。

ポートフォワーディングの解除

動作確認で確認したとおり、ホストオンリーアダプター経由で、仮想PCに接続することができたので、ポートフォワーディングの設定は解除しても問題ありません。

ファイルサーバー(Samba)

開発サーバーの役割として定番なファイル共有サーバーを構築します。
ファイル共有サーバーとして定番なのは、Sambaサーバーです。

以下の記事を参考に構築します。

$ sudo apt-get install -y samba
$ sudo mkdir -p /home/share
$ sudo chown nobody:nogroup /home/share/
$ sudo chmod 777 /home/share/
$ sudo vi /etc/samba/smb.conf

[global]
# 25行目:追記 (文字コードを設定)
unix charset = UTF-8
dos charset = CP932

# 30行目:確認 (Windows に合わせる)
   workgroup = WORKGROUP

# 40行目:コメント解除してアクセス許可するネットワークを追記
   interfaces = 127.0.0.0/8 192.168.56.0/8 enp0s8

# 101行目:確認 (認証不要とする)
   map to guest = bad user

# 最終行に追記
# 任意の共有名を設定
[Share]
# 共有フォルダーを指定
path = /home/share
# 書き込みを許可する
writable = yes
# ゲストユーザー (nobody) を許可する
guest ok = yes
# 全てゲストユーザーとして扱う
guest only = yes
# ファイル作成時のパーミッションを [777] とする
force create mode = 777
# フォルダー作成時のパーミッションを [777] とする
force directory mode = 777

$ sudo systemctl restart smbd

動作確認

Windowsのエクスプローラーのメニューに、\192.168.56.2 としたとき、
Shareというリソースが見えることを確認できた。

2021-06-06 (22).png

VirtualBoxのネットワークについて

調べている途中で見つけたVirtualBoxのネットワーク設定についての解説記事があったので、
忘れないようにメモしておく。

5
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?