Docs · リファレンス

ネットワーク

3 つのネットワークモード、ポート転送、Apple から entitlement が必要なモード。

モード

モードゲストに与えるもの
natプライベートネットワーク上のアドレス。Mac の接続を共有。デフォルトでほぼ常にこれ。
host-onlyMac だけのネットワーク。外向きインターネットなし。
bridged:en0実 LAN 上のアドレス。ゲストが LAN 上の別マシンのように見える。
1vm create dev --network nat
1vm set dev network.mode host-only
1vm set dev network.mode bridged:en0

NAT

1VM エンジンはファーストパーティのユーザーモード NAT スタック — DHCP、DNS、TCP/UDP 変換 — を同梱し、外部ネットワークデーモンに委譲しない。ゲストは自動でアドレスを取得し、外向き接続はそのまま動く。

1vm ip <vm> がアドレスを出力し、1vm list は状態と一緒に表示。起動済みだが DHCP 未完了のマシンは、ないアドレスを装わず待機中と報告。

ポート転送

Mac からゲスト内のサービスへ到達:

1vm set dev portForwards.add tcp:2222:22
1vm set dev portForwards.add tcp:8080:80
1vm set dev portForwards.remove tcp:8080:80

形式は protocol:hostPort:guestPort。1VM エンジンの転送は loopback のみ — Mac から到達可能で、ネットワーク全体からは不可。他マシンからゲストへ到達したい場合は bridged を使う。

bridged は entitlement 必須

bridged には com.apple.vm.networking entitlement が必要で、Apple が申請に応じて付与。なければ bridged は UI で理由付きで利用不可と表示され、非表示や起動時失敗にはしない。意図的: 消えるオプションは理由を教えない。

SSH

SSH は手設定ではなくファーストクラスの経路:

1vm ssh enable dev
1vm ssh config --install     # ~/.ssh/config に Include 行を追加
ssh dev                      # 通常の ssh でマシン名が解決

1vm ssh trust dev でゲスト host key を固定。--relearn で再構築後に再固定。親と同時に動くクローンには 1vm clone dev test --rekey-ssh で同一 host key を避ける。