2017年12月13日

VirtualBox-5.2.2に更新

Windows Updateしたら、version 1709(Windows 10 Fall Creators Update)だった。

再起動後、VirtualBoxでゲストOSを起動しようとすると、
「仮想マシン ***** のセッションを開けませんでした。」とエラーになった。。。

調べてみれば、エクステンションパックのアップデートが必要っぽい感じ。
Windowsが変化したから必要なんだな、きっと。

使っていたVirtualBoxは、「VirtualBox-5.1.22-115126」。
だったら、この機会にVirtualBoxも更新しておこうと思い、VirtualBoxのサイトを訪れ、
左側の「Downloads」をクリック。
virtualbox52_01.png


最新Versionは、VirtualBox-5.2.2。
virtualbox52_21.png
Note: (updated 8 December 2017) The Guest Additions image with the 5.2.2 release still has some known problems with certain Linux distributions when 3D acceleration is enabled. These may be fixed in the current development series test builds.
引用:Download VirtualBox

問題があるけど、自分が使う機能には影響なさそうなのでダウンロードして使うことにした。

インストール方法は以前と変わらないので、こちらを参照

更新して、「VirtualBox-5.2.2-119230」になった。
今まで使っていたゲストOSを追加してみると、無事に起動できた。
よかった。


VMware Workstation Player: ネットワーク設定
ラベル:virtualbox
posted by Zorinos at 20:00| Comment(0) | Windows | 更新情報をチェックする

2017年11月22日

Windows10のMicrosoft Edgeで入力がおかしい

普段は、Chromeを使っているのだが、
他のブラウザでの見え方を確認しようと、まず FireFox で確認し、
次に Microsoft Edge で確認しようと思いアドレスを打ち込んだら、入力ミス。
ただの打ち間違いではない違和感を感じた。

「+」を入力しようと思ったら「:」
「=」を入力しようと思ったら「+」

あれ?英字キーボードの入力になっている?!
他のブラウザではOKなのに???


よくわからないが、解決策を調べたのでメモしておく。



理由


キーボードレイアウトが日本語キーボードになっていないから。

だったら、他の入力も英字キーボードにしてほしいわ。
Windows10 に変えてどれだけ時間が経っていると思ってるんだ!!


...でも、英字キーボードを繋げていたこともあるから、
もしかしたら自分に原因があるのかな...


解決策


(参考:edgeのアドレスバーの英字入力で英語キー配列になる

[設定]-[時刻と言語]-[地域と言語]
「言語」の「日本語」をクリックし、「オプション」を選択する。
win10key01.jpg


「ハードウェア キーボード レイアウト」から「レイアウトを変更する」をクリックする。
win10key02.jpg



「ハードウェア キーボード レイアウトの変更」が表示されるので、
「日本語キーボード(106/109 キー)」を選択し、「サインアウト」をクリック
win10key03.jpg

サインアウトするので、再度サインインすればOK。


まとめ


わかっていれば落ちついて対処できるが、
知らないとただただ焦る。




ラベル:キーボード
posted by Zorinos at 19:39| Comment(0) | Windows | 更新情報をチェックする

2017年06月11日

Windows に OpenSSH をインストールする

Windowsには標準でSSHのサーバもクライアントも用意されていないが、
Windows版OpenSSH のプレリリース版がある。

ちょっと前に、それがリリース段階になったとニュースがでていた。

OpenSSH for Windowsリリース段階に到達 - Microsoft

Microsoftは5月1日(米国時間)、「OpenSSH Security Testing Kick Off|Windows PowerShell ...




まだ正式版ではないが、インストールしてみる。
インストール環境:Windows10 64bit






ダウンロード


ここから最新版(インストール時の最新は v0.0.15.0)をダウンロードする。

"Win32-OpenSSH" ってなっているが、64bitもある。
windows_openssh01.png
"OpenSSH-Win64.zip" をダウンロードして
"Install Win32 OpenSSH"を参考に進める。


ダウンロードしたファイルを解凍し、任意の場所に置く。

C:\Program Files\OpenSSH-Win64



パスを通しておく。
[システムの詳細設定] から、「環境変数」をクリック。
windows_openssh02.png


[システム環境変数] の "Path" を選択して、[編集] をクリック。
windows_openssh03.png


[新規] をクリックして、OpenSSHフォルダの配置先を入力。
windows_openssh04.png






SSHサーバーインストール


PowerShellを管理者権限で起動する。

OpenSSHフォルダに移動。

cd 'C:\Program Files\OpenSSH-Win64'





実行ポリシーの変更


現在の設定を確認。

Get-ExecutionPolicy

Restricted

スクリプトの実行が禁止されているので、
実行ポリシーを「制限無し(Unrestricted)」に変更。
(インストールが完了したら実行ポリシーを元の「制限あり(Restricted)」に戻します)

Set-ExecutionPolicy Unrestricted

実行ポリシーの変更
実行ポリシーは、信頼されていないスクリプトからの保護に役立ちます。実行ポリシーを変更すると、about_Execution_Policies
のヘルプ トピック (http://go.microsoft.com/fwlink/?LinkID=135170)
で説明されているセキュリティ上の危険にさらされる可能性があります。実行ポリシーを変更しますか?
[Y] はい(Y) [A] すべて続行(A) [N] いいえ(N) [L] すべて無視(L) [S] 中断(S) [?] ヘルプ (既定値は "N"): y




sshd と ssh-agent サービスのインストール


コマンドを実行する。

.\install-sshd.ps1

[SC] SetServiceObjectSecurity SUCCESS
[SC] ChangeServiceConfig SUCCESS
[SC] ChangeServiceConfig2 SUCCESS
sshd and ssh-agent services successfully installed

"successfully installed" と表示されれば完了。



ホストキーの生成


コマンドを実行する。
(ウイルスバスターで警告が出た。自己責任で実行許可する)

.\ssh-keygen.exe -A

C:\Program Files\OpenSSH-Win64\ssh-keygen.exe: generating new host keys: RSA DSA ECDSA ED25519


.\FixHostFilePermissions.ps1 -Quiet


"FixHostFilePermissions.ps1"は、v0.0.15.0 で追加されました。
ファイルのパーミッションを修正するためのようです。
(参考:OpenSSH utility scripts to fix file permissions



Windowsファイアウォールの設定


TCPポート 22番の受信許可設定を行う。
コマンドを実行する。

New-NetFirewallRule -Protocol TCP -LocalPort 22 -Direction Inbound -Action Allow -DisplayName SSH





追加された設定を確認してみる。
[コントロールパネル] - [Windowsファイアウォール] から、
[詳細設定] を選択する。
windows_openssh05.png


[受信の規制] を確認すると、
"SSH" の名称で規制が追加されているはず。
windows_openssh06.png

"SSH" のプロパティを確認すると、
[プロトコルおよびポート] タブで、TCPポート22番が設定されているのがわかる。
windows_openssh07.png



sshd と ssh-agent サービスの起動


コマンドを実行する。

Set-Service sshd -StartupType Automatic
Set-Service ssh-agent -StartupType Automatic




追加された設定を確認してみる。
[コントロールパネル] - [管理ツール] から、
[サービス] をクリックし、サービスの一覧を表示させる。
windows_openssh08.png
"sshd" と "ssh-agent" のスタートアップの種類が、"自動"になっているはず。

この設定でWindowsが起動すれば、自動的に "sshd" と "ssh-agent" のサービスの起動する。


再起動させ、確認してみる。
再起動後、サービスの一覧を表示させると、
windows_openssh09.png
状態が、"実行中"となっているのがわかる。



実行ポリシーを元に戻す


Set-ExecutionPolicy Restricted

実行ポリシーの変更
実行ポリシーは、信頼されていないスクリプトからの保護に役立ちます。実行ポリシーを変更すると、about_Execution_Policies
のヘルプ トピック (http://go.microsoft.com/fwlink/?LinkID=135170)
で説明されているセキュリティ上の危険にさらされる可能性があります。実行ポリシーを変更しますか?
[Y] はい(Y) [A] すべて続行(A) [N] いいえ(N) [L] すべて無視(L) [S] 中断(S) [?] ヘルプ (既定値は "N"): y


設定を確認し、元に戻っていることを確認する。

Get-ExecutionPolicy

Restricted







他の端末からWindowsにsshでログイン


Tera Termを使い、ログインしてみる。
SSHサーバーとなるWindowsPCのIPアドレスとポート番号を入れ、接続する。
windows_openssh10.png

サーバーの確認と、
windows_openssh11.png

アカウント認証が行われる。
SSHサーバーとなるWindowsPCのアカウントとパスワードを入れ、[OK] をクリック。
windows_openssh12.png

認証されると、WindowsPCに接続できた。
windows_openssh13.png






SSHクライアントとして使う


パスは通してあるので
コマンドプロンプト または PowerShell で、コマンドを実行する。
(ウイルスバスターで警告が出た。自己責任で実行許可する)

ssh 接続先ユーザー名@接続先IPアドレス



接続はできたが、はっきり言って、画面はコマンドプロンプトやPowerShellのままなので、
あまり使い勝手は良いものではない。






SSHサーバーのポート番号を変更


SSHサーバーのポート番号の初期値は、22番ポートを使う。
セキュリティ向上のため、ポート番号の変更をしておく。



ポート番号を変更


PowerShellを管理者権限で起動し、OpenSSHフォルダに移動。
"sshd_config" ファイルを開く。

notepad .\sshd_config


#Port 22
↓コメントアウトを外し、22番以外に変更。
Port 50022



変更したらファイルを保存。



Windowsファイアウォールの変更


インストール時には、ポート22番で設定をした。
変更したポート番号で、ファイアウォールも変更する。

[コントロールパネル] - [Windowsファイアウォール] - [詳細設定] から、
[受信の規制] をクリック。

"SSH" を選択し、右クリックから [プロパティ] を選択し、
[プロトコルおよびポート] タブで、変更したポート番号に合わせる。
windows_openssh15.png


これで、他の端末からsshでログインするときには、
22番ではなく、変更したポート番号が有効となる。






公開鍵認証


セキュリティを高めるため、パスワード認証によるアクセスを禁止し、公開鍵認証を有効にする。



公開鍵認証を有効化


PowerShellを管理者権限で起動し、OpenSSHフォルダに移動。
"sshd_config" ファイルを開く。

notepad .\sshd_config


#PubkeyAuthentication yes
↓コメントアウトを外す。
PubkeyAuthentication yes


#PasswordAuthentication yes
↓コメントアウトを外し、"no" を設定。
PasswordAuthentication no



sshdサービスを再起動させれば、
パスワード認証が禁止になり、公開鍵認証が有効となる。



公開鍵、秘密鍵ペアの作成①


SSHクライアント側で作成し、SSHサーバーへ公開鍵を設定する。
Tera Termを使い作成する。

[設定] - [SSH鍵生成] を選択。
windows_openssh16.png


デフォルトのままでいいので、
(鍵の種類: RSA 、ビット数:2048)
[生成] をクリック。
windows_openssh17.png

生成が完了したら、鍵を保存。
[公開鍵の保存]:適当に名前(*.pub)を付けて保存する。(id_rsa.pub)
後でSSHサーバー側に渡す鍵となる。
windows_openssh18.png

[秘密鍵の保存]:適当に名前(拡張子なし)を付けて保存する。(id_rsa)
パスフレーズは空のままでも大丈夫。
SSHクライアント(Tera Term)で参照する鍵となる。
windows_openssh19.png



公開鍵をSSHサーバーに設定


作成した公開鍵をSSHサーバーにUSBメモリでも何でもいいので渡す。
SSHサーバーでの公開鍵の保存先は、

C:\Users\<ユーザー>\.ssh



新規保存の場合は、渡した公開鍵(*.pub)を
"authorized_keys" に、リネームする。
(補足)
コマンドプロンプトで処理しようと、
type .\id_rsa.pub >> authorized_keys
と実行したら、認証に失敗した。
よくみたら作成された"authorized_keys"ファイルが UTF-16 に変換されていた。
改行コードもCRLFになった。
これでは鍵ペアにならず認証されない。
なので、そのままリネームした。


既に、"authorized_keys" が存在する場合は、
テキストエディタで、"authorized_keys" と、公開鍵(*.pub) を開き、
公開鍵(*.pub)の内容を、"authorized_keys" へ貼り付ければいい。



SSHクライアントから公開鍵認証で接続


Tera Termを使い、ログインしてみる。

ホストとTCPポートを指定して接続。

SSH認証にて、
[RSA/DSA鍵を使う] を選び、作成した秘密鍵を選択する。
ユーザー名とパスフレーズを入力して、[OK] をクリック。
windows_openssh20.png

認証され、接続できた。
windows_openssh21.png




公開鍵、秘密鍵ペアの作成②


①では、クライアント側で鍵を作成した。
試しに、今度は、サーバー側で作成してみる。

SSHサーバーでの公開鍵の保存先で作成する。
PowerShellを起動(管理者権限では無い)し、.sshフォルダに移動。

cd 'C:\Users\<ユーザー>\.ssh'



鍵を作成する。Enterキーを押し、進める。
パスフレーズは空のままで大丈夫。

ssh-keygen -t rsa

Generating public/private rsa key pair.
Enter file in which to save the key (C:\Users\********/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in C:\Users\********/.ssh/id_rsa.
Your public key has been saved in C:\Users\********/.ssh/id_rsa.pub.
....



ここで、作成された "id_rsa.pub" のプロパティを表示、
[セキュリティ]タブを見てみると、
[グループ名またはユーザー名] に、"Everyone" が含まれていた。
windows_openssh22.png

これがあると認証に失敗したので、"Everyone" を削除する。


[編集] をクリックする。
"Everyone" を選択し、[削除] をクリック。
windows_openssh23.png


あとは、公開鍵ファイル名(id_rsa.pub)を、同様に "authorized_keys" にリネームする。

秘密鍵は、今度は逆にクライアント側に渡す。
この秘密鍵を使い、SSHクライアントから公開鍵認証で接続する。






アンインストール


インストール手順同様に、
PowerShellを管理者権限で起動し、OpenSSHフォルダに移動。

実行ポリシーを変更し、スクリプトの実行を許可しておく。



sshd と ssh-agent サービスをアンインストールする


コマンドを実行。

.\uninstall-sshd.ps1

sshd successfully uninstalled
ssh-agent successfully uninstalled

"successfully uninstalled" と表示されれば完了。

実行ポリシーを元に戻しておく。



Windowsファイアウォールの削除


追加したWindowsファイアウォールも、忘れずに削除しておく。
[コントロールパネル] - [Windowsファイアウォール] - [詳細設定] から、
[受信の規制] をクリック。

"SSH" を選択し、右クリックから [削除] を実行する。
windows_openssh14.png






まとめ


Windowsには、SSHクライアントとして Tera TermPuTTY があるので、SSHクライアントのためにインストールするほどでも無いと思った。

WindowsでSSHサーバーになれるのであれば、SSH ポートフォワーディングが使えるので、
【Windows】 - 【Windows(SSHサーバー)】- 【VirtualBox(ゲストOS)】
という接続ができる。
VirtualBoxを使い動いているゲストOSへ対して、他PCからアクセスできるようになるので
VirtualBoxが入っているPC以外を使い作業していたときに、作業効率が良くなった。



VirtualBox: ホストOSからゲストOSへのアクセス
Ubuntu サーバの初期設定 ssh
Ubuntu サーバの初期設定 ssh(秘密鍵)
posted by Zorinos at 23:00| Comment(0) | Windows | 更新情報をチェックする

2017年06月05日

VirtualBox: ホストOSからゲストOSへのアクセス

VirtualBoxのネットワーク接続設定は、デフォルトでNATになっている。
ゲストOSのIPアドレスは、10.0.2.15 だった。
例えば、ゲストOSでWebサーバーを立て、サーバーにUpしたWebページを見るため、
ホストOSから、"http://10.0.2.15" にアクセスしてもエラーになった。
デフォルトのままでは、ホストOSからゲストOSが見えず、ダメ。

そこで、ホストOSとゲストOSのアクセスについて確認してみる。

以下のような状況を想定をした。
"Webページを公開するために、ローカル環境でWebサーバーを立ててテストを行う"
  • ゲストOSにWebサーバーを立てる
  • ホストOSではWebページの作成・参照
  • ホストOSからSSHでサーバーに接続し、サーバーの設定を行う
  • 公開するWebページの転送はSFTPを使う
  • ゲストOSはアプリケーションのインストールやアップデートのため、
    ホストOS側が外部ネットワークにつながる環境であれば、同じように外部ネットワークとつなげておきたい


ホストOS: Windows10 64bit
ゲストOS: Ubuntu16.04 64bit





①ブリッジアダプター


手っ取り早い方法としては、ブリッジ接続だと思う。
ホストOSと同じネットワークにつながるので、ゲストOSのIPアドレスにアクセスすればWebページが確認できる。
それにネットワークにつながっていれば、ホストOS以外のPCからもゲストOSのWebサーバーにアクセスできるので、複数PCで作業しているときに効率がいい。

ゲストOSに固定IPアドレスを設定しておけば、
ローカル環境をノートPC上で構築したとして、外出先などでローカル環境をネットワークに接続できない環境(DCHPでIPが割り振られない)でも、ゲストOSはIPを固定しているので、Webサーバーにアクセスでき作業を進めることができる。


注意点は、会社などネットワーク・PC管理がしっかりと規定されている環境での使用。
管理外のコンピュータが、勝手に社内のネットワークをつながってしまうため、ひどく怒られる可能性がある。
仮想環境でのゲストOSを、管理者に届け出して、ネットワーク接続の許可を出してもらうという正攻法があるが、それだとゲストOSの設定を自由に変更ができなくなるので、テスト環境でいろいろ試したいという場合の足枷となるし、管理者にとっても煩わしいだろう。



そこで、ブリッジ接続は、ちょっと・・・となるとNAT接続になる。

②NAT + ポートフォワーディング


特定の機能に限定したアクセスで良ければ、ポートフォワーディングを使う。

ゲストOSの設定のネットワークから
アダプターをNAT接続とし、[高度] をクリック。

[ポートフォワーディング] の設定をクリック。
virtualbox_portforward01.png

ポートフォワーディングとは、特定の機能(特定ポートに届いた通信データ)を、別の機能(別のポート)へ転送する仕組み。
これにより、ホストOS側の特定機能の通信データをゲストOSの機能へ転送する事で、ホストOSとゲストOSを接続する。

"+"マークをクリックし、設定を追加する。
virtualbox_portforward02.png

今回は、Webページの参照と、SSHの通信が目的。
以下のように設定した。
virtualbox_portforward03.png

名前

任意。接続目的がわかる名称にしておく。

プロトコル

TCPとUDPが選択可能。機能に合わせて選択。

ホストIP

空白でよい。

ホストポート

使用していないポート番号を指定。ウェルノウンポート以外にしておく。

ゲストIP

空白でよい。

ゲストポート

機能のポート番号を設定。変更してなければデフォルトポートだが、個別で変更しているのであれば適宜対応する。



ゲストOSを再起動させ、確認


ホストOSのブラウザから、上記で設定したポート番号にアクセス。
上記で設定した、
"http://localhost:50080" にアクセス。(または、"http://127.0.0.1:50080")
「It works」のページが表示された
virtualbox_portforward04.png


SSHクライアント Tera Term で接続をしてみる。
上記で設定した、
ホスト名 "localhost"(または、"127.0.0.1") : TCPポート "50022" でアクセス。
virtualbox_portforward05.png

接続できた。
virtualbox_portforward06.png



もし実際のコーディングPCが、ホストOS搭載PC以外であった場合も、ホストOS搭載PCのIPアドレス・ポート番号へアクセスすれば、Web参照、SSH接続が可能。
上記のホストOSのアドレス("localhost")を、外部ネットワークのIPアドレス(例: 192.168.1.202)に変えて、ブラウザやSSHクライアントからアクセスすればよい。




③NAT + ホストオンリー アダプター


「特定の機能だけの接続とか煩わしい、もっとざっくりと接続したい」
となると、ホストオンリー アダプターを使う。
予め、[環境設定] でホストオンリーネットワークを設定しておくこと。

ゲストOSの設定のネットワークから
アダプター1 をNAT接続(デフォルトのまま)に設定。
virtualbox_hostonly01.png


アダプター2 で
[ネットワークアダプターを有効化] にチェックを入れ、
[ホストオンリーアダプター] に設定。
virtualbox_hostonly02.png


ゲストOSが1つだけならば、ホストオンリーネットワークがDHCP設定であっても、
ゲストOSのIPアドレスは決まった割り振りになるだろうから、固定IPアドレスに設定してなくとも大丈夫と思う。
もし複数のゲストOSをホストオンリーネットワークに参加させるのであれば、固定IPアドレスに設定しておくとよい。

ホストオンリーネットワークで振られたゲストOSのIPアドレス(例:192.128.56.101)を使い、ブラウザやSSHクライアントからアクセスできる。


(補足)
Microsoft Edgeでアクセスしようとしたらダメだった。
Microsoft Edgeは、ポートフォワーディングしないとアクセスできないようだった。
原因はループバック接続の問題らしい・・・
(参考:Microsoft Edgeでローカルの仮想マシン上に構築したWebサイト(Webアプリケーション)にアクセスできない
私自身は、本来はChromeメインなので困らないのだが、
今回、試しで Edge で確認していたので、アクセスできずに悩んだ。



デメリットとしては、実際のコーディングPCが、ホストOS搭載PC以外であった場合。
他PCからゲストOSへの道がないので手間がかかる。
他PCからホストOSへのSSHポートフォワードを使って、ゲストOSと接続することになる。
だったら、②NAT + ポートフォワーディング のほうが簡単なんじゃないか。






まとめ


ローカル環境を設置するときにの外部ネットワーク環境や、実際の作業対象PCや、ゲストOSに設置するサーバー機能などから、ネットワーク接続方法を選ぶことになる。

VMware Workstation Player であればNAT設定でホストOSがつながっているので、あまり障害が無いのだが、VirtualBoxはちょっと手間がかかる。

で、何がいいのかとなると、
ローカル環境とするPC(ホストOS)と、ゲストOSが1つだけで進める場合が多いと思うので、安全かつ簡単に構築できるのは、NAT + ホストオンリー アダプター です。



VirtualBox: ネットワーク設定
VMware Workstation Player: ネットワーク設定



posted by Zorinos at 18:00| Comment(0) | Windows | 更新情報をチェックする

2017年05月28日

VirtualBox: ネットワーク設定

VirtualBoxのネットワーク接続方式の設定について違いを調べてみた。
仕組みを理解している訳ではないので、間違っていることもあるが、
自分の中で、こんな感じかなと落ち着いたので残しておこうと思います。


virtualbox_network01.png

未割り当て


  • ネットワークアダプタの機能を割り当てない
  • 通信はできない


NAT


  • デフォルトの設定
  • ゲストOSは、ホストOSのIPアドレスを共有して外部の物理ネットワークと接続
  • 外部ネットワークからはゲストOSのIPアドレスは見えない
  • ゲストOS間はつながらない
  • ホストOSともつながらない


virtualbox_network02.png
(参考:Network Address Translation (NAT)

ゲストOSを単に外部ネットワークにつなげたいというのであれば、
デフォルト設定となっている "NAT" にしておけば問題が少ないでしょう。
他に影響を与えないように閉じた環境になっていて、
ホストOS・他のゲストOSとつながらないところが、
VMware Workstation PlayerのNAT設定とは異なります。

ネットワークアドレスは、10.0.2.0/24 で、
ゲストOSのIPアドレスは、10.0.2.15 が割り当てられます。
10.0.2.2 はゲートウェイ、10.0.2.3 はネームサーバ、10.0.2.4 はTFTPサーバーが割り振られます。
(参考:Fine-tuning the VirtualBox NAT engine



ゲストOSごとにネットワークを構成するので、
ゲストOSは同じIPアドレスになっています。
デフォルトで割り当てられているネットワークアドレスが気に入らなければ、
VBoxManageコマンドを使うことで変更ができます。
(参考:VBoxManage
VBoxManageは、VirutalBoxのCUIで、
VirtualBoxをインストールしたディレクトリにあります。
(C:\Program Files\Oracle\VirtualBox\VBoxManage.exe)


コマンドプロンプトから実行します。
インストールディレクトリにパスが通っていないと思うので、
カレントディレクトリを C:\Program Files\Oracle\VirtualBox に移動してから実行します。

必ず、変更するゲストOSは停止させてから変更してください。

まずは、ゲストOSの一覧を確認。

VBoxManage list vms


これでゲストOSの名称一覧が表示されます。
変更するゲストOSの名称 "VM name" を確認しておきましょう。

停止中のゲストOSのプロパティを変更するコマンド "modifyvm" を使います。
ネットワークアドレスを、192.168.30/24 に変更してみましょう。

VBoxManage modifyvm "VM name" --natnet1 "192.168.30/24"



これでゲストOSを再起動すれば、
ゲストOSには、192.168.30.15 のIPアドレスが割り振られます。






NATネットワーク


  • ゲストOSは、ホストOSのIPアドレスを共有して外部の物理ネットワークと接続
  • 外部ネットワークからはゲストOSのIPアドレスは見えない
  • ゲストOS間で予め設定したNATネットワークを構成する
  • ホストOSはつながらない


ホストOSとつながらない点が異なりますが、
VMware Workstation PlayerのNAT設定に近い状態です。

virtualbox_network07.png


NATネットワーク設定を使うには、
予め、"NATネットワーク" を準備しておく必要があります。
[環境設定] - [ネットワーク] を選び、
[NATネットワーク] タブの右上にある"+"マークのアイコンをクリックして追加する。
virtualbox_network03.png

追加したら、編集アイコンをクリックし、ネットワーク設定を編集する。
virtualbox_network04.png

管理しやすいようにネットワーク名をつけ、
ネットワークアドレスを任意に設定(デフォルトは、10.0.2.0/24)。
[DHCPのサポート]にチェックを入れる。
virtualbox_network05.png

それから、ゲストOSの設定を行う。
ネットワーク設定から、[NATネットワーク] を選択し、
先ほど準備した、"NATネットワーク"環境を選ぶ。
virtualbox_network06.png

これで再起動し、外部との通信と、
ゲストOS間でpingを実行すれば、通信設定ができていることを確認できると思います。





内部ネットワーク


  • 外部ネットワークとは通信できないゲストOS間でネットワークを構成する
  • ホストOSはつながらない



ゲストOS間でネットワークを構築するだけです。
"NATネットワーク"は、VirtualBoxがDHCPを用意してくれる設定がありますが、
内部ネットワークにはありません。ネットワーク設定は自身で行います。
virtualbox_network08.png



まずゲストOSの設定は、
[内部ネットワーク] を選び、ネットワークの名前を任意でつける。
virtualbox_network09.png

同じ内部ネットワークに接続する他のゲストOS設定にも、同じネットワーク名を選択します。



ゲストOSの設定ができれば、それぞれのゲストOSを起動し、
ネットワークインタフェースの設定を行う。
(Ubuntuでの設定)

sudo vi /etc/network/interfaces



ファイルを開いたら、以下を追記する。
インタフェース名は ifconfig とかで調べてます。
ネットワークアドレスは任意に設定してください。

auto enp0sp8
iface enp0sp8 inet static
address 192.168.30.1
netmask 255.255.255.0



他のゲストOSにも同様にネットワークインタフェースの設定を行います。
IPアドレスは 192.168.30.2 ~と、異なる設定をするように。

これで再起動し、IPアドレスを確認し、追記した設定通りに
ネットワーク設定ができていることを確認後、
ゲストOS間でpingを実行すれば、通信ができていることを確認できると思います。






ホストオンリー アダプター


  • 外部ネットワークとは通信できない
  • ホストOSとゲストOS間でネットワークを構成する


VMware Workstation Playerのホストオンリー設定と同じです。
virtualbox_network14.png


ホストOSのIPアドレス設定、DHCPの有効(ネットワーク設定)/無効が可能です。
[環境設定] - [ネットワーク] を選び、
[ホストオンリーネットワーク] タブに設定があります。
virtualbox_network10.png
(新たに設定を追加したいのであれば、右上にある"+"マークのアイコンをクリックして追加する)

設定するネットワークを選択し、
編集アイコンをクリックしてネットワーク設定を行う。

[アダプター] タブでは、ホストOSのIPアドレス設定を行う。
virtualbox_network11.png

[DHCPサーバー] タブでは、DHCPのネットワーク設定を行う。
[サーバーを有効化] にチェックを入れる。
virtualbox_network12.png
サーバーアドレスはホストOSと重ならないように設定。
アドレス下限は、ホストOSとDHCPサーバーと重ならない範囲に設定。
アドレス上限は、broadcastの255と重ならない範囲に設定。


それから、ゲストOSの設定を行う。
ネットワーク設定から、[ホストオンリー アダプター] を選択し、
先ほど準備した、"ホストオンリー アダプター"環境を選ぶ。
virtualbox_network13.png

これで再起動し、
ホストOSとゲストOS間でpingを実行すれば、通信設定ができていることを確認できると思います。




ブリッジ アダプター


  • ゲストOSは、外部の物理ネットワークと接続
  • 外部ネットワークからゲストOSのIPアドレスが見える
  • ホストOSは外部ネットワークを介して、ゲストOSとつながる


VMware Workstation Playerのブリッジ設定と同じです。
virtualbox_network15.png

サーバーとして外部と使うのであれば、ブリッジ接続を設定することになります。






汎用ドライバー


よくわかっていないので割愛。






まとめ


ゲストOSは1つだけで、ゲストOSを通常のクライアントPCとして使うのであれば、
デフォルトのままNAT設定にしておけば、だいたいはうまくいくと思う。
ゲストOSを増やして使いだすと、ややこしくなる。

家庭環境で、サーバーとして利用する場合、
外部からIPアドレスが見えたほうがいいので、ブリッジ接続を設定する。
会社内でPC管理者に相談無しでブリッジ設定を選んでしまうと、
ネットワークに知らないPCがつながってしまう状態になり、
PC管理者に迷惑をかけるので注意。

PCローカル内だけの閉じた環境でサーバーを立てたテストを行う場合は、
NAT環境でかつホストOSとゲストOSの間をつなぐ手段が必要となる。それは別の機会で。



VirtualBox ゲストOSのインストール
VirtualBoxをインストール
VMware Workstation Player: ネットワーク設定
VirtualBox: ホストOSからゲストOSへのアクセス
posted by Zorinos at 22:00| Comment(0) | Windows | 更新情報をチェックする