VirtualBox 下虚拟机与主机之间通信的要点

VirtualBox 下虚拟机与主机之间通信的要点

本文主要总结一下 virtualbox 中 Ubuntu 虚拟机使用中的问题,主要包含以下几个部分:

  • 几种网络配置的特点
  • 虚拟机与主机之间互 ping 要点
  • 主机通过 ssh 访问虚拟机常见问题
  • 主机与虚拟机之间 ssh 互访的方式

VirtualBox的网络配置

模式VM–>HostVM<–HostVM1<–>VM2VM–>Net/LANVM<–Net/LAN特点
Host-only不通不通不可连外网
Internal不通不通不通不通只用于虚拟机之间的连接
Bridge全通,但不安全
NAT不通不通不通仅用于单向联网,且虚拟机之间不通
NAT Network不通不通NAT的基础上,虚拟机之间也通了

VirtualBox最多可以配置4块网卡,然后根据实际需要来选择启用那个或者那几个网卡。

在这里插入图片描述
右键单击下图中下面的第4个联网标识选择启用的网卡(可以启用多个)
或者菜单 “设备” --> “网络” 选择启用的网卡
在这里插入图片描述

虚拟机与主机之间互 ping 要点

从上面可以看到,主机要想与虚拟机之间实现互 ping 成功,则可以有以下几个选择

  1. NAT + Host-only

  2. NAT Network + Host-only,在 1 的基础上还可实现虚拟机之间的通信

  3. Bridge,在 2 的基础上,外网还可以访问虚拟机

  4. 虚拟机启用 Host-only 后,会在主机测多出一个适配器:

    以太网适配器 VirtualBox Host-Only Network:

    连接特定的 DNS 后缀 . . . . . . . :
    本地链接 IPv6 地址. . . . . . . . : fe80::7518:6fbe:d061:9b47%14
    IPv4 地址 . . . . . . . . . . . . : 192.168.56.1
    子网掩码 . . . . . . . . . . . . : 255.255.255.0
    默认网关. . . . . . . . . . . . . :

  5. 虚拟机启用 Host-only 后,会在虚拟机侧多出一个网卡 enp0s8

    enp0s8 Link encap:Ethernet HWaddr 08:00:27:fb:e7:a6

     			inet addr:192.168.56.101  Bcast:192.168.56.255  Mask:255.255.255.0
    			inet6 addr: fe80::51d9:2de0:9daf:d6b0/64 Scope:Link
     			UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      	      	RX packets:2036 errors:0 dropped:0 overruns:0 frame:0
     			TX packets:516 errors:0 dropped:0 overruns:0 carrier:0
    				collisions:0 txqueuelen:1000 
     			RX bytes:208656 (208.6 KB)  TX bytes:80642 (80.6 KB)
    

主机通过 ssh 访问虚拟机

  • 常见问题: ssh: connect to host xxx.xxx.xxx.xxx port 22: Connection refused

遇到这个问题,有以下几个原因

  1. 虚拟机没有安装 openssh-server
  2. 虚拟机虽然安装了 openssh-server,但是没有开启 sshd 服务

对于没有安装 openssh-server的情况,安装一下就可以了 sudo apt-get install openssh-server
对于没有开启 sshd 服务的情况,开启即可sudo /etc/init.d/ssh start,如果想停止:sudo /etc/init.d/ssh stop,需要查询当前是否开启:ps -e | grep ssh,如果出现 2990 ? 00:00:00 sshd(主要是后面的sshd),则表示 sshd 服务已开启。

tips:

如果虚拟机是 window,解决方式是一样的。

  1. 下载安装 openssh
  2. 桌面–>右键点击电脑—>管理—>服务与应用程序—>服务—>开启(OpenSSH 和 OpenSSH Authentication Agent)

主机与虚拟机之间 ssh 互访的方式

  • 主机访问虚拟机
    1. 在cmd窗口输入 ssh gedu@192.168.56.101(@前为用户名,@后为虚拟机 ip)
    2. 按 提示输入密码
    3. 登陆到了虚拟机shell
    4. 若要退出虚拟机回到主机,使用exit
      在这里插入图片描述
  • 虚拟机访问主机
    1. 在shell窗口输入 ssh user@host_ip(@前为用户名,@后为虚拟机 ip)
    2. 按 提示输入密码
    3. 登陆到了主机cmd
    4. 若要退出主机回到虚拟机,使用exit
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值