KVMとは
KVMとはKernel-based Virtual MachineでLinuxのカーネルに組み込まれた仮想化基盤ことです。要は便利な仮想化ソフトウェアという感じです。今回はサーバー上で複数のマシンを稼働させるために利用します。
KVMをインストール
KVM本体と関連パッケージをすべて一括でインストールします。
$ sudo apt install qemu-kvm libvirt0 virt-manager bridge-utils
インストール後再起動します。
$ sudo reboot
ユーザーをlibvirtグループに追加し、仮想マシンの作成等の操作がroot権限なしでできるようにします。
$ sudo gpasswd libvirt -a hoge
ネットワークの設定
ゲストOSの通信は以下の2つの方式によって経由されます。
NAT方式
ブリッジ方式
NAT方式はホストのファイアーウォールを介することになるので、セキュリティ的には便利なのですが、ゲストの対外通信が面倒なことになります。ブリッジ方式はその正反対で、ゲストの通信はファイアーウォールを全く介さないので、物理マシンとほぼ同じように扱うことができます。
ブリッジ方式で通信するためのブリッジを作成します。
/etc/network/interfaces
をroot権限で開きます。 第一回で設定した固定IP設定を変更し、以下のようにします。
auto enp0s25 iface enp0s25 inet manual iface br0 inet static address 192.168.100.100 network 192.168.100.0 netmask 255.255.255.0 broadcast 192.168.100.255 gateway 192.168.100.1 dns-nameservers 192.168.100.1 8.8.8.8 bridge_ports enp0s25 bridge_stp off auto br0
ファイアーウォールにブリッジ経由の通信をスルーする設定を追加しておきます。
/etc/default/ufw
をroot権限で開きます。
DEFAULT_FORWARD_POLICY="DROP" を DEFAULT_FORWARD_POLICY="ACCEPT" に変更
以上で設定は終了です。最後に再起動して完了です。
今回で再構築は終了です。今までCUIベースで仮想マシンを管理していたのですが、結構大変なのでWebGUIで管理できるようにしたりするつもりです。他にもNextCloudというプライベートクラウドも気になるので使ってみたいです。
参考文献
Debian 9: 仮想化のKVMをインストールする Debian 9: bridgeインターフェースの設定 UbuntuでKVMを構築して、ファイアーウォール(ufw)を有効化する