如何使用 netplan 执行后期脚本

Sig*_*gge 17 netplan 18.04

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

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

我曾经在接口中这样做:

auto eno1
iface eno1 inet dhcp
post-up /sbin/ethtool -K eno1 tso off
Run Code Online (Sandbox Code Playgroud)

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

小智 21

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

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

  • +1表示同情,-1表示没有提及网络调度程序,如其他答案所示。尽管在写答案时可能不存在该信息 - 档案馆不会追溯到那么远。 (2认同)

est*_*rdo 10

它已经得到支持netplan。我已按照以下网址上的说明进行操作: https: //netplan.io/faq

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

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

例子

我的 post-up hook 对于支持源路由是必要的,因为我有两个网卡:

#!/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
Run Code Online (Sandbox Code Playgroud)

  • 请注意,任何创建的网络调度程序脚本都必须是 1) **可执行** & 2) **由 root 拥有** (2认同)

小智 5

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

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

根据您想要执行的操作,我可能会将脚本放入 Carrier.d 和/或 routable.d 目录中。 此页面对不同状态目录的用途进行了最佳描述。

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