如何使用 netplan 执行后续脚本

如何使用 netplan 执行后续脚本

除非禁用 TSO 卸载,否则我的网卡会在高带宽情况下崩溃。

它是一个 I217-LM(e1000e 驱动程序)。

我曾经在界面上这样做过:

auto eno1
iface eno1 inet dhcp
post-up /sbin/ethtool -K eno1 tso off

如何在 Ubuntu 18.04 上使用 netplan 执行此操作?

答案1

当然,目前不支持。现在 Linux 开发人员习惯于无缘无故地更改运行良好的功能,并提供未完成的产品。

https://netplan.io/faq/#use-pre-up%2C-post-up%2C-etc.-hook-scripts

答案2

它已受支持netplan。我已按照以下说明操作:https://netplan.io/faq

我创建了一个小脚本/etc/networkd-dispatcher/routable.d/50-ifup-hooks

网络接口启动后,它会在每次重启时运行。

例子

由于我有两个 NIC,因此我的后置挂钩对于支持源路由是必需的:

#!/bin/sh

/sbin/ip rule add from 62.48.171.211/29 tab 1 priority 500
/sbin/ip route add default via 62.48.171.209 dev eno2 tab 1
/sbin/ip route flush cache

答案3

不确定自 Bibelo 发布以来该链接是否发生了变化,但正如它所述,netplan 现在支持根据您的渲染通过钩子运行脚本。

如果您使用 networkd 的默认渲染,则需要添加 networkd-dispatcher 包。 https://gitlab.com/craftyguy/networkd-dispatcher

根据您要执行的操作,我可能会将脚本放在 carrier.d 和/或 routable.d 目录中 这一页对不同状态目录的用途有最好的描述。

请参阅此示例,了解我如何将 networkd-dispatcher 用于不同目的。https://fixingitpro.com/2018/12/28/displaying-ip-info-on-console-with-netplan/

相关内容