在主机和来宾虚拟机之间设置网络

ano*_*ous 5 server virtualbox networking scp

(我在虚拟机上运行 ubuntu 服务器 12.04)

我正在尝试将文件 (scp) 从我的笔记本电脑传输到虚拟机的目录之一。我尝试共享文件夹,但失败了。我有点网络新手。

我看了大约 20-30 页。这是一个:http : //www.howtoforge.com/moving-files-between-linux-systems-with-scp

我完全按照这些步骤操作。我的问题是,当我尝试使用 scp 时,它只是挂起。我也不确定在来宾操作系统中要配置哪个网络接口(eth0、eth1?)。另一个(重要的?)细节是 eth0 的 inet 地址是 10.0.2.15 而不是 192.168.xy

我启用了桥接适配器和仅主机适配器。笔记本电脑和来宾 VM 都安装了 openssh-server。我不知道此时该怎么办。

有没有更好的地方可以问这个?

rwc*_*rwc 7

您无法 scp/ssh 的原因是您的访客和主机机器当前位于不同的网络上。来宾计算机当前已通过 NAT 连接到主机网络,以便它可以访问 Internet。本质上,您需要在来宾 VM 上设置另一个网络适配器。

还应该注意的是,10.0.2.* 子网对于您的 VBox 配置是本地的,并且是机器的 NAT 地址。不要禁用此设备。192.168。. 子网是为内部/个人网络分配的 IP 空间。

去做这个:

  1. 关闭访客虚拟机
  2. 在 VBox 首选项中,选择网络和“适配器 2”。启用它并将“附加到”设置为“仅主机适配器”
  3. 打开来宾 VM。运行以下命令:
$ sudo ifconfig eth1
Run Code Online (Sandbox Code Playgroud)

Link encap:Ethernet HWaddr XX:XX:XX:XX:XX:XX inet addr: 192.168.56.101 Bcast:192.168.56.255 Mask:255.255.255.0 inet6 addr: XXXX::XXXX:XXXX:XXXX:XXXX/6 UP BROADCAST RUNNING MULTICAST MTU:1500 指标:1 RX 数据包:296 错误:0 丢弃:0 溢出:0 帧:0 TX 数据包:237 错误:0 丢弃:0 溢出:0 载波:0 冲突:0 txqueuelen:1000 RX 字节:32116 (31.3 KiB) TX 字节:37642 (36.7 KiB)

现在您需要编辑/etc/network/interfaces。将地址更改为您的基本 IP 地址。

auto eth1
iface eth1 inet static
address 192.168.56.101
netmask 255.255.255.0
Run Code Online (Sandbox Code Playgroud)

您现在应该能够使用正确的 IP 地址在主机和来宾计算机之间来回 ssh/scp。(注意,它不会是来自 eth0 的 IP)

From the host machine to guest machine:
Run Code Online (Sandbox Code Playgroud)

$ ssh user@192.168.56.101(将其更改为任何访客 IP 地址)

成功!