VirtualBox 7.0で2台の仮想マシンを接続しました!

これまでに、VirtualBox 7.0を使用し、CentOS Stream 9、Miracle Linux 9.0とUbuntu 22.04 LSTの仮想マシンを作成してきました。
Windows11は、ゲストOSとしてインストールできず、仮想マシンを作成できませんでした。

これらの仮想マシンを2台起動し、ネットワークで接続することにします。

使用しているノートPCは、AMD Ryzen 7 5700U with Radeon Graphics(1.8GHz、8コア、16スレッド)、64GBのメモリーを搭載しているので、2台の仮想マシンを同時に起動することができます。

クローンした仮想マシンが起動せず、仕方なく、ホスト名を変えてOSからのインストールを行い(CentOS Stream 9Miracle Linux 9.0Ubuntu 22.04 LST)、仮想マシンを用意しました。

  • CentOS9-Ser(ホスト名:centos9-ser)
  • CentOS9-Cli(ホスト名:centos9-cli)
  • Miracle9-Ser(ホスト名:miracle9-ser)
  • Miracle9-Cli(ホスト名:miracle9-cli)
  • Ubuntu2204-Ser(ホスト名:ubuntu2204-ser)
  • Ubuntu2204-Cli(ホスト名:ubuntu2204-cli)

仮想マシンのポート番号を変更し、仮想マシンにネットワークアダプタを追加し、仮想マシンを起動し、IPアドレスを設定し、2台の仮想マシンを起動し、ネットワークで接続し、pingとsshを使用して、接続した2台の仮想マシンで動作を確認します。

CentOS Stream 9、Miracle Linux 9.0とUbuntu 22.04 LSTは、ホスト名はOSをインストールしたときに設定済みで、SSHサーバーをインストールしたときに、SSHクライアントもインストールされています。

ポート番号の変更

Tera Termで接続する際に、先に起動した仮想マシンにしか接続できないのは、不便なのです。
仮想マシン「CentOS9-Ser」、仮想マシン「Miracle9-Ser」と仮想マシン「Ubuntu2204-Ser」には空きポートの「1101」を割り当てます。
仮想マシンを選択し、「設定」をクリックし、「ネットワーク」を選択し、「ポートフォワーディング」をクリックします。

「ホストポート番号」を空きポートの「1101」に変更し、「OK」をクリックします。

「OK」をクリックします。

仮想マシン「CentOS9-Cli」、仮想マシン「Miracle9-Cli」と仮想マシン「Ubuntu2204-Cli」には空きポートの「1102」を割り当てます。
仮想マシンを選択し、「設定」をクリックし、「ネットワーク」を選択し、「ポートフォワーディング」をクリックします。

「ホストポート番号」を空きポートの「1102」に変更し、「OK」をクリックします。

「OK」をクリックします。

ネットワークアダプタの追加

CentOS Stream 9、Miracle Linux 9.0、Ubuntu 22.04 LSTというOSによる違いはなく、仮想マシンにネットワークアダプタの追加します。
仮想マシンを選択し、設定をクリックします。

「ネットワーク」を選択し、「アダプター2」をクリックし、「ネットワークアダプターを有効化(E)」にチェックを入れて、「割り当て」に「内部ネットワーク」を設定し、「OK」をクリックします。

以下の仮想マシンに対して、同じことを行います。

  • CentOS9-Ser
  • CentOS9-Cli
  • Miracle9-Ser
  • Miracle9-Cli
  • Ubuntu2204-Ser
  • Ubuntu2204-Cli

IPアドレス等の設定

CentOS Stream 9:仮想マシン「CentOS9-Ser」

仮想マシン「CentOS9-Ser」を起動し、以下ようにホスト名とIPアドレス等を変更し、停止します。

インターフェース名 enp0s8
IPアドレス 10.0.0.101
ネットマスク 255.255.255.0
ドメインネームサーバー 8.8.8.8
デフォルトゲートウェイ なし

物理デバイス、IPアドレス等の設定を行う論理デバイス、論理デバイスの設定状況を確認します。
$ su –
パスワード:
# nmcli device
# nmcli connection

物理デバイスを論理デバイスに接続し、仮想マシン起動時に物理デバイスを論理デバイスに接続するように設定し、論理デバイスにIPアドレス等を割り当て、静的IPアドレス(Static IP address)に設定し、確認します。
# nmcli connection add ifname enp0s8 con-name enp0s8 type ethernet autoconnect yes
# nmcli connection modify enp0s8 ipv4.addresses 10.0.0.101/24
# nmcli connection modify enp0s8 ipv4.dns 8.8.8.8
# nmcli connection modify enp0s8 ipv4.method manual
# nmcli device
# nmcli connection
# nmcli connection up enp0s8
# ip addr show

