AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / computer / 问题 / 1845890
Accepted
Alex
Alex
Asked: 2024-06-14 17:52:37 +0800 CST2024-06-14 17:52:37 +0800 CST 2024-06-14 17:52:37 +0800 CST

如何使用 ubuntu 客户系统上的网络配置修复桥接 VirtualBox 以太网设置?

  • 772

在 Windows 10 上,我有一个运行着 ubuntu VirtualBox,并且在 Windows 主机上有两个以太网接口:

  • “以太网”
  • “无线局域网”

我现在想将主机上的这两个真实以太网设备与 ubuntu 客户机上的两个虚拟接口连接起来。为此,我在 VirtualBox 配置上定义了两个桥接适配器,用于连接到“以太网”(适配器 2)和“WLAN”(适配器 3):

在此处输入图片描述 在此处输入图片描述

在 VirtualBox 客户机中,我在文件中定义网络配置/etc/netplan/01-network-manager-all.yaml如下:

# Let NetworkManager manage all devices on this system
network:
  version: 2
  ethernets:
    enp0s8:
      link-local: []
      dhcp4: yes
    enp0s9:
      link-local: []
      dhcp4: no
      addresses:
        - 192.168.200.100/24
      gateway4: 192.168.200.220

然后的输出ip addr show显示这个(不正确/无效的)配置:

2: enp0s8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN group default qlen 1000
    link/ether 08:00:27:64:6a:fb brd ff:ff:ff:ff:ff:ff
    inet 192.168.200.243/24 brd 192.168.200.255 scope global dynamic enp0s8
       valid_lft 43151sec preferred_lft 43151sec
3: enp0s9: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 08:00:27:ee:d0:c4 brd ff:ff:ff:ff:ff:ff
    inet 192.168.200.100/24 brd 192.168.200.255 scope global enp0s9
       valid_lft forever preferred_lft forever

问题:

  1. 如何找出 VirtualBox 设置上的哪个适配器对应于 ubuntu 主机中的哪个接口?对应Adapter2于enp0s8还是enp0s9?如何找出?
  2. 如何“修复”连接到 Windows“WLAN”适配器的接口设置,以便客户机 ubuntu 确实连接到 Windows“WLAN”适配器和外部互联网?因为我无法 ping 8.8.8.8,即 ubuntu 客户机系统似乎没有外部互联网连接。同样奇怪的是,ubuntu 客户机中的两个接口位于同一子网中192.168.200。这看起来不对劲,可能是 ubuntu 客户机无法通过 Windows“WLAN”适配器访问外部互联网的问题。如何解决这个问题?
  3. 我可能有第三个以太网适配器,用于连接有线互联网
  4. 我不是网络方面的专家。例如,我不太清楚在网络设置中为适配器定义的“网关”是什么意思。
  5. 如果我忘记了什么,或者有后续问题,我深表歉意。如前所述,我不是网络专家。理想情况下,答案将包含一些关于其工作原理的一般解释。
networking
  • 2 2 个回答
  • 81 Views

