開発環境
- ホストOS:Windows10 Pro(Ver.1909)
- 仮想OS:debian_jessie64_armhfcross.ova
- 仮想化ソフト:ORACLE VM VirtualBox 6.1.2
- エミュレーター:Tera Term (Ver.4.105)
概要
以前参加したセミナーで学んだ開発環境構築方法を自身の環境で再現しようと模索。
セミナーでは
「ホストOS(Win)」⇔「仮想OS(Linux)」⇔「ターゲットマシン(Linux)」
という環境での相互接続方法を学び、仮想OSのネットワーク設定ではアダプター1に「ブリッジアダプター」を選択。
ターゲットマシンとは有線(USB)で直接接続していた為、そのLANを選択した。
しかし、自身の環境にはターゲットマシンがないので仮想空間に構築するしかない。また、社内での個人的な開発となるので、ネットワーク面でもセキュアに実施する必要もあった為、以下の構造に変更する必要があった。
ネットワーク設定
社内ネットワークにさらされ、それを通じて仮想OSにまで外部アクセスされると面倒。ネットでいろいろ探してみたところ、以下の記事が参考になった。
今さらながらVirtualBoxネットワーク設定のベストプラクティスと解説
それによると、今回の環境で最も有効なネットワーク設定はアダプタを2つ用意し、アダプター1を「NAT」、アダプター2を「ホストオンリーアダプター」に設定するというものだそうだ。
早速試してみた。
実際にやった操作
手順 debianを起動してcdコマンドにて /etc/network/ディレクトリへ移動し、その中の「interfaces」を編集する。
※ちなみに、今回はeth1の項目がデフォルトでは定義されていなかったので追記した。
但し、ここで定義するIPアドレスのホスト部はホストオンリーアダプタに対応したものにしておくことが重要。
ホスト部は「VirtualBox マネージャー」の上部タブのある「ファイル」から「ホストネットワークマネージャー」を展開すれば確認が可能。
また、ここで指定したIPアドレスのホスト部は、ホストOS(win10)のIPアドレスを確認してから設定すると良い。コマンドプロンプトで「ipconfig」コマンドを実行すれば確認できる。今回は「192.168.208.1」となっていたので、debianでの設定はこれ以外の「192.168.208.XXX」を使えばよい。今回は「192.168.208.30」を使用した。
トラブル回避
今回の操作で2点トラブルが発生したのでそれをまとめておく。
ホストオンリーアダプタが機能しない
接続できていたのに突然使えなくなったり、そもそも機能していないというときは以下の操作が有効だそうだ。
あとは画面下部の「IPv4アドレス」に表示されているIPアドレスを参照してdebian内の「interfaces」を同様に書き換えてやればいい。
Tera Termで接続ができない
これが今回泥沼に嵌ったやつ。原因としてはdebian内の「interfaces」におけるアダプタの設定を間違えていたことだった。(先ほど記載した設定は正しいもの)
アダプター1(eth0)にはNATを、アダプター2(eth1)にはホストオンリーアダプタを定義しているにも関わらず、IPアドレスやinetの設定を逆にしてしまっていたために何度接続を試みても繋がらなかった。必ず、上で説明した画像通りに設定することが重要。
ちなみに、Tera Termに接続するときは以下の方法で行う。
その他
IPアドレスやネットワークの構成について、以下の記事が参考になったので載せておく。
VirtualBoxのネットワーク設定を絵で説明する
今回はこの辺で。