仮想マシン「CentOS9-Ser」を再起動します。
# shutdown -r now

仮想マシン「CentOS9-Ser」を再起動しても、IPアドレス等が設定通りになっていることを確認します。
$ su –
password:
# nmcli device
# nmcli connection
# ip addr show

仮想マシン「CentOS9-Ser」を停止します。
# shutdown -h now

CentOS Stream 9:仮想マシン「CentOS9-Cli」

仮想マシン「CentOS9-Cli」を起動し、以下ようにホスト名とIPアドレス等を変更し、停止します。

インターフェース名 enp0s8
IPアドレス 10.0.0.102
ネットマスク 255.255.255.0
ドメインネームサーバー 8.8.8.8
デフォルトゲートウェイ なし

物理デバイス、IPアドレス等の設定を行う論理デバイス、論理デバイスの設定状況を確認します。
$ su –
パスワード:
# nmcli device
# nmcli connection

物理デバイスを論理デバイスに接続し、仮想マシン起動時に物理デバイスを論理デバイスに接続するように設定し、論理デバイスにIPアドレス等を割り当て、静的IPアドレス(Static IP address)に設定し、確認します。
# nmcli connection add ifname enp0s8 con-name enp0s8 type ethernet autoconnect yes
# nmcli connection modify enp0s8 ipv4.addresses 10.0.0.102/24
# nmcli connection modify enp0s8 ipv4.dns 8.8.8.8
# nmcli connection modify enp0s8 ipv4.method manual
# nmcli device
# nmcli connection
# nmcli connection up enp0s8
# ip addr show

仮想マシン「CentOS9-Cli」を再起動します。
# shutdown -r now

仮想マシン「CentOS9-Cli」を再起動しても、IPアドレス等が設定通りになっていることを確認します。
$ su –
password:
# nmcli device
# nmcli connection
# ip addr show

仮想マシン「CentOS9-Cli」を停止します。
# shutdown -h now

Miracle Linux 9.0:仮想マシン「Miracle9-Ser」

仮想マシン「Miracle9-Ser」を起動し、ホスト名とIPアドレス等を以下のように設定し、停止します。

インターフェース名 enp0s8
IPアドレス 10.0.0.101
ネットマスク 255.255.255.0
ドメインネームサーバー 8.8.8.8
デフォルトゲートウェイ なし

物理デバイス、IPアドレス等の設定を行う論理デバイス、論理デバイスの設定状況を確認します。
$ su –
パスワード:
# nmcli device
# nmcli connection

物理デバイスを論理デバイスに接続し、仮想マシン起動時に物理デバイスを論理デバイスに接続するように設定し、論理デバイスにIPアドレス等を割り当て、静的IPアドレス(Static IP address)に設定し、確認します。
# nmcli connection add ifname enp0s8 con-name enp0s8 type ethernet autoconnect yes
# nmcli connection modify enp0s8 ipv4.addresses 10.0.0.101/24
# nmcli connection modify enp0s8 ipv4.dns 8.8.8.8
# nmcli connection modify enp0s8 ipv4.method manual
# nmcli device
# nmcli connection
# nmcli connection up enp0s8
# ip addr show

仮想マシン「Miracle9-Ser」を再起動します。
# shutdown -r now

仮想マシン「Miracle9-Ser」を再起動しても、ホスト名とIPアドレス等が設定通りになっていることを確認します。
$ su –
password:
# nmcli device
# nmcli connection
# ip addr show

仮想マシン「Miracle9-Ser」を停止します。
# shutdown -h now

Miracle Linux 9.0:仮想マシン「Miracle9-Cli」

仮想マシン「Miracle9-Cli」を起動し、IPアドレス等を以下のように設定し、停止します。

インターフェース名 enp0s8
IPアドレス 10.0.0.102
ネットマスク 255.255.255.0
ドメインネームサーバー 8.8.8.8
デフォルトゲートウェイ なし

物理デバイス、IPアドレス等の設定を行う論理デバイス、論理デバイスの設定状況を確認します。
$ su –
パスワード:
# nmcli device
# nmcli connection

