両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン |
ツール:libvirt_qemu_kvm:ubuntu_18.04 [2018/07/11 06:05] – mumeiyamibito | ツール:libvirt_qemu_kvm:ubuntu_18.04 [2020/07/03 18:38] (現在) – mumeiyamibito |
---|
| ====== インストール方法 ====== |
- 必要なパッケージをインストールする。\\ <code bash>$ sudo apt install qemu-kvm virt-manager gir1.2-spiceclientgtk-3.0 spice-vdagent libvirt0 libvirt-bin firewalld ebtables</code> | - 必要なパッケージをインストールする。\\ <code bash>$ sudo apt install qemu-kvm virt-manager gir1.2-spiceclientgtk-3.0 spice-vdagent libvirt0 libvirt-bin firewalld ebtables</code> |
* ''spice-vdagent'' は、ホストとゲストのクリップボードを共有するために必要 ([[https://wiki.archlinux.jp/index.php/QEMU#.E3.82.B0.E3.83.A9.E3.83.95.E3.82.A3.E3.83.83.E3.82.AF | QEMU - ArchWiki]])。 | * ''spice-vdagent'' は、ホストとゲストのクリップボードを共有するために必要 ([[https://wiki.archlinux.jp/index.php/QEMU#.E3.82.B0.E3.83.A9.E3.83.95.E3.82.A3.E3.83.83.E3.82.AF | QEMU - ArchWiki]])。 |
* ''gir1.2-spiceclientgtk-3.0'' は 16.04 とパッケージ名が微妙に違うので注意。 | * ''gir1.2-spiceclientgtk-3.0'' は 16.04 とパッケージ名が微妙に違うので注意。 |
* 18.04 から、''firewalld''、''ebtables'' が必要になったらしい。これらのパッケージがないと、ゲスト OS からネットワークに接続できず virbr0 ができず、virt-manager 上では、''NAT (停止)'' 状態になる。 | * <del>18.04 から、''firewalld''、''ebtables'' が必要になったらしい。これらのパッケージがないと、ゲスト OS からネットワークに接続できず virbr0 ができず、virt-manager 上では、''NAT (停止)'' 状態になる。 |
* [[https://www.systutorials.com/241665/cannot-start-vm-with-error-no-network-with-matching-name-default/ | Cannot start VM with error "no network with matching name 'default'" - SysTutorials]] | </del> * [[https://www.systutorials.com/241665/cannot-start-vm-with-error-no-network-with-matching-name-default/ | Cannot start VM with error "no network with matching name 'default'" - SysTutorials]] |
* 余談だが、上記とは別に virbr0 が何らかの原因で生成されないときに手動で作成する方法 [[https://wiki.libvirt.org/page/Networking | Networking - Libvirt Wiki]] | * 余談だが、上記とは別に virbr0 が何らかの原因で生成されないときに手動で作成する方法は、下の節を参照。 |
- 自動的に仮想 PC サービスを使えるようにする。\\ <code bash>$ sudo systemctl enable libvirtd.service</code> | - 自動的に仮想 PC サービスを使えるようにする。\\ <code bash>$ sudo systemctl enable libvirtd.service</code> |
- サービスを起動する。\\ <code bash>$ sudo systemctl start libvirtd.service</code> | - サービスを起動する。\\ <code bash>$ sudo systemctl start libvirtd.service</code> |
* 名前: ''Windows'' | * 名前: ''Windows'' |
* ネットワークの選択: ''仮想ネットワーク default: NAT'' | * ネットワークの選択: ''仮想ネットワーク default: NAT'' |
- 不要になったパッケージを削除する。\\ <code bash>$ sudo apt autoremove firewalld ebtables</code> | - ゲスト OS が外部に接続できるようにする。 |
* ''firewalld''、''ebtables'' はインストール時には必要だが、virtbr0 ができてしまえば、不要のパッケージ。むしろ、''firewalld'' が稼働していると、ゲスト OS が外部に接続できないので、''firewalld'' を適切に設定するか、停止させるか、削除させるかするしかない。ここでは削除することにした。 | * ''/etc/sysctl.conf'' を編集する。\\ <code bash>$ sudoedit /etc/sysctl.conf</code><code># net.ipv4.ip_forward=1</code> を <code>net.ipv4.ip_forward=1</code> に変更する。 |
| * 再起動するか、以下のコマンドを実行する。\\ <code bash>$ sudo sysctl -p</code> |
| - ファイアウォールの設定をして、インターネットへの接続と、ホストとゲストでファイルのやり取りをできるようにする。 |
| - インターネットと接続できるようにする。\\ <code bash>$ firewall-cmd --zone=public --add-masquerade --permanent</code> |
| * [[https://qiita.com/T_Shinaji/items/b3ba400feb3c6adebd27 | firewalld初心者のメモ - Qiita]] |
| - 有効なサービスを確認する。\\ <code bash>$ firewall-cmd --list-services</code> |
| * samba が入っていないことを確認 |
| - samba を追加する。\\ <code bash>$ firewall-cmd --add-service=samba |
| $ firewall-cmd --permanent --add-service=samba</code> |
| * [[http://d.hatena.ne.jp/superstring04/20130814/1376512931 | Fedoraの新しいファイアウォールでSambaを使用可能にする - 公的内省]] |
| |
| ====== インストール時にブリッジネットワークが生成されなかった場合の対処 ====== |
| * 症状: |
| * 以下のコマンドを実行した際に ''virbr0'' などが見当たらない\\ <code bash>$ ip a</code> |
| * 仮想マシンマネージャ (''virt-manager'') の ''編集'' → ''接続の詳細'' の''仮想ネットワーク''タブ内のネットワークの状態が ''停止'' になっている。 |
| * 原因: ''firewalld'' や ''ebtable'' などを同時にインストールしなかった。 |
| * 対策: 仮想マシンマネージャ (''virt-manager'') を一度終了して、以下のコマンドを実行、上記パッケージをインストールした後、有効化する。\\ <code bash> |
| $ sudo apt install ebtables dnsmasq firewalld |
| $ sudo systemctl start firewalld |
| $ sudo systemctl enable firewalld |
| $ sudo systemctl restart libvirtd |
| </code> |
| * 参考サイト: |
| * [[https://superuser.com/questions/1063240/libvirt-failed-to-initialize-a-valid-firewall-backend | networking - libvirt: "Failed to initialize a valid firewall backend" - Super User]] |
| * [[https://wiki.libvirt.org/page/Networking | Networking - Libvirt Wiki]] |
| |
| ====== その他 ====== |
| * dnsmasq がインストールされていれば、virtbr0 を介してネットワークを利用できるので、firewalld をアンインストールしても問題ない。 |
| * 参考サイト: [[https://gihyo.jp/admin/serial/01/ibm_kvm/0003 | 第3回 KVMのネットワーク構成:KVMで始めるプライベート・クラウドへの第一歩|gihyo.jp … 技術評論社]] |
| |