utm
UTM
QEMUによる仮想化、エミュレータソフトウェア。
Mac版はVirtualization.frameworkによる仮想化もサポートしている。エミュレータとしても動作するのでCPUアーキテクチャの異なるOSも動作させられる
ネットワーク
- 仮想VLAN
- 仮想ネットワークを作成しVMごとにVLANを作成する(VM間の通信はできない)
- 共有ネットワーク
- 仮想ネットワークを作成、VM間でネットワークは共有される。ホストPCを経由して外部と通信可能
- ホストのみ
- 仮想ネットワークを作成、VM間でネットワークは共有される。ホストPCやホストオンリーネットワークに接続した他のVMとは通信可能だが外部と通信はできない
- ブリッジ
- ホスト環境の置かれているネットワークに接続する。
ホストマシンでifconfig
等で調べると以下のようなインターフェースが作成されている(macのbridge0
はthunderbolt経由のネットワークブリッジインターフェースなので別物)
bridge100: flags=8a63<UP,BROADCAST,SMART,RUNNING,ALLMULTI,SIMPLEX,MULTICAST> mtu 1500 options=3<RXCSUM,TXCSUM> ether 1e:57:dc:04:5d:64 inet 192.168.64.1 netmask 0xffffff00 broadcast 192.168.64.255 inet6 fe80::1c57:dcff:fe04:5d64%bridge100 prefixlen 64 scopeid 0x18 inet6 fd64:3fa:9751:31b:14aa:757d:d1a9:9f2b prefixlen 64 autoconf secured Configuration: id 0:0:0:0:0:0 priority 0 hellotime 0 fwddelay 0 maxage 0 holdcnt 0 proto stp maxaddr 100 timeout 1200 root id 0:0:0:0:0:0 priority 0 ifcost 0 port 0 ipfilter disabled flags 0x0 member: vmenet0 flags=3<LEARNING,DISCOVER> ifmaxaddr 0 port 23 priority 0 path cost 0 nd6 options=201<PERFORMNUD,DAD> media: autoselect status: active
この場合、vmが存在する共有ネットワークは 192.168.64.0/24
とわかる
共有ネットワークのネットワークアドレスは192.168.64.0/24
、ホストオンリーは192.168.128.0/24
がデフォルトらしいが起動するたびに作り直しているようで、突然ネットワークアドレスが変わることがある
不具合・制限?
- ブリッジモードでIPv6通信ができないことがある(IPv6アドレスは取得できている)
- 共有ネットワークモードでdhcpを使用するとIPv4アドレスが取得できないことがある(v6は取得できる、固定IPv4アドレスなら通信可能)
- docker desktop for macと競合する
- mac上の仮想ネットワークインターフェース(bridge100)をdocker desktopに使用されて仮想マシンを起動できなくなることがある
- docker desktopを終了してbridge100を解放する
- docker desktopをUTMの仮想マシンより後に起動すると競合しない(docker desktopはbridge101を作成する)
utm.txt · 最終更新: 2024/06/15 01:46 by nullpon