FreeNAS 上に FreeBSD の仮想環境を作る−その 1

ずっとご無沙汰していたこのブログですが、更新をまた始めます。今回は表題にもあるように、 FreeNAS 上に Jail 機能を使って FreeBSD の仮想環境を作り、他のマシンから SSH を使ってログインしてやるまでを駆け足で書いてみますね。もしかしたら、追記するかもしれません。リクエストがあればどうぞ。残念ながら、私は初心者に毛が生えたようなレベルなので、参考になるかどうかはわかりません。

Jail 機能の紹介と FreeBSD の仮想環境作成

まず、 FreeNAS には Jail 機能というのがあります。 FreeNAS の機能と言うよりも、ベースとなっている FreeBSD に備わっている機能なのですが、

FreeBSD jail は OS レベル仮想化機構実装の一つである。 jail を使うと、管理者が FreeBSD ベースの計算機システムを jail と呼ばれる独立した小さなシステムに分割できるようになる。 FreeBSD jail は、レンタルサーバ業者が業者の提供するサービスと顧客のサービスとを分離するのによく使われる。 このように分離することで安全性を確保し、管理の手間を軽減できる。 サーバデーモンの設定レベルで分離するのと違い、 jail からは自分に割り当てられたファイルシステムおよびプロセス空間しか扱えないようになっている。 

https://ja.wikipedia.org/wiki/FreeBSD_jail

システムに備わっている VirtualBOX のようなものだと思っていただければいいのではないかと思います。 FreeNAS の場合、

Dashboard メニューの左に Jails というタブがありますので、そこで操作することになります。

Jails のアイコンは監獄のアイコンになっていますね。 Jail にログインすると、その他の部分にはアクセスできなくなるので、監獄に入っているようだと言うことですね。 Jails というのが監獄の意味ですから、そのまんまのネーミングと言うことになります。

タブをクリックすると通常はブランクのこのような画面が出てきます。ここではもうすでに一つ Jail を作ってあります。また、本来よりも IP アドレスなどが余分に出るようにしてあります (COLUMNS で設定できます ) 。

見てわかる通り、 ADD ボタンを押すと、 Jail を作ることができるようになります。

最初の画面では、 Jail の名前、 Type 、 Release を入力します。名前は自分の好きなようにわかる名前をつけましょう。タイプはデフォルトのままでいいでしょうね。問題は Release 。私は、過去の FreeNAS のバージョンは削除してしまうように管理していますので、最新バージョンの 11.3-RELEASE しか出てこないのですが、 11.2 や、 10.x を保存している方は、それらのバージョンも出てきますので、それを選択することもできるはずです。

NEXT を雄と画面変移しまして、ネットワークについてです。私は、固定アドレスではなく DHCP を有効にして可変アドレスにしていますが、固定にする必要がある場合は、ここで設定します。 DHCP を ON にすると、自動的に VNET も ON になります。私は深く考えずにそのまま NEXT しました。

次の画面は最終確認の画面ですね。間違いなければ SUBMIT ボタンを、間違いや設定変更がある場合は、 BACK ボタンをクリックしてください。

テストで作った「 alone 」と実際運用する「 clone 」という 2 つの Jails が表示されています。右端の>マークをクリックすると仮想マシンを起動したり、ストップしたりするメニューが現れますので、仮想マシンを起動できます。

SSH で仮想マシンに接続するために必要なこと

実はここから初心者らしく悩みます。というのも、この状態で SSH による接続をかけても Connection refused と言われて接続できません。実は Raspberry Pi などの接続でも何度もみているので、ポートが開いていないか、そもそも SSH サービスが開始されていないか、だと見当がつきます。ポートに関してはまだ全くいじっていませんので、デフォルトのままです。 22 番のポートが SSH のデフォルトですね。 SSH がスタートしていない。ありそうです。上の画面は仮想マシンのマネージメントをするための画面 ( >マークをクリックすると出てきます ) ですが、ここに SHELL というのがあります。ここで各種細かい設定をすることになります。 SSH に関してもここで設定します。

/etc/rc.conf を開いて、そこに sshd_enable=”YES” と打ち込んで、仮想マシンそのものをリスタートします。これで、 SSH は起動します。起動しますが、私はなお、ログインできません。こんどは端末の画面で、パスワードを求める画面が出てくるのですが、私、仮想マシンのパスワードを設定した覚えがありません。ユーザーとしては root ユーザーでのログインになるのですが …

あちこち検索してみたのですが、らちがあきません。知ってる人は知ってますが、 root ユーザーのパスワードはデフォルトでは設定されていないことと、 SSH での接続で、パスワードを使った接続はデフォルトでは許されていないんですね。勉強になりました。前にもこの処理したと思うのですが、忘れていました。

passwd コマンドで root のパスワードを設定します。

PasswordAuthentication=”yes”  PermitRootLogin=”yes” この 2 行を /etc/ssh/sshd_config に書き加えます ( 多分どちらもコメントアウトされて、” no ”になっていると思いますので、それを直します ) 。

ここまでのまとめ

まとめにもならないのですが、 root ユーザーのパスワードによるログインはセキュリティ上できれば回避しておきたいところですね。暗号鍵によるログインを推奨しますが、 SSH でログインできなければそれもなかなか設定できない。なので、パスワードを使ってログインすることにしました。

/etc/rc.conf 、 /etc/ssh/sshd_config この 2 つのファイルをいじりました。実はそれぞれ vim を使っての変更だったのですが、最近 nano を使うことが多く、 vim の使い方をすっかり忘れていました。慌てて本を引っ張り出したりして。

ログインして最初に行ったのは、エディタ nano のインストールだったりします。

その 1 があるので、その 2 以降もあるのですが、現在進行形ですので、次はいつになるかわかりません。できれば色々いじり倒したいことがあるので、その 2 以降に書きますね。長い記事の割に中身がありませんが、続きをお楽しみに。

投稿者プロフィール

會澤 賢一
新潟県在住。1964年生まれ、東京オリンピックの年ですね。
突然燃え上がったり、鎮火したり興味の波が激しいので注意が必要です。

コメントを残す

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

CAPTCHA


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください