首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Netplan应用警告:"gateway4已被废弃,但.yaml没有gateway4行

Netplan应用警告:"gateway4已被废弃,但.yaml没有gateway4行
EN

Unix & Linux用户
提问于 2023-01-12 18:43:32
回答 1查看 793关注 0票数 1

我看到了一些关于“gateway4已被废弃”的其他帖子,警告说有些人在进入sudo netplan apply时会收到警告。我的问题略有不同:即使在我的gateway4配置文件中没有“.yaml”行,我也会收到警告。

在无头服务器上运行Ubuntu22.04.1。

下面是.yaml文件:

代码语言:javascript
运行
复制
network:
  version: 2
  renderer: networkd
  ethernets:
    enp0s31f6:
      addresses:
        - [ipv4 address]/32
        - [ipv6 address]/64
      routes:
        - to: default
          via: [gateway ipv4 address here]
          metric: 100
          on-link: true
        - to: ::/0
          via: fe80::1
      nameservers:
        addresses:
          - 1.1.1.1
          - 2606:4700:4700::1111
          - 1.0.0.1
          - 2606:4700:4700::1001

为什么我会收到关于gateway4已经被废弃的警告呢?

EN

回答 1

Unix & Linux用户

发布于 2023-05-30 02:23:39

问题

当与netplan交互时,您的CLI输出可能会抱怨:不推荐的'gateway4‘语句、路由冲突,甚至是敦促您配置’路由策略‘的消息。信息,如:

代码语言:javascript
运行
复制
** (generate:13032): WARNING **: 14:00:00.100: 'gateway4' has been deprecated, use default routes instead. See the 'Default routes' section of the documentation for more details.

代码语言:javascript
运行
复制
** (process:4389): WARNING **: 14:00:00.200: gateway4 has been deprecated, use default routes instead. **

代码语言:javascript
运行
复制
 ** (process:13030): WARNING **: 14:00:00.300: Problem encountered while validating default route consistency. Please set up multiple routing tables and use `routing-policy` instead.


Error: Conflicting default route declarations for IPv4 (table: main, metric: default), first declared in eno1 but also in eno1

Fix:按预期分两步使网络计划正常工作。

首先,遍历/etc/netplan/00-installer-config.yaml (或类似的),如果尚未更改,则将“addresses”字段的语法从两行格式更改为单行格式,如下所示:

地址字段.两行格式

代码语言:javascript
运行
复制
[...]
addresses: 
- i.p.v.4/24
[...]

地址字段;单行格式-更改为

代码语言:javascript
运行
复制
[...]
addresses: [ "i.p.v.4/24" ]
[...]

以前的/etc/netplan/00-installer-config.yaml双行“地址”字段

代码语言:javascript
运行
复制
network:
  version: 2
  renderer: networkd
  ethernets:
    eno1:
      addresses:
       - i.p.v.4/24
      nameservers:
       search: [sub.domain.tld, domain.tld]
       addresses: [d.n.s.a, d.n.s.b, d.n.s.c]
      routes:
       - to: 0.0.0.0/0
         via: i.p.v.4
         on-link: true

更新的/etc/netplan/00-installer-config.yaml单行“地址”字段

代码语言:javascript
运行
复制
network:
  version: 2
  renderer: networkd
  ethernets:
    eno1:
      addresses: [ "i.p.v.4/24" ]
      nameservers:
       search: [sub.domain.tld, domain.tld]
       addresses: [d.n.s.a, d.n.s.b, d.n.s.c]
      routes:
       - to: 0.0.0.0/0
         via: i.p.v.4
         on-link: true

接下来,遍历到/run/netplan/eno1.yaml (或类似的),其中必须将“addresses”字段的格式从两行更改为单行,如上面所解释的那样。此外,您可能会在此位置找到“gateway4”的实例。一定要删除或注释掉这一点。

以前的/run/netplan/eno1.yaml双行“地址”字段+ gateway4

代码语言:javascript
运行
复制
network:
  version: 2
  ethernets:
    eno1:
      addresses: 
        - i.p.v.4/24
      gateway4: "i.p.v.4"

更新的/run/netplan/eno1.yaml单行“地址”字段+无gateway4

代码语言:javascript
运行
复制
network:
  version: 2
  ethernets:
    eno1:
      addresses: [ "i.p.v.4/24" ]

现在发行:应用,不应该有错误。

在此之后,可以通过查看在:/run/systemd/network/10-netplan-eno1.network (或simliar)上运行的配置来确认预期的操作。

代码语言:javascript
运行
复制
[Match]
Name=eno1

[Network]
LinkLocalAddressing=ipv6
Address=i.p.v.4/24
DNS=d.n.s.a
DNS=d.n.s.b
DNS=d.n.s.c
Domains=sub.domain.tld domain.tld

[Route]
Destination=0.0.0.0/0
Gateway=i.p.v.4
GatewayOnLink=true
票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/731534

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档