1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

VirtualBox上のUbuntu 24.04でHost-Only側に固定IPを設定する【Netplan】

1
Posted at

VirtualBox上のUbuntu 24.04でHost-Only側に固定IPを設定する【Netplan】

はじめに

Ansibleの検証環境を作るため、VirtualBox上に複数のUbuntu Serverを用意しました。

今回の構成では、

  • NAT:インターネット接続用
  • Host-Only:管理サーバと管理対象サーバ間の通信用

として、2つのネットワークアダプターを使用しています。

そのうえで、Ansibleから管理対象を安定して指定できるように、Host-Only側へ固定IPを設定しました。

この記事では、実際に自宅の検証環境で行った、

ネットワークインターフェース確認
↓
Netplan設定
↓
設定反映
↓
IPアドレス確認
↓
pingによる疎通確認

までをまとめます。


環境

今回使用した環境です。

項目 内容
仮想化ソフト VirtualBox
OS Ubuntu 24.04
管理サーバ controller
管理対象 tokyo / yokohama / omiya

IPアドレスは次のように設定します。

サーバ IPアドレス
controller 192.168.56.10
tokyo 192.168.56.11
yokohama 192.168.56.12
omiya 192.168.56.13

今回はcontrollerを例に説明します。


ネットワーク構成

VirtualBoxでは、次のように2つのネットワークアダプターを使用しています。

Ubuntu VM
│
├─ アダプター1:NAT
│     └─ インターネット接続用
│
└─ アダプター2:Host-Only
      └─ 管理用通信

NAT側はインターネット接続に使用し、Host-Only側をcontrollerと管理対象サーバ間の通信に使用します。

今回固定IPを設定するのは、Host-Only側です。


ネットワークインターフェースを確認する

まず、Ubuntu側でネットワークインターフェースを確認します。

ip addr

私の環境では、

enp0s3
enp0s8

のように複数のインターフェースが表示されました。

ここで重要なのは、

「Host-Only側は必ずenp0s8」と決めつけないこと

です。

環境によってインターフェース名は異なる可能性があります。

自分の環境でNAT側とHost-Only側を確認してから、固定IPを設定します。


なぜHost-Only側を固定IPにするのか

今回この環境を作った目的は、Ansibleで複数台のLinuxサーバを管理することです。

今後Ansibleでは、

tokyo      → 192.168.56.11
yokohama   → 192.168.56.12
omiya      → 192.168.56.13

のように管理対象を指定します。

接続先のIPアドレスが変わってしまうと、そのたびにAnsible側の設定も見直す必要があります。

そのため、管理通信に使用するHost-Only側に固定IPを設定しました。

自分の場合は、

「Ansibleに接続先サーバの住所を教えるため」

と考えると理解しやすかったです。


Netplanの設定ファイルを確認する

UbuntuではNetplanを使ってネットワーク設定を管理します。

まず、設定ファイルを確認します。

ls -l /etc/netplan/

環境によって、

01-netcfg.yaml
50-cloud-init.yaml

など、ファイル名が異なる場合があります。

そのため、最初からファイル名を決めつけず、自分の環境に存在するファイルを確認します。

設定内容を確認する場合は、

sudo cat /etc/netplan/<実際のファイル名>

とします。

設定を変更する場合は、

sudo nano /etc/netplan/<実際のファイル名>

とします。


Host-Only側に固定IPを設定する

今回のcontrollerでは、次のように設定しました。

network:
  version: 2
  ethernets:
    enp0s3:
      dhcp4: true
    enp0s8:
      dhcp4: false
      addresses:
        - 192.168.56.10/24

役割は次のとおりです。

enp0s3
→ NAT側
→ dhcp4: true

enp0s8
→ Host-Only側
→ dhcp4: false
→ 192.168.56.10/24

NAT側はインターネット接続用なのでDHCPによる自動取得のままにしています。

一方、管理通信に使用するHost-Only側ではDHCPを無効にして、

192.168.56.10/24

を設定しています。


Netplanの設定を反映する

Netplanを編集したら、まず次のコマンドを実行しました。

sudo netplan try

問題がなければ、

sudo netplan apply

で設定を反映します。

反映後、

ip addr

を実行してIPアドレスを確認します。

今回のcontrollerでは、Host-Only側に、

192.168.56.10

が設定されていることを確認しました。

同じ考え方で残り3台も設定しました。

controller → 192.168.56.10
tokyo      → 192.168.56.11
yokohama   → 192.168.56.12
omiya      → 192.168.56.13

controllerからpingで疎通確認する

固定IPを設定しただけでは、実際に通信できるかは分かりません。

そこでcontrollerから管理対象3台へpingを実行しました。

tokyo:

ping 192.168.56.11

yokohama:

ping 192.168.56.12

omiya:

ping 192.168.56.13

ここで通信できれば、

VirtualBoxのネットワーク設定
↓
Ubuntuのネットワークインターフェース確認
↓
Host-Only側に固定IPを設定
↓
設定反映
↓
controllerから管理対象へping

まで確認できたことになります。


まとめ

今回は、Ansibleの検証環境を作るために、VirtualBox上のUbuntu 24.04でHost-Only側へ固定IPを設定しました。

ポイントは、

  • NATとHost-Onlyの役割を分ける
  • ip addrで実際のインターフェースを確認する
  • Host-Only側だけ固定IPにする
  • Netplanのファイル名を決めつけず実際の環境で確認する
  • netplan try、netplan applyで設定を反映する
  • 最後にip addrとpingで確認する

という流れです。

今回の検証では、

controller → 192.168.56.10
tokyo      → 192.168.56.11
yokohama   → 192.168.56.12
omiya      → 192.168.56.13

として、controllerから3台へ通信できるところまで確認しました。

このあと、controllerから3台へSSH接続し、SSH公開鍵認証を使ってAnsibleを実行するための環境を作っていきます。


関連リンク

普段はnoteで、Linux・Ansible・Python・Excelなどについて、実際に手を動かした学習過程や検証内容を発信しています。

note

実機検証の途中経過や、技術学習で気づいたことはXでも発信しています。

X

GitHubでは、実際の検証で作成したPlaybookやPythonスクリプトなどを公開しています。

GitHub

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?