VirtualBox实用网络设置

Posted nonsupport

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VirtualBox实用网络设置相关的知识,希望对你有一定的参考价值。

实用场景

  • 公司局域网ip有限, 为了不浪费局域网ip, 舍弃了设置最简单的虚拟机桥接直连局域网模式, 采用了本文的方法进行VirtualBox虚拟机网络配置.

软硬件环境

  • Win10系统主机(以下称主机)
    • VirtualBox
      • Ubuntu_Client虚拟机一台
      • Ubuntu_Server虚拟机一台

预想目标

  • 主机物理网卡连接公司局域网上网. (ip从公司路由器自动获取192.168.0.*网段).
  • 在主机上建立一个192.168.6.*网段的局域网, 并将主机, 虚拟机都加入这个网络(这样就不占用公司局域网ip)
  • 虚拟机可以访问互联网及公司局域网内的服务器
  • 局域网内服务器不能访问虚拟机

详细设置步骤

  • VirtualBox网络管理器设置

    • 打开VirtualBox管理器 - 管理 - 主机网络管理器
    删除列表中所有虚拟网卡(方便后面设置, 如本机有其他虚拟机网络设置, 此步骤请跳过)
    点击"创建" 创建一个虚拟网卡, 假如名称为:"VirtualBox Host-Only Ethernet Adapter"
    • 选中"VirtualBox Host-Only Ethernet Adapter"网卡, 在"网卡"选择卡中手动配置网口
    IPv4地址 填 192.168.6.85 (主机ip, 根据实际需要填写, 这里为例子, 后面具体ip及掩码均为例子)
    IPv4网络掩码 填 255.255.255.0
    IPv6一般自动设置了, 不用填写.
    • 切换选项卡到"DHCP服务器"
    勾选"启用服务器"
    服务器地址: 192.168.6.100
    服务器掩码: 255.255.255.0
    最小地址: 192.168.6.101
    最大地址: 192.168.6.254
    • 点击"应用"后, 退出对话框.
  • Ubuntu虚拟网卡设置

    • 选中要修改的虚拟机, 这里假设为Ubuntu64_Client, 点击"设置" - "网络"
    在"网卡1"选项卡, 勾选"启用网络连接"
    连接方式选"仅主机(Host-Only)网络"
    界面名称: 下拉选择前文添加的虚拟网卡"VirtualBox Host-Only Ethernet Adapter"
    控制芯片默认
    混杂模式根据需要选择(我这里选择了拒绝)
    勾选"接入网线"
    • 切换到"网卡2"选项卡
    勾选"启用网络连接"
    连接方式选"网络地址转换(NAT)"
    勾选"接入网线"
    • 应用后退出该对话框, 启动Ubuntu64_Client虚拟机
  • Ubuntu网卡配置参数(如不想固定虚拟机ip, 本步骤可忽略)

    • sudo vi /etc/network/interfaces (不同系统可能网络配置文件不同), 设置参数如下(192.168.6.88是我要为Ubuntu64_Client设置的ip):
    # interfaces(5) file used by ifup(8) and ifdown(8)
    auto lo
    iface lo inet loopback
    
    auto enp0s3
    iface enp0s3 inet static
    address 192.168.6.88
    netmask 255.255.255.0
    
    dns-nameservers 8.8.8.8
    
    auto enp0s8
    iface enp0s8 inet dhcp
    • 重启网络或虚拟机应用以上更改.
    sudo service network-manager restart
  • 验证虚拟机网络是否设置成功

    ping www.baidu.com # 互联网正常
    ping 192.168.6.85 # 虚拟机到主机正常
    ping 192.168.0.115 # 公司局域网服务器正常
  • Ubuntu_Server请重复"Ubuntu虚拟网卡设置", "Ubuntu网卡配置参数"设置, 不再赘述.

以上是关于VirtualBox实用网络设置的主要内容,如果未能解决你的问题,请参考以下文章

asp.net页面实用代码片段

译文:18个实用的JavaScript代码片段,助你快速处理日常编程任务

BootStrap实用代码片段(持续总结)

Android 实用代码片段

Android 实用代码片段

VirtualBox虚拟机网络设置