我有一个公共接口Ubuntu 18.04 虚拟机由使用OpenStack。现在我想为内部网络添加第二个额外接口。我不确定该怎么做。
使用托管服务提供商的 Web 界面,我可以添加内部网络。添加后,我可以看到网络接口,但未分配 IP 地址。重新启动也无济于事。
例如ip a
显示
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether fa:16:3e:e7:0b:19 brd ff:ff:ff:ff:ff:ff
inet (MY PUBLIC IP)/24 brd 185.110.173.255 scope global dynamic ens3
valid_lft 84480sec preferred_lft 84480sec
inet6 fe80::f816:3eff:fee7:b19/64 scope link
valid_lft forever preferred_lft forever
3: ens7: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether fa:16:3e:e3:4f:3f brd ff:ff:ff:ff:ff:ff
我的公网 IP 出现了,但是我添加的接口没有 IP 地址。
我添加的ens7
接口/etc/netplan/50-cloud-init.yaml
如下
# This file is generated from information provided by
# the datasource. Changes to it will not persist across an instance.
# To disable cloud-init's network configuration capabilities, write a file
# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:
# network: {config: disabled}
network:
version: 2
ethernets:
ens3:
dhcp4: true
match:
macaddress: fa:16:3e:e7:0b:19
set-name: ens3
ens7:
dhcp4: true
match:
macaddress: fa:16:3e:e3:4f:3f
set-name: ens7
当我运行时,netplan apply
我的 SSH 连接立即断开,并且我无法再从互联网访问该机器。
当我使用控制台并运行时ip a
,我看到的结果正是我预期的。ens3具有正确的公共 IP,并且ens7具有正确的私有 IP。
我也有Ubuntu 16.04 虚拟机。使用该云图像,我可以通过编辑/etc/network/interfaces.d/50-cloud-init.cfg
和添加
auto eth1
iface eth1 inet dhcp
但现在我想在 Ubuntu 18.04 VM 上做类似的事情。
为什么我无法使用 SSH 从互联网访问机器? IP 配置看起来没问题。
在 OpenStack 上使用 Ubuntu 18.04 云映像时,将虚拟机添加到第二个内部专用网络的正确方法是什么?
顺便说一下,我正在使用 Ubuntu 云镜像bionic-服务器-cloudimg-amd64.img
答案1
我也有这个问题,我设法对它们进行统计配置
ens4:
dhcp4: false
addresses: [10.20.7.23/24]
我认为问题出在第二个默认 GW 上,这需要报告为错误