Как выполнить пост-up скрипты с помощью netplan

12

Мой ник падает в сценариях с высокой пропускной способностью, если только разгрузка TSO не отключена.

Это I217-LM (драйвер e1000e).

Я делал это в интерфейсах:

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

Как мне сделать это с netplan на Ubuntu 18.04?

Sigge
источник

Ответы:

17

В настоящее время не поддерживается, конечно. Теперь у разработчиков Linux есть привычка менять что-то, что работает без всякой причины, и предоставлять незавершенный продукт.

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

Bibelo
источник
2

Не уверен, что эта ссылка изменилась с момента публикации 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/

Маркиз Калмес
источник
1

Это уже поддерживается netplan. Я следовал инструкциям, доступным на: https://netplan.io/faq

Я создал небольшой скрипт /etc/networkd-dispatcher/routable.d/50-ifup-hooks

Он запускается при каждой перезагрузке после запуска сетевых интерфейсов.

пример

Мой хук post-up необходим для поддержки маршрутизации источника, так как у меня есть две сетевые карты:

#!/bin/sh

echo "Geomaster" > /tmp/geomaster
/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
estibordo
источник
1
Обратите внимание, что любой созданный сценарий диспетчера сети должен быть 1) исполняемым и 2) владельцем root
Pierz