无法使 networkd-dispatcher 脚本运行

无法使 networkd-dispatcher 脚本运行

由于各种错误,我需要持续禁用 Kubernetes 主机上的卸载。

我遵循了这里的指南:https://michael.mulqueen.me.uk/2018/08/disable-offloading-netplan-ubuntu/但脚本没有运行。我已将 echo 语句保存到磁盘,但脚本没有运行,所以我知道它没有运行。

我已将其放在 /usr/lib/networkd-dispatcher/routable.d 中名为 10-disable-offloading 的 shell 文件中,并且还尝试过:/etc/networkd-dispatcher/routable.d/,但无济于事。

该脚本是可执行的并由 root 拥有,我甚至给了它 777 只是为了测试,但仍然无法运行。

networkd-dispatcher 已安装。

我正在 19.10 上测试这个,但它也需要运行 18.04,因为这是我的服务器使用的。

答案1

我遇到了我认为是此设置的意外行为,但事实证明我只是没有正确考虑它。

我的 netplan 配置如下:

network:
  ethernets:
    eno1:
      dhcp4: no
  bridges:
    br0:
      accept-ra: true
      addresses:
      - 2001:db8:1:2::3/64
      dhcp4: true
      interfaces:
      - eno1
      ipv6-privacy: true
      macaddress: de:ad:be:ef:ca:fe

我使用桥接 VLAN 过滤器将 VLAN 分配给接口,因此它们需要同时在物理网卡和桥接上运行。我的脚本/etc/networkd-dispatcher/routable.d/在桥接接口上运行,而不是在物理网卡上运行。

/etc/networkd-dispatcher/routable.d/在这种情况下,这实际上是错误的地方,因为当 NIC 是桥接器的成员时,它不会获得 IP 地址,因此永远不会成为可路由接口。将脚本放入/etc/networkd-dispatcher/configured.d/即可使我的脚本在两个接口上工作。

答案2

缺少的步骤是在启动时启用 networkd-dispatcher 服务:

# systemctl enable networkd-dispatcher.service

然后将执行下一个启动脚本。要验证它们是否在启动时执行,请使用以下命令检查日志:

# journalctl -b -u networkd-dispatcher

相关内容