netplan 中的虚拟接口

netplan 中的虚拟接口

在旧版本中,/etc/network/interfaces我可以定义一个虚拟接口:

auto enp7s0f0
iface enp7s0f0 inet static
    address aaa.aaa.aaa.aaa
    netmask 255.255.255.0
    gateway aaa.aaa.aaa.1

auto enp7s0f0:0
iface enp7s0f0:0 inet static
     address bbb.bbb.bbb.bbb
     netmask 255.255.255.0

如何使用 Ubuntu Server 17.10 上的 netplan 实现这一点?

现在我有:

network:
  version: 2
  renderer: networkd
  ethernets:
    enp7s0f0:
      addresses: [aaa.aaa.aaa.aaa/24]
      gateway4: aaa.aaa.aaa.1

如何添加带地址的虚拟接口bbb.bbb.bbb.bbb

答案1

经过一番调查,我发现当前的 netplan 不支持它。可以这样做:

network:
  version: 2
  renderer: networkd
  ethernets:
    enp7s0f0:
      addresses: [aaa.aaa.aaa.aaa/24, bbb.bbb.bbb/24]
      gateway4: aaa.aaa.aaa.1

ip addr显示两个地址,计算机可以与bbb.bbb.bbb/24网络通信。缺点是两个网络只有一个接口名称,这在定义规则时可能会出现问题iptables

答案2

只需返回 ifupdown。非常简单

安装 ifupdown

删除/重命名 /etc/netplan 中的任何 .yaml 文件 - 重要的是确保文件扩展名不是 yaml

完毕!

答案3

尝试这样的事情:

network:
    version: 2
    renderer: networkd
    ethernets:
        enp7s0f0:
            addresses: [aaa.aaa.aaa.aaa/24]
            gateway4: aaa.aaa.aaa.1
    vlans:
        veth0:
            id: 0
            link: enp7s0f0
            addresses: [bbb.bbb.bbb.bbb/24]

不知道虚拟接口是否需要重新定义网关,如果不行就添加。

答案4

使用 Netplan 22.04(Jammy)版本,您可以通过在附加地址上加标签来实现虚拟接口的概念:

network:
  version: 2
  renderer: networkd
  ethernets:
    enp7s0f0:
      addresses:
          - aaa.aaa.aaa.aaa
          - bbb.bbb.bbb.bbb:
              label: enp7s0f0:0
      routes:
          - to: default
            via: aaa.aaa.aaa.1

相关内容