【问题标题】:How to access (ping) a VM when not connected to a network?未连接到网络时如何访问(ping)VM?
【发布时间】:2016-06-14 15:40:20
【问题描述】:

我有一个 mac 主机,它有一个运行 Linux(ubuntu) 和另一个运行 Windows 的 Virtualbox VM。

我已经为我的所有来宾虚拟机设置了一个桥接网络适配器和一个仅主机网络适配器。

主机能够 ping 虚拟机,虚拟机能够 ping 主机。当主机连接到网络时,这可以正常工作。家里的路由器充当 DNS,因此 ping(和其他网络服务)被路由到正确的 VM。
但是当我没有连接到网络时该怎么办?(我经常出差)是否有某种方式(可能是一项服务)可以在主机上运行,​​就像轻量级 DNS 一样,并将流量路由到正确的虚拟机?

【问题讨论】:

    标签: linux networking dns virtualbox


    【解决方案1】:

    你可以查找你的虚拟机的本地地址

    # ip addr
    

    然后编辑

    # vi /etc/hosts "hosts - static table lookup for hostnames "
    

    并添加你的虚拟机本地地址

    你可以编辑

    # vi /etc/host.conf
    

    订购主机,绑定

    并更改查找顺序。

    "etc/host.conf 文件。行顺序 hosts, bind 指定 /etc/hosts 优先于名称服务器。更改行顺序 bind, hosts 将系统配置为使用名称解析主机名和 IP 地址服务器优先。如果无法通过名称服务器解析 IP 地址,则系统会在 /etc/hosts 文件中查找 IP 地址。"

    更新 你可以创建一个 VPN 吗?

    这将允许您拥有静态 ip,然后离开 VPN 来处理来自路由器的动态 ip?

    选择 Apple 菜单 > 系统偏好设置,

    然后单击网络。点击网络连接服务列表底部的添加 (+),然后从接口弹出菜单中选择 VPN。

    根据您要连接的网络,从 VPN 类型弹出菜单中选择您要设置的 VPN 连接类型,并为 VPN 服务命名。

    输入 VPN 连接的服务器地址和帐户名称。 点击身份验证设置,然后输入网络管理员提供的用户身份验证信息。

    输入用户认证信息后,点击确定,然后点击连接。

    然后将虚拟机指向新的网络接口

    VBoxManage modifyvm "VM name" --natbindip1 "192.168.0.x"
    

    当你“离线”时,你也可以在脚本中运行上面的代码来改变所有虚拟机的网络

    参考https://Apple support VPN

    参考virtualbox.org vboxmanage

    或者

    这是一个小技巧。

    我的路由器也动态分配我的 ip。但是我强迫它给我IP。我通过在我的 linux 机器上将 ip 设置为静态来分配 ip :) 这在办公室确实有效。在办公室外,我备份了我的网络脚本,所以我只需删除网络,然后替换文件并启动网络(Fedora/Redhat/Centos /etc/sysconfig/network-scripts/ 上的文件位置)

    一切顺利

    【讨论】:

    • “vm本地地址”是什么意思?我在虚拟机上有 2 个网络适配器,它们都有一个 IP 地址。我应该将哪一个添加到 /etc/hosts?
    • 嗨 Ajay 我有另一个想法。你用的是哪个虚拟机?
    • 我有 OS X 主机、3 个 ubuntu 虚拟机和一个 Windows 7 虚拟机。所有人都需要通过网络相互交谈。端口转发是一种选择,但我不想跟踪数十个映射。
    • 嗨,阿杰。谢谢回复。我是人,所以如果我有错误的一端,请原谅我。您使用的是哪个 VM 提供商,例如 Parallels、VMware Fusion VirtualBox 等?
    • Virtualbox,最新版本。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-31
    • 2021-09-17
    • 2020-07-28
    • 2017-09-29
    • 2011-01-18
    相关资源
    最近更新 更多