netplan 默认路由混乱

netplan 默认路由混乱

我是 Netplan 的新手...我以为一切都运行正常,表面上看起来也是如此,但是我正在设置 microk8s 并在负载平衡器上得到一些奇怪的结果,有人在某处提到了路由问题,所以我查看了我的默认路由,但我不明白。我的 netplan 是:

network:
  version: 2
  renderer: networkd
  ethernets:
    eth0: #Edit this line according to your network interface name.
      dhcp4: false
      addresses:
        - 10.0.0.203/24
      routes:
        - to: default
          via: 10.0.0.1
      nameservers:
        search: [phoenix.local]
        addresses: [10.0.0.253]

我没有使用 dhcp 一个接口它是静态的我正在使用本地 dns 服务器连接到本地网络上的其他节点。

但是当我执行 ip route 时,我看到

default via 10.0.0.1 dev eth0 proto static 
default via 10.0.0.1 dev eth0 proto dhcp src 10.0.0.151 metric 100 

第二个默认路由是什么?这是否会给我带来麻烦?如果是,我该如何摆脱它?抱歉,我有点老派,有一段时间没用过 linux,所以想赶上 netplan。谢谢

按照要求:

/run/systemd/networks/10-netplan-eth0.network 包含

[Match]
Name=eth0

[Link]
RequiredForOnline=no

[Network]
DHCP=ipv4
LinkLocalAddressing=ipv6
Address=10.0.0.202/24
DNS=10.0.0.253
Domains=phoenix.local

[Route]
Destination=0.0.0.0/0
Gateway=10.0.0.1

[DHCP]
RouteMetric=100
UseMTU=true

账单

答案1

我感觉有点傻,但也有点恼火 ;-)。我的 /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 reboot.  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:
    ethernets:
        eth0:
            dhcp4: true
            optional: true
    version: 2

所以我按照它说的做了,创建了 99-disable-network-config.cfg。我以为这就是全部了。因为它说它是自动生成的,并且会在重新启动后继续存在,而且我已经配置为禁用 cloud-init,所以我认为如果我把它留在那里也没关系。显然事实并非如此。今天早上我一时兴起,将文件移出了该目录,现在 ip route 报告了我所期望的内容:

root@uk8s02:/etc/netplan# ip route
default via 10.0.0.1 dev eth0 proto static 
10.0.0.0/24 dev eth0 proto kernel scope link src 10.0.0.202 
blackhole 10.1.125.128/26 proto 80 

在我看来,如果禁用 cloud-init,50-cloud-init.yaml 中的文本可能也会提到删除该文件?或者在我看来是这样。(或者我的禁用文件可能没有完全起作用?但我再次将 50-could-init.yaml 移出并且它没有重新生成。)

/etc/run/network/10-netplan-eth0.network 现在包含

root@uk8s02:/run/systemd/network# cat 10-netplan-eth0.network 
[Match]
Name=eth0

[Network]
LinkLocalAddressing=ipv6
Address=10.0.0.202/24
DNS=10.0.0.253
Domains=phoenix.local

[Route]
Destination=0.0.0.0/0
Gateway=10.0.0.1

看起来也正确。

谢谢你指出这个文件夹给我,Marco!

账单

相关内容