2 个回答

  • Voted
  1. Best Answer
    grawity_u1686
    2024-06-17T15:44:04+08:002024-06-17T15:44:04+08:00

    如何找出 VirtualBox 设置上的哪个适配器对应于 ubuntu 主机中的哪个接口?Adapter2 对应于 enp0s8 还是 enp0s9?如何找出?

    通过 MAC 地址进行比较。它由 VirtualBox 分配,因此您可以▶ Advanced在虚拟机的适配器设置下看到它,并与 的输出进行比较ip -br link。

    实际上,您可以直接在 Netplan 或 systemd-networkd 配置中使用 MAC 地址作为匹配条件,完全避免使用接口名称(或分配自定义名称)。Ubuntu Desktop 上的默认配置将使用 NetworkManager,但从您之前的帖子来看,您似乎已决定使用 Netplan,因此您可以像这样配置它:

    ethernets:
      first:
        match: {macaddress: "08:00:27:64:6a:fb"}
        set-name: "ether"   # Optional
        addresses: ...
        gateway: ...        # If needed
      second:
        match: {macaddress: "08:00:27:ee:d0:c4"}
        set-name: "wifi"   # Optional
        dhcp4: yes
    

    (避免使用ethXXX自定义名称。)

    ethernet.mac-address使用 NetworkManager,可以通过设置连接配置文件来实现同样的效果。

    如何“修复”连接到 Windows“WLAN”适配器的接口设置,以便客户机 ubuntu 确实连接到 Windows“WLAN”适配器和外部互联网?因为我无法 ping 8.8.8.8,也就是说,ubuntu 客户机系统似乎没有外部互联网连接。

    不要跳过步骤。首先修复问题 #1 – 即确定哪个接口通向哪里 – 否则,您拥有的任何静态 IP 或网关配置都是毫无意义的,尝试修复它是毫无意义的。

    一旦您整理好接口并确保每个接口都有其应有的配置(例如,静态 192.168.200.100 实际上位于属于 192.168.200 的接口上,等等),那么它通常就可以正常工作。

    如果之后仍然不起作用,请使用 查看路由表ip route,特别是路由default。这些路由直接对应于您为每个接口指定的网关,并且 Linux 将使用具有最低度量的“默认”路由来访问互联网。

    该命令ip route get 8.8.8.8 fibmatch是验证内核对默认路由的选择的一种简单方法——如果它返回错误的接口,那么该接口可能不应该指定网关。

    例如,如果“静态”接口没有 Internet 访问(例如,Internet 访问通过“DHCP”接口),那么您应该从“静态”接口中删除“网关”参数,以便它不会通过它生成默认路由。

    更具体地说,当一个接口仅连接到一个子网(并且不会再连接到其他任何地方)时,它就不需要网关,因为网关(路由器)不处理本地通信 - 网关(默认或其他)的唯一目的是提供超出本地子网的路径。

    (在这两者之间,仅通向有限网络集的接口 - 不仅仅是一个子网,但没有完全的互联网访问 - 仍然不需要默认网关;而是有用于更具体路由的网关。)

    同样奇怪的是,ubuntu 客户机中的两个接口位于同一子网 192.168.200 中。这看起来不对劲,可能是 ubuntu 客户机无法通过 Windows“WLAN”适配器访问外部互联网的问题。如何解决这个问题?

    嗯,其中一个位于子网中,因为您已通过 Netplan 静态定义了它,因此另一个必须通过 DHCP 获得其地址。这很可能意味着两个接口需要交换 - 从 DHCP 获取 192.168.200 地址的接口可能是应该具有静态配置的接口,反之亦然。

    • 1
  2. Timmy Browne
    2024-06-22T06:40:52+08:002024-06-22T06:40:52+08:00

    这对于评论来说太长了,如果这不能回答你的问题,请添加详细信息。

    你的 Windows 10 机器有 2 个 NIC

    乙太網絡無線

    你的 Windows 10 机器有一个 Linux 虚拟主机

    您已将以太网桥接到适配器 2 您已将 WLAN 桥接到适配器 3

    你使用了此网络配置

    # Let NetworkManager manage all devices on this system
    network:
      version: 2
      ethernets:
        enp0s8:
          link-local: []
          dhcp4: yes
        enp0s9:
          link-local: []
          dhcp4: no
          addresses:
            - 192.168.200.100/24
          gateway4: 192.168.200.220
    

    你的 eth8 是 192.168.200.243

    你的 eth9 是 192.168.200.100 gw 1​​92.168.200.220

    悬赏列出了 2 个问题。问题列出了 5 个问题:

    1. 如何找出 VirtualBox 设置上的哪个适配器对应于 ubuntu 主机中的哪个接口?Adapter2 对应于 enp0s8 还是 enp0s9?如何找出?

    enp0s8 的 MAC 地址为 08:00:27:64:6a:fb enp0s9 的 MAC 地址为 08:00:27:ee:d0:c4

    如果您返回到虚拟盒网络适配器设置页面并单击高级箭头,那里将会有一个 mac 地址。然后您可以关联哪个是 enp0s8 哪个是 enp0s9。

    2.如何“修复”连接到 Windows“WLAN”适配器的接口设置,以便客户机 ubuntu 确实连接到 Windows“WLAN”适配器和外部互联网?因为我无法 ping 8.8.8.8,也就是说,ubuntu 客户机系统似乎没有外部互联网连接。同样奇怪的是,ubuntu 客户机中的两个接口位于同一子网 192.168.200 中。这看起来不对劲,可能是 ubuntu 客户机无法通过 Windows“WLAN”适配器访问外部互联网的问题。如何修复这个问题?

    由于您使用的是桥接模式,因此 2 个 ubuntu 接口位于同一个 .200 子网中,该模式会将这些虚拟接口视为与您的 Windows 10 主机插入同一网络级别,我假设它也在 .200 子网中。如果不是,您可能不想要桥接模式。

    如果你想表达的是,你的 Linux 虚拟客户机上的 enp0s8 适配器是你想要用来使用互联网的适配器,我认为你做错了

    1. 我可能有第三个以太网适配器来连接有线互联网。

    您是否希望让您的虚拟客户端能够从网络上的其他计算机访问,或者只是能够从虚拟机使用互联网。您希望虚拟机使用什么互联网连接来访问互联网,它需要使用 1、2、3 还是更多?

    4 我不是网络方面的专家。例如,我不太清楚在网络设置中为适配器定义的“网关”是什么意思。

    网卡是一种物理对象,可让设备在连接的网络上进行通信。它们有一个称为 mac 地址的物理地址,这使它们独一无二。它的十六进制数看起来像这样 08:00:27:64:6a:fb。

    当计算机中的网卡插入网络设备(例如路由器)时,该网络设备可以在更高的网络层进行通信并为每台机器分配虚拟地址,这些地址就是 IP 地址。它们看起来像 192.168.1.1。

    IP 地址在逻辑上被分成更小的组,称为网络。所有网络都有一个默认网关和多个主机。网络中的机器通过它知道要请求哪个设备继续向距离自己较远的机器发出请求

    例如 192.168.200.1/24 网络包含从 200.0 到 200.254 的所有 IP。通常,向设备分发 DHCP IP 的路由器将是 .1,而设备会将 192.168.200.1 列为其网关。

    所有机器都有 1 个默认网关,或默认网络设备。

    从您显示的配置中,我可以假设您的路由器是 192.168.200.20(如果不是,则从您的网络配置中删除此网关配置,它会将流量从该虚拟机发送到该主机)

    将 192.168.200.243 分配给您启用 dhcp 的网络适配器,您将 102.168.200.100 分配给另一个,并说它的网关是 .220

    如果现在的目标是让桥接配置正常工作,请在 Linux 机器上输入netstat -rn

    这将列出默认网关地址。确保这些设置正确。

    如果您可以从主机访问互联网但无法 ping 通,请检查 Windows 级别的网络适配器上可能存在的过滤器。

    • 0

