13

Parallels 有一个命令行 API,在此处记录

>prlctl list
UUID                                    STATUS       IP_ADDR         NAME
{ca50aac6-caa6-47a6-9bfe-e38f6261cb8d}  running      -               win7

尽管如此,即使机器运行时有互联网连接,报告的 IP_ADDR 也始终为空。

如何从客人那里找到机器的IP?我需要一种通过使用域名或 IP 连接到访客的方法。

4

3 回答 3

17

如果是 Windows 虚拟机,您可以使用以下命令从主机获取 IP:

prlctl exec "VM Name" ipconfig | grep "IPv4" | grep -o '\d\{1,3\}\.\d\{1,3\}\.\d\{1,3\}\.\d\{1,3\}'

对于 *nix 虚拟机:

prlctl exec "VM Name" ifconfig eth1 | grep "inet " | grep -o 'addr:\d\{1,3\}\.\d\{1,3\}\.\d\{1,3\}\.\d\{1,3\}' | grep -o '\d\{1,3\}\.\d\{1,3\}\.\d\{1,3\}\.\d\{1,3\}'
于 2013-12-07T18:56:35.927 回答
12

如果你想使用 SSH 访问机器,有一个内置命令可以帮助你。

prlctl enter <VM_ID|VM_NAME>

如果您出于任何其他原因需要 IP,这将以 root 身份打开 VM 的提示,还有另一种获取它的方法

prlctl exec <VM_ID|VM_NAME> ifconfig

来自的exec命令prlctl将在主机 linux 机器上执行ifconfig命令(如果使用 windowsipconfig代替ifconfig

的所有输出ifconfig都将打印在您的终端上,并且 ip 将在输出中清晰可见

于 2013-08-20T23:55:16.507 回答
10

我今天偶然发现了这一点,发现list命令显示IP_ADDR但从不显示 IP 是有问题的。prlctl我检查了命令及其状态的最新文档:

-f,--满

显示运行虚拟机的真实 IP 地址。

提供此标志会为我显示 IP 地址

prlctl list -f

于 2019-11-26T13:38:19.090 回答