![netplan 默认路由混乱](https://linux22.com/image/1030280/netplan%20%E9%BB%98%E8%AE%A4%E8%B7%AF%E7%94%B1%E6%B7%B7%E4%B9%B1.png)
我是 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!
账单