物理デバイスを論理デバイスに接続し、仮想マシン起動時に物理デバイスを論理デバイスに接続するように設定し、論理デバイスにIPアドレス等を割り当て、静的IPアドレス(Static IP address)に設定し、確認します。
# nmcli connection add ifname enp0s8 con-name enp0s8 type ethernet autoconnect yes
# nmcli connection modify enp0s8 ipv4.addresses 10.0.0.102/24
# nmcli connection modify enp0s8 ipv4.dns 8.8.8.8
# nmcli connection modify enp0s8 ipv4.method manual
# nmcli device
# nmcli connection
# nmcli connection up enp0s8
# ip addr show

仮想マシン「Miracle9-Cli」を再起動します。
# shutdown -r now

仮想マシン「Miracle9-Cli」を再起動しても、IPアドレス等が設定通りになっていることを確認します。
$ su –
password:
# nmcli device
# nmcli connection
# ip addr show

仮想マシン「Miracle9-Cli」を停止します。
# shutdown -h now

Ubuntu 22.04 LST:仮想マシン「Ubuntu2204-Ser」

仮想マシン「Ubuntu2204-Ser」を起動し、IPアドレス等を以下のように変更し、停止します。

インターフェース名 enp0s8
IPアドレス 10.0.0.101
ネットマスク 255.255.255.0
ドメインネームサーバー 8.8.8.8
デフォルトゲートウェイ なし

IPアドレス等の設定は、/etc/netplanに拡張子”.yaml”の設定ファイルを保存することで行い、適用し、確認します。
$ sudo cp /etc/netplan/01-network-manager-all.yaml /etc/netplan/02-enp0s8-fixed.yaml
$ sudo vi /etc/netplan/02-enp0s8-fixed.yaml

network:
   version: 2
   renderer: NetworkManager
   ethernets:
      enp0s8:
         addresses: [10.0.0.101/24]
         nameservers:
            addresses: [8.8.8.8]

$ sudo cat /etc/netplan/02-enp0s8-fixed.yaml
$ sudo netplan apply
$ ip addr show

仮想マシン「Ubuntu2204-Srv」を再起動します。
$ sudo shutdown -r now

仮想マシン「Ubuntu2204-Srv」を再起動しても、IPアドレス等が設定通りになっていることを確認します。
$ ip addr show

仮想マシン「Ubuntu2204-Srv」を停止します。
$ sudo shutdown -h now

Ubuntu 22.04 LST:仮想マシン「Ubuntu2204-Cli」

仮想マシン「Ubuntu2204-Cli」を起動し、IPアドレス等を以下のように変更し、停止します。

インターフェース名 enp0s8
IPアドレス 10.0.0.102
ネットマスク 255.255.255.0
ドメインネームサーバー 8.8.8.8
デフォルトゲートウェイ なし

IPアドレス等の設定は、/etc/netplanに拡張子”.yaml”の設定ファイルを保存することで行い、適用し、確認します。
$ sudo cp /etc/netplan/01-network-manager-all.yaml /etc/netplan/02-enp0s8-fixed.yaml
$ sudo vi /etc/netplan/02-enp0s8-fixed.yaml

network:
   version: 2
   renderer: NetworkManager
   ethernets:
      enp0s8:
         addresses: [10.0.0.102/24]
         nameservers:
            addresses: [8.8.8.8]

$ sudo cat /etc/netplan/02-enp0s8-fixed.yaml
$ sudo netplan apply
$ ip addr show

仮想マシン「Ubuntu2204-Cli」を再起動します。
$ sudo shutdown -r now

仮想マシン「Ubuntu2204-Cli」を再起動しても、IPアドレス等が設定通りになっていることを確認します。
$ ip addr show

仮想マシン「Ubuntu2204-Cli」を停止します。
$ sudo shutdown -h now

ssh接続

最初のssh接続では、以下のように表示されるので、以下のように入力します。
$ ssh miracle@10.0.0.101
Are you sure you want to continue connecting (yes/no/[fingreprint])?:yes
miracle@10.0.0.101’s password:

2度目以降は、以下のように表示されます。
$ ssh miracle@10.0.0.101
miracle@10.0.0.101’s password:

仮想マシンのネットワーク接続

仮想マシンを同時に起動することで、仮想マシンを内部ネットワークで接続します。
同じIPアドレスを持つ仮想マシン同士はネットワーク接続できないので、以下のパターンで行います。

仮想マシン「CentOS9-Ser」と仮想マシン「CentOS9-Cli」

仮想マシン「CentOS9-Ser」と仮想マシン「CentOS9-Cli」を起動します。

Tera Termを起動して、ホスト名に「127.0.0.1:1101」を入力し、「OK」をクリックします。

「続行(C)」をクリックします。

ユーザー名に「centos」、パスワードに「centos」を入力し、「OK」をクリックします。

