使用 Ubuntu 18.04 更改虚拟机的网络接口

使用 Ubuntu 18.04 更改虚拟机的网络接口

我注意到,如果您没有启用密码的身份验证(使用串行控制台),更改虚拟机(装有 Ubuntu)的网络接口会破坏网络并让您陷入困境。

  1. 我正在创建一个新的虚拟机(Ubuntu 18.04)。
  2. 配置服务器
  3. 然后我决定更换网络接口(从已关闭的虚拟机)
    • 它已经有我想要的 IP(静态)
    • 它有所需的安全组
    • 以及内部 DNS 条目
  4. 我停止新的虚拟机,连接新的接口,分离初始接口并重新启动。
  5. VM 启动正常,但我无法再 ssh。

我在日志中发现以下内容:

[ 12.038253] cloud-init[928]: 2018-07-16 14:21:49,325 - stage.py[警告]: 无法重命名设备:[nic not present] 无法将 mac=00:0d:3a:2d:b0:71 重命名为 eth0,不可用。

那么云初始化脚本没有正确处理这个问题还是我做错了什么?

答案1

我已经在我的 Azure 环境中进行了测试。很可能特定的 Ubuntu Server 版本不允许交换网络接口。我将网络接口从虚拟机网络-连接或分离网络接口在 Azure 门户中。

假设有 3 台虚拟机:

vma is Ubuntu Server 17.10 which has a nic-a;  
vmb is Ubuntu Server 18.04 LTS which has a nic-b; 
vmc is Ubuntu Server 16.04 LTS which has a nic-c.

如果我将 nic-a 连接到 vmb,则我无法通过 PUTTY 使用 ssh 连接到 vmb。

如果我将 nic-a 连接到 vmc,我可以使用相同方式成功连接到 vmc。

如果我将 nic-b 连接到 vma,则我无法通过 PUTTY 使用 ssh 连接到 vma。

如果我将 nic-b 连接到 vmc,我可以使用相同方式成功连接到 vmc。

如果我将 nic-c 连接到 vmb,则我无法通过 PUTTY 使用 ssh 连接到 vmb。

如果我将 nic-c 连接到 vma,则我无法通过 PUTTY 使用 ssh 连接到 vma。

似乎只有 Ubuntu Server 16.04 ssh 在交换网卡后才可以工作。另外,可能是因为网络计划影响。从此博客,你可以看到

Netplan 处理 YAML 并为 NetworkManager 或 systemd-network 系统渲染器生成所需的配置。从 Ubuntu 17.10 Artful 开始,Netplan 取代 ifupdown 成为默认配置实用程序。

更多详情网络计划设计发行说明

此外,我建议在https://askubuntu.com/主要面向 Ubuntu 用户和开发者。

相关内容