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 · 最終更新: by nullpon