仮想マシン「CentOS9-Ser」に接続します。

Tera Termを起動して、ホスト名に「127.0.0.1:1102」を入力し、「OK」をクリックします。

「続行(C)」をクリックします。

ユーザー名に「centos」、パスワードに「centos」を入力し、「OK」をクリックします。

仮想マシン「CentOS9-Cli」に接続します。

仮想マシン「CentOS9-Ser」でARPキャッシュテーブルを確認し、pingを返信後に、ARPキャッシュテーブルを再確認します。
$ arp
$ arp
仮想マシン「CentOS9-Cli」のIPアドレスとMACアドレスが登録されていることを確認します。

仮想マシン「CentOS9-Cli」でARPキャッシュテーブルを確認し、仮想マシン「CentOS9-Ser」へpingで疎通を確認し、ARPキャッシュテーブルを再確認します。
$ arp
$ ping -c 3 10.0.0.101
$ arp
仮想マシン「CentOS9-Ser」のIPアドレスとMACアドレスが登録されていることを確認します。

仮想マシン「CentOS9-Cli」から仮想マシン「CentOS9-Ser」へsshで入り、抜けられることを確認します。
$ ssh centos@10.0.0.101
centos@10.0.0.101’s password:
$ exit

仮想マシン「CentOS9-Ser」から仮想マシン「CentOS9-Cli」へsshで入り、抜けられることを確認します。
$ ssh centos@10.0.0.102
centos@10.0.0.102’s password:
$ exit

仮想マシン「CentOS9-Ser」を停止します。
$ su –
パスワード:
# shutdown -h now

仮想マシン「CentOS9-Cli」を停止します。
$ su –
パスワード:
# shutdown -h now

仮想マシン「Miracle9-Ser」と仮想マシン「Miracle9-Cli」

仮想マシン「Miracle9-Ser」と仮想マシン「Miracle9-Cli」を起動します。

Tera Termを起動して、ホスト名に「127.0.0.1:1101」を入力し、「OK」をクリックします。
「続行(C)」をクリックします。
ユーザー名に「miracle」、パスワードに「miracle」を入力し、「OK」をクリックします。
仮想マシン「Miracle9-Ser」に接続します。

Tera Termを起動して、ホスト名に「127.0.0.1:1102」を入力し、「OK」をクリックします。
「続行(C)」をクリックします。
ユーザー名に「miracle」、パスワードに「miracle」を入力し、「OK」をクリックします。
仮想マシン「Miracle9-Cli」に接続します。

仮想マシン「Miracle9-Ser」でARPキャッシュテーブルを確認し、pingを返信後に、ARPキャッシュテーブルを再確認します。
$ arp
$ arp
仮想マシン「Miracle9-Cli」のIPアドレスとMACアドレスが登録されていることを確認します。

仮想マシン「Miracle9-Cli」でARPキャッシュテーブルを確認し、仮想マシン「Miracle9-Ser」へpingで疎通を確認し、ARPキャッシュテーブルを再確認します。
$ arp
$ ping -c 3 10.0.0.101
$ arp
仮想マシン「Miracle9-Ser」のIPアドレスとMACアドレスが登録されていることを確認します。

仮想マシン「Miracle9-Cli」から仮想マシン「Miracle9-Ser」へsshで入り、抜けられることを確認します。
$ ssh miracle@10.0.0.101
miracle@10.0.0.101’s password:
$ exit

仮想マシン「Miracle9-Ser」から仮想マシン「Miracle9-Cli」へsshで入り、抜けられることを確認します。
$ ssh miracle@10.0.0.102
miracle@10.0.0.102’s password:
$ exit

仮想マシン「Miracle9-Ser」を停止します。
$ su –
パスワード:
# shutdown -h now

仮想マシン「Miracle9-Cli」を停止します。
$ su –
パスワード:
# shutdown -h now

仮想マシン「Ubuntu2204-Srv」と仮想マシン「Ubuntu2204-Cli」

仮想マシン「Ubuntu2204-Ser」と仮想マシン「Ubuntu2204-Cli」を起動します。

Tera Termを起動して、ホスト名に「127.0.0.1:1101」を入力し、「OK」をクリックします。
「続行(C)」をクリックします。
ユーザー名に「ubuntu」、パスワードに「ubuntu」を入力し、「OK」をクリックします。
仮想マシン「Ubuntu2204-Ser」に接続します。