相关问题

  • 三台电脑,没有路由器/交换机怎么组网?

  • 用户使用 FileZilla 连接到 SFTP 服务器拒绝连接

  • NAT 后面的 NAT 如何工作(路由器的 NAT 和 ISP 的 NAT)?

  • Win10 1803:如何让移动热点成为专用网络?

  • nc如何识别服务名称

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何减少“vmmem”进程的消耗?

    • 11 个回答
  • Marko Smith

    从 Microsoft Stream 下载视频

    • 4 个回答
  • Marko Smith

    Google Chrome DevTools 无法解析 SourceMap:chrome-extension

    • 6 个回答
  • Marko Smith

    Windows 照片查看器因为内存不足而无法运行?

    • 5 个回答
  • Marko Smith

    支持结束后如何激活 WindowsXP?

    • 6 个回答
  • Marko Smith

    远程桌面间歇性冻结

    • 7 个回答
  • Marko Smith

    子网掩码 /32 是什么意思?

    • 6 个回答
  • Marko Smith

    鼠标指针在 Windows 中按下的箭头键上移动?

    • 1 个回答
  • Marko Smith

    VirtualBox 无法以 VERR_NEM_VM_CREATE_FAILED 启动

    • 8 个回答
  • Marko Smith

    应用程序不会出现在 MacBook 的摄像头和麦克风隐私设置中

    • 5 个回答
  • Martin Hope
    Vickel Firefox 不再允许粘贴到 WhatsApp 网页中? 2023-08-18 05:04:35 +0800 CST
  • Martin Hope
    Saaru Lindestøkke 为什么使用 Python 的 tar 库时 tar.xz 文件比 macOS tar 小 15 倍? 2021-03-14 09:37:48 +0800 CST
  • Martin Hope
    CiaranWelsh 如何减少“vmmem”进程的消耗? 2020-06-10 02:06:58 +0800 CST
  • Martin Hope
    Jim Windows 10 搜索未加载,显示空白窗口 2020-02-06 03:28:26 +0800 CST
  • Martin Hope
    andre_ss6 远程桌面间歇性冻结 2019-09-11 12:56:40 +0800 CST
  • Martin Hope
    Riley Carney 为什么在 URL 后面加一个点会删除登录信息? 2019-08-06 10:59:24 +0800 CST
  • Martin Hope
    zdimension 鼠标指针在 Windows 中按下的箭头键上移动? 2019-08-04 06:39:57 +0800 CST
  • Martin Hope
    jonsca 我所有的 Firefox 附加组件突然被禁用了,我该如何重新启用它们? 2019-05-04 17:58:52 +0800 CST
  • Martin Hope
    MCK 是否可以使用文本创建二维码? 2019-04-02 06:32:14 +0800 CST
  • Martin Hope
    SoniEx2 更改 git init 默认分支名称 2019-04-01 06:16:56 +0800 CST

热门标签

windows-10 linux windows microsoft-excel networking ubuntu worksheet-function bash command-line hard-drive

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve