最終目的
ubuntu20.04server上にkvmを使って仮想化基盤を構築する.
ホスト側にGUI環境はなく,ネットワーク設定や仮想化構築はCUIで進める.
デスクトップ環境を使わず(導入せず)CUIで構築する理由は特にありません.ただコマンドでいろいろ構築したかったから.
おことわり
説明するために必ずしも合っているとは限らない例や状態,状況を使う場合があることを先に記しておきます.
これは自分が理解する際に正しい説明がされている記事を読んでいてもいまいちピンと来なかった時,理解するために考えた例を使うためです.
一応参考にした別記事は都度都度リンクを貼っていくつもりなので詳しくは,正しくはそちらを参照してください.
あと,パラメータ(ipアドレスとか)も必ずしも現実であり得る値をとっているとは限りません.あくまでも例としてみてください.(正しさを都度都度確認していると記事が進まなかったので...)
初期状態
- ubuntu20.04 serverインストール済みサーバ
- remote pc(mac)からsshでubuntuにログイン
ネットワーク設定
これから作成するVMを外からログインできるようにするためにネットワーク設定を行います.(今言ってる「外」は仮想ネットワークの外部,ローカルネットワーク内の他pcとかです.外だからと言って必ずしもこれを行ってインターネット側からログインが可能になるわけではない.別に設定とかが必要になる場合有)
netplanを使ってブリッジ作成
netplanでネットワーク設定をいじっていきます.いくつか記事をみてみるとNetwork-Manager(nmcli)を使う記事が多いですが,ubuntu20.04serverだとaptなどでインストールしないと入ってなかったので netplanでいきます.
設定ファイル新規作成
自分の場合は最初から/etc/netplan/00-installer-config.yaml
が存在しますが, この記事(あるいはその記事の参考)で触れられているように触らない方が良いみたいなので/etc/netplan/99_config.yaml
を作成してそこに設定を書きます.
user@ubuntu:~$ sudo touch /etc/netplan/99_config.yaml
設定変更
設定することは
- bridge"br0"作成
- ethernet"enp3s0"のdhcp無効化
- bridge"br0"のipアドレス固定化(ipアドレス: 192.168.100.28)
- bridge"br0"とethernet"enp3s0"を接続
です.
"br0"のipアドレスは必ずしもstaticにしなくても良いと思います.
network:
version: 2
renderer: networkd
ethernets:
enp3s0:
dhcp4: no
bridges:
br0:
dhcp4: no
addresses:
- 192.168.100.28/24
interfaces:
- enp3s0
gateway4: 192.168.100.1
nameservers:
addresses: [192.168.100.1,8.8.8.8]
parameters:
forward-delay: 0
stp: false
optional: true
設定の適用
user@ubuntu:~$ sudo netplan apply
確認
"enp3s0"から'inet'の記述がなくなって"br0"が表示されていることは確認でます.
自分の場合はdhcpのときに"enp3s0"に割り当てられていたipアドレスをそのまま"br0"のipアドレスにしたのでリモートからの状態でも接続断することなく設定適用できました.(もしもを考えてそのまま変更適用しない方がよかったかもしれませんが...)
user@ubuntu:~$ ip addr
...
2: enp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master br0 state UP group default qlen 1000
link/ether 24:be:05:14:44:a4 brd ff:ff:ff:ff:ff:ff
...
4: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 24:be:05:14:44:a4 brd ff:ff:ff:ff:ff:ff
inet 192.168.150.32/24 brd 192.168.150.255 scope global br0
valid_lft forever preferred_lft forever
inet6 2405:6580:97e0:2e00:26be:5ff:fe14:44a4/64 scope global dynamic mngtmpaddr noprefixroute
valid_lft 2591851sec preferred_lft 604651sec
inet6 fe80::26be:5ff:fe14:44a4/64 scope link
valid_lft forever preferred_lft forever
参考
- https://www.checksite.jp/kvm-br-conf/
- Ubuntu 20.04 LTSで固定IPアドレスの設定
- https://ubuntu.com/server/docs/network-configuration
- KVMでゲストOSをブリッジ接続する
- KVMの仮想ネットワークをブリッジモードにして、VMを物理ネットワークセグメントに参加させてみた
次回
kvm周りを導入する予定