Tera Termを起動して、ホスト名に「127.0.0.1:1102」を入力し、「OK」をクリックします。
「続行(C)」をクリックします。
ユーザー名に「ubuntu」、パスワードに「ubuntu」を入力し、「OK」をクリックします。
仮想マシン「Ubuntu2204-Cli」に接続します。

仮想マシン「Ubuntu2204-Ser」でARPキャッシュテーブルを確認し、pingを返信後に、ARPキャッシュテーブルを再確認します。
$ arp
$ arp
仮想マシン「Ubuntu2204-Cli」のIPアドレスとMACアドレスが登録されていることを確認します。

仮想マシン「Ubuntu2204-Cli」でARPキャッシュテーブルを確認し、仮想マシン「Ubuntu2204-Ser」へpingで疎通を確認し、ARPキャッシュテーブルを再確認します。
$ arp
$ ping -c 3 10.0.0.101
$ arp
仮想マシン「Ubuntu2204-Ser」のIPアドレスとMACアドレスが登録されていることを確認します。

仮想マシン「Ubuntu2204-Cli」から仮想マシン「Ubuntu2204-Ser」へsshで入り、抜けられることを確認します。
$ ssh ubuntu@10.0.0.101
ubuntu@10.0.0.101’s password:
$ exit

仮想マシン「Ubuntu2204-Ser」から仮想マシン「Ubuntu2204-Cli」へsshで入り、抜けられることを確認します。
$ ssh ubuntu@10.0.0.102
ubuntu@10.0.0.102’s password:
$ exit

仮想マシン「Ubuntu2204-Ser」を停止します。
$ sudo shutdown -h now
パスワード:

仮想マシン「Ubuntu2204-Cli」を停止します。
$ sudo shutdown -h now
パスワード:

まとめ

ネットワークの設定を間違えて、再起動不能になり、仮想マシンを完全に削除して、OSからの再インストールをしました。
ネットワークの設定に慣れていない人は、ネットワークの設定を変更する前に、仮想マシンをクローンして、クローンした仮想マシンでネットワークの設定を変更すれば、間違えても、仮想マシンを完全に削除して、仮想マシンをクローンするだけで、やり直すことができます。
これが、仮想マシンの良いところでが、クローンした仮想マシンが起動できなかったのは残念でした。

単純化するために、IPアドレスを仮想マシン「CentOS9-Ser」、仮想マシン「Miracle9-Ser」と仮想マシン「Ubuntu2204-Srv」には「10.0.0.101」、仮想マシン「CentOS9-Cli」、仮想マシン「Miracle9-Cli」と仮想マシン「Ubuntu2204-Cli」には「10.0.0.102」を割り当てました。
そのため、仮想マシンの組み合わせが限定されてしまいました。
すべての仮想マシンに異なるIPアドレスを割り当てていたら、すべての組み合わせで仮想マシンをネットワークで接続でき、動作確認ができたはずです。
サーバー&クライアントに関する学習環境としては、この中の一つがあれば、十分です。

2台の仮想マシンを接続し、サーバー&クライアント環境を構築すれば、Linuxを学習し、「LPIC-2」、「LinuC-2」と「Red Hat 認定システム管理者 (RHCSA)」に合格することができる環境が整いました。

IT業界やネットワーク業界に就職するなら、Linuxやネットワークに関する知識は必須です。
Linuxやネットワークが理解できないなら、IT業界やネットワーク業界に向いていないとも言えます。
IT業界に就職したら、「LPIC-1」または「LinuC-1」、「LPIC-2」、「LinuC-2」または「Red Hat 認定システム管理者 (RHCSA)」は、資格は働きながらでも、すぐに取得するように、言われる資格です。
自分は、「LPIC-1」と「LPIC-2」を取得しましたが、働きながら、簡単に取得できるような資格ではないです。
学生中、就職する前に「LPIC-1」と「LPIC-2」資格を取得することで、IT業界に向いているのかどうかも自分で判断できるようになりますし、IT業界に就職するなら、履歴書にも記載できますし、入社後、「LPIC-1」と「LPIC-2」資格を取得するという苦労がしなくてすみます。

環境は、整いましたが、理解できない人もいるでしょう。
サーバーとクライアントは、ネットワークでつながっています。
ネットワークが理解できないと、サーバー&クライアントも理解できません。
ネットワーク接続できるのは、同じプロトコルを使用しているからです。
次は、この環境でのネットワークの動作を図で分かりやすく、図を使用して、解説するブログ記事にする予定です。
ご期待ください。

面白いと思った方は、クリックして、応援してね!
にほんブログ村 シニア日記ブログへ   にほんブログ村 シニア日記ブログ 60歳代へ