![如何使用 netplan 执行后续脚本](https://linux22.com/image/1155981/%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%20netplan%20%E6%89%A7%E8%A1%8C%E5%90%8E%E7%BB%AD%E8%84%9A%E6%9C%AC.png)
除非禁用 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/