😀

試験用サーバを VirtualBox で立ち上げる

2025/01/23に公開

はじめに

以前に作ったのですが、メモを作ってなかったので、とりあえずここに記します。

やりたいこと

  • ホストからゲストにアクセス可能
  • ゲストからホストにアクセス可能
  • ゲストから外部にアクセス可能
  • 外部からゲストにはアクセスできない

というようにしたいと考えています。

必要な設定

ホストオンリーネットワークの作成

マネージャーで「ツール」を選択すると、ネットワーク設定のパネルが出ます。
「ホストオンリーネットワーク」のタブを選択します。
下の設定記述部で

  • 「アダプター」タブで
    • 「アダプターを手動で設定」を選択
    • 「IPv4アドレス」を "192.168.56.1" にする
    • 「IPv4ネットマスク」を "255.255.255.0" にする
  • 「DHCPサーバー」タブで
    • 「サーバを有効化」にチェックを入れない (無効にする)

こうしたうえで「作成」ボタンをクリックします。

一般ユーザ権限なら管理者への昇格を求められますので、昇格させると、ホストオンリーネットワークが生成されます。

このあと、一覧に出現するホストオンリーネットワークの名前は覚えておいてください (ふつうは一つだけなので覚えるまでもないです)。

個別インスタンスの設定 (共通)

インスタンスのネットワーク設定を次のようにします。

  • 「アダプター1」は(ゲストから見たら)インバウンド用で次の設定を施します。
    • 割り当てを「NAT」にする
  • 「アダプター2」は(ゲストから見たら)アウトバウンド用で次の設定を施します。
    • 割り当てを「ホストオンリーアダプター」にする
    • 名前を、ホストオンリーネットワークの生成時に出現した名前を選択します。

FreeBSDの設定 (192.168.56.68)

FreeBSD機を作って、192.168.56.68で受けられるようにします。

/etc/rc.conf に次のように設定します。

ifconfig_em0="DHCP"
ifconfig_em1="inet 192.168.56.68 netmask 255.255.255.0"
defaultrouter="10.0.2.2"
  • em0は「アダプター1」に該当するので、DHCPを出してもらうことになります。
  • em1は「アダプター2」に該当するので、固定IPアドレスを設定します (ここでは192.168.56.68としています)。
  • デフォルトルータはem0 (NAT)側に出します。仮想ルータのIPアドレスが 10.0.2.2 になっているのは仕様としてそうなっているようです。

システムインストール時はem0だけ DHCP で繋げられるようにしておくと、バイナリ等のダウンロードが可能となります。その後でem1の設定をするといいと思います。

Ubuntuの設定 (192.168.56.69)

今度は Ubuntu機を作って、192.168.56.69で受けられるようにします。

インストール時に、"Network configuration" で設定します。

  • enp0s3は「アダプター1」に該当するので、自動でコンフィギュレーションしてくれます。
  • enp0s8は「アダプター2」に該当するので、"Edit"/"Manually" で、固定IPアドレスを設定します。
    • Subnet: 192.168.56.0/24
    • Address: 192.168.56.69
    • Gateway: (なし)
    • Name servers: (なし)
    • Searech domains: (なし)

/etc/netplan/00-installer-config.yaml は次のようになっています。

network:
  ethernets:
    enp0s3:
      dhcp4: true
    enp0s8:
      addresses:
      - 192.168.56.69/24
      nameservers:
        addresses: []
        search: []
  version: 2

おわりに

いかがだったでしょうか。設定をどこかを参考にして書いてるはずなんですが、どこから引き写したか記憶が定かでないとかなんとか。
すみません。

本記事のライセンス

クリエイティブ・コモンズ・ライセンス
この記事は クリエイティブ・コモンズ 表示 4.0 国際 ライセンス の下に提供されています。

Discussion