netplan-两个接口

netplan-两个接口

我想在 netplan 的一个配置文件中设置两个接口。

目前我正在使用这个:

  network:
  version: 2
  renderer: networkd
  ethernets:
          ens18:
                dhcp4: no
                dhcp6: no
                addresses: [1.2.3.4/32]
                gateway4: 1.2.3.254
                nameservers:
                        search: [domain.tld]
                        addresses: [123.456.789.101]
                routes:
                - to: 1.2.3.254/32
                  via: 0.0.0.0
                  scope: link
          ens19:
                dhcp4: true

没有第二个接口(ens19)时,它工作正常。添加第二个接口(ens19)后,系统在启动时出现一些问题。但系统启动后,第二个接口工作正常。

我做错了什么?

提前致谢。

新输出:

root@web:/etc/netplan# sudo netplan --debug apply
** (generate:18692): DEBUG: 03:51:19.153: Processing input file /etc/netplan/50-cloud-init.yaml..
** (generate:18692): DEBUG: 03:51:19.153: starting new processing pass
** (generate:18692): DEBUG: 03:51:19.153: ens18: setting default backend to 1
** (generate:18692): DEBUG: 03:51:19.153: ens19: setting default backend to 1
** (generate:18692): DEBUG: 03:51:19.153: Generating output files..
** (generate:18692): DEBUG: 03:51:19.153: NetworkManager: definition ens18 is not for us (backend 1)
** (generate:18692): DEBUG: 03:51:19.153: NetworkManager: definition ens19 is not for us (backend 1)
DEBUG:netplan generated networkd configuration exists, restarting networkd
DEBUG:no netplan generated NM configuration exists
DEBUG:ens18 not found in {}
DEBUG:ens19 not found in {'ens18': {'addresses': ['1.2.3.4/32'], 'gateway4': '1.2.3.254', 'dhcp4': False, 'dhcp6': False, 'nameservers': {'search': ['domain.tld'], 'addresses': ['1.2.3.4']}, 'routes': [{'to': '1.2.3.254/32', 'via': '0.0.0.0', 'scope': 'link'}]}}
DEBUG:Merged config:
network:
  bonds: {}
  bridges: {}
  ethernets:
    ens18:
      addresses:
      - 1.2.3.4/32
      dhcp4: false
      dhcp6: false
      gateway4: 1.2.3.254
      nameservers:
        addresses:
        - 1.2.3.4
        search:
        - domain.tld
      routes:
      - scope: link
        to: 1.2.3.254/32
        via: 0.0.0.0
    ens19:
      dhcp4: true
      dhcp6: false
  vlans: {}
  wifis: {}

DEBUG:Skipping non-physical interface: lo
DEBUG:device ens18 operstate is up, not changing
DEBUG:device ens19 operstate is up, not changing
DEBUG:{}
DEBUG:netplan triggering .link rules for lo
DEBUG:netplan triggering .link rules for ens18
DEBUG:netplan triggering .link rules for ens19

重启后同样存在问题

root@web:~# ip addr show dev ens19
3: ens19: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 12:87:10:bf:35:c5 brd ff:ff:ff:ff:ff:ff
    inet 10.0.0.3/8 brd 10.255.255.255 scope global dynamic ens19
       valid_lft 602786sec preferred_lft 602786sec
    inet6 fe80::1087:10ff:febf:35c5/64 scope link
       valid_lft forever preferred_lft forever


root@web:~# ip route show dev ens19
10.0.0.0/8 proto kernel scope link src 10.0.0.3

答案1

请添加此配置:

network:
    renderer: networkd
    ethernets:
        ens18:
            addresses: [1.2.3.4/24]
            gateway4: 1.2.3.254
            dhcp4: no
            dhcp6: no
            nameservers:
                    search: [domain.tld]
                    addresses: [123.456.789.101]
            routes:
            - to: 1.2.3.254/32
              via: 0.0.0.0
              scope: link
        ens19:
            dhcp4: true
            dhcp6: no
    version: 2

无需重启

sudo netplan --debug apply

请粘贴此输出

答案2

您确定您的 DHCP 中需要大约 1700 万台主机吗?

10.0.0.0/8是一个很大的(非常大的网络)也许这就是导致它速度变慢的原因。但是你可以这样做:

ens19:
        dhcp4: true
        dhcp6: true
        optional: true

这应该可以解决启动缓慢的问题,或者改变(如果可以的话)你的网络规模。

答案3

99-disable-network-config.cfg在我创建目录中的 文件之前,我遇到了同样的问题/etc/cloud/cloud.cfg.d/。该文件的内容如下。

network: {config: disabled}

该命令禁用 cloud-init 的网络配置功能,如目录50-cloud-init.yaml中的文件中注释部分所述/etc/netplan/

我的配置现在可以经受多次重启。

相关内容