VirtualBox 上的 CoreOS 每次只能与一个适配器配合使用

VirtualBox 上的 CoreOS 每次只能与一个适配器配合使用

我正在尝试了解有关 CoreOS 的更多信息。(我没有使用 Vagrant,只是使用普通的 VirtualBox。)所以我使用 创建了一个磁盘coreos-install。不幸的是,我找不到我的原始cloud-config.yaml文件,但它就是这样简单的东西。

#cloud-config

users:
  - name: core
    passwd: somehash
    groups:
      - sudo
      - docker

启动虚拟机后,我能够使用密码登录。我还可以ping google.com

但是,接下来我想做的是从 OS X 主机连接到 CoreOS VM。因此,我进入 VM 的设置 > 网络,然后启用适配器 2 作为主机专用适配器。(我已经配置了主机专用网络,因为我有一个通过 SSH 进入的 Ubuntu VM。)

无论如何,回到 CoreOS,我创建了一个文件/etc/systemd/network/10-static.network。它看起来像这样。

[Match]
Name=enp0s8

[Network]
Address=192.168.56.3/24
Gateway=192.168.56.1

我重新启动了 VM,并且能够从 OS X 通过 SSH 进入 CoreOS——但现在我无法连接到互联网。ping google.com每次都失败。

因此,我创建了另一个文件/etc/systemd/network/20-dhcp.network。它看起来像这样。

[Match]
Name=en*

[Network]
DHCP=yes

我重启了虚拟机。我可以通过 SSH 从主机登录,但无法连接到互联网。

如果我禁用虚拟机的适配器 2,那么我就可以连接到互联网。但是,我无法再从主机进行 SSH 连接。

有没有办法设置网络,以便我可以从 OS X 通过 SSH 进入 CoreOS还能连接到互联网吗?

答案1

我使用了虚拟机设置->网络->适配器 1->附加 = 桥接适配器和虚拟机设置->网络->适配器 1->名称 = Wi-Fi 选项,并且我能够通过 ssh 登录并从 CoreOS VM 访问互联网

答案2

我也遇到了同样的问题。我查看了。如果我们没有指定网关选项,则使用 DHCP 来路由流量。所以我Gateway=192.168.56.1从文件[Network]部分删除了该行static.network。这个技巧奏效了。无需写入dhcp.network文件。只需重新启动实例并尝试 ping google.com,您就会得到响应。我的最终文件是这样的 -
$ cat /etc/systemd/network/static.network

[匹配]
名称=enp0s8
[网络]
地址=192.168.56.102/24
DNS=8.8.8.8
DNS=8.8.4.4

相关内容