Tools別記事の続きです。ここではポートフォワードの設定や仮想メディアの情報取得について書いておきます。完成形のサンプルは最後に掲載します。ポートフォワードの設定IPアドレスの数が限られている環境ではNATを使って、ホストのアドレスを各VMで共用すると便利です。サーバ用途など外側からのアクセスが必要な場合は、ポートフォワードで特定のポートに接続させる構成が可能です。いうか、私がVirtualBoxを使う理由はこのポートフォワードが比較的簡単に構成できるためです。IPマスカレード)が構成できるネットワークは2種類あります。VM間通信用のセグメントがない”NAT”(VM作成時のデフォルト)と、専用のセグメントを仮想的に作成しVM間がローカルなアドレスで通信できる”NATNetwork”の2種類です。複数のVMで同じセグメントを共有する必要がない場合、例えばpingは疎通させなくてもいい、とか固定のアドレスを持つ必要がないなど、であれば前者の”NAT”で十分です。私も特にVM間通信が不要な使い方ばかりなので、”NATNetwork”は使わず、専ら”NAT”を使っています。一般的な用語としてのNATではなく、VirtualBoxの仮想NICの構成種別としての”NAT”です。外からのアクセスを待ち受けるには、ポートフォワードを設定し、ゲスト側とホスト側のポートを関連付けます。APIでは、”NAT”向けのポートフォワードをredirect、”NATNetwork”向けのポートフォワードをportforwardと名称を分けているようです。redirectは各VMに対して、portforwardはホスト単位に設定可能なNATネットワーク(仮想セグメント)と呼ばれる仮想ネットワーク毎に設定されます。いずれもiptablesのような高度なパケットフィルタではなく、単にゲストとホストのListenポートの組に対してTCP/UDPのフォワードを定義できるといった基本的なアドレス変換機能になっています。GUIでは下記の画面)のみ扱いますが、メソッドの使い方はportforward(NATNetwork)でも似た感じになっているようなので、参考になると思われます。ホスト側でファイヤウォールを利用している場合(大抵は利用していると思いますが)には当該ポートの受信許可も設定する必要があります。一覧の取得redirectはINATEngine.redirectsから参照できます。IMachine.getNetworkAdapter()に仮想アダプタの番号を指定すると、INetwrokAdapterのプロパティからINATEngineを参照できます。”NAT”の仮想アダプタを期待しているので、種類をチェックしています。nic_.NATEngine.redirects]リダイレクトの各ルール毎の設定を表す文字列の配列となっており、フォーマットはこんな感じになっています。2,1,,6001,,3389']仮想アダプタはデフォルトの設定を使っていると0番のものになると思います。まあPCで使っているレベルなら複数使うケース自体そうないと思いますので0番を設定できれば十分かも知れません。仮想アダプタの最大数はホスト側のハードウェア設定に依存していますがおそらく8くらいの環境が多いと思います。GUIからは4つまで参照でき、以降の設定は設定ファイル経由で設定できます。種類に”NAT”を指定したアダプタの場合、ゲスト側(NAT内側)のアドレスは自動的に割り振られる(10.0.2.15)ので、今回は指定せず自動とします。リダイレクトを追加するには、INATEngine.addRedirect()を使います。sessionvm_.saveSettings()self.manager.closeMachineSession(session_)また、設定変更のために対象のロックIMachine.lockMachine()、設定保存IMachine.saveSettings()を呼んだうえで明示的にセッションを終了closeMachineSession()します。リダイレクトの削除リダイレクトを削除するには名前を指定してINATEngine.removeRedirect()を呼びます。ロック取得から設定変更の流れは追加の場合と同じです。APIでは、仮想ハードディスクや仮想DVDドライブはメディアmediumとして定義されています。設定を調べる場合のほか、可変仮想HDDを縮小する際など、IDを取得できると便利です。VMごとに接続されているメディアをIMachine.mediumAttachmentsから取得します。buf_.state))...取得した結果はこんな感じになります。サンプル前回分と合わせてサンプルは下記のようにしました。{}".format(buf_.location))おわり。usta関連記事Windowsが自動作成したファイルに連番を付ける特定のディレクトリ直下にあるファイルの名前を連番に変更したいとき、意外にうまくいかないケースがあります。3にcrowi-plus/GROWIをセットアップするcrowi-plusはCrowiのカスタム版。3上に構築したときのメモです。~二代目の帰朝~別記事の続きです。データの登録と検索について記載します。...記事を読むLinuxでディスクを追加するLinuxでディスクを追加しようとする度にコマンドを検索しなおすのが面倒なのでメモしておきます。パーテ...記事を読むUbuntu18にGrowiをインストールするGrowiをインストールしたときのメモ。(セットアップ~VM電源操作)仮想マシン環境と言えば色々ありますが、個人的にはVirtualBoxがPC環境でも使いやすいと思っています。APIを作成する~おかわり~以前の記事でBottleを使ったAPIを作成しました。ここではもうちょっと進んだ例を書いていきたいと思います。(1803)ですが、我が家...記事を読むPythonでMongoDBにアクセスするMongoDBはスキーマ定義が柔軟なドキュメント指向のデータベース。コメントをキャンセルメールアドレスが公開されることはありません。コメントデータの処理方法の詳細はこちらをご覧ください。