通过 SSH 进入 VirtualBox ubuntu 服务器并保持网络连接

通过 SSH 进入 VirtualBox ubuntu 服务器并保持网络连接

我在 Virtual Box 上使用

Linux rubi-pc 4.9.28-1-MANJARO #1 SMP PREEMPT 2017 年 5 月 14 日星期日 13:32:39 UTC x86_64 GNU/Linux

我有 2 台运行 Ubuntu 16.04 Server 的虚拟机。如果我在两台虚拟机的适配器 1 选项中都放置了仅主机适配器。我可以通过我的终端通过 SSH 连接到两台虚拟机。但没有互联网连接,尽管我已将 NAT 添加为辅助适配器。

如果我在两个虚拟机中都设置了 NAT,互联网连接就可以正常工作,但我无法通过 SSH 进入虚拟机,

在适配器 1 选项中启用了仅主机适配器的一台虚拟机的 ifconfig 详细信息

ubuntu@ubuntu:~$ ifconfig
enp0s3    Link encap:Ethernet  HWaddr 08:00:27:a5:e7:1c  
          inet addr:192.168.56.103  Bcast:192.168.56.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fea5:e71c/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:102 errors:0 dropped:0 overruns:0 frame:0
          TX packets:109 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:17424 (17.4 KB)  TX bytes:15890 (15.8 KB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:4960 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4960 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1 
          RX bytes:367040 (367.0 KB)  TX bytes:367040 (367.0 KB)

virbr0    Link encap:Ethernet  HWaddr 52:54:00:4b:78:11  
          inet addr:192.168.122.1  Bcast:192.168.122.255  Mask:255.255.255.0
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

有什么办法可以修复互联网和 SSH 吗?

顺便说一句,我不能直接通过本地机器使用复制粘贴功能到虚拟机。

答案1

如果您设置了 NAT,通常您将无法从外部机器或主机登录到虚拟机。这是因为 NAT 正在转换内部 IP 地址,并且只能从虚拟机访问外部世界(包括互联网)

仅主机网络在主机和虚拟机之间创建一个隔离网络,因此不存在与互联网的连接。

您应该使用桥接网络。这样主机和虚拟机将位于同一个 L2 域中,并且应该在同一子网上获取 IP。检查每个虚拟机的默认网关是否与主机的默认网关匹配。这样您应该能够从虚拟机访问互联网并登录到虚拟机。

答案2

问题似乎是缺少接口配置。我在这里实现它的方法是找到物理接口名称,并将其添加到网络配置中。

在以下示例中,NAT 位于enp0s3接口上。我在 vboxnet0 上添加了 VirtualBox 的仅主机接口。

# List all available interfaces
> ifconfig -a
ifconfig -a
enp0s3    Link encap:Ethernet  HWaddr 08:00:27:5d:15:e6
          ...
enp0s8    Link encap:Ethernet  HWaddr 08:00:27:4b:24:16
          ...
lo        Link encap:Local Loopback
          ...

# Create an entry for the new interface
> vim /etc/network/interfaces

    # Original
    auto enp0s3
    iface enp0s3 inet dhcp

    # Added (here with VIM)
    auto enp0s8
    iface enp0s8 inet dhcp

# Start the interface
> ifup enp0s8

此时,接口应该已经获取 IP 并准备就绪。另请参阅这个答案在 Unix SE 上执行相关程序。

相关内容