drno-reg
@drno-reg
см не кратко

Почему не срабатывает скрипт в /etc/NetworkManager/dispatcher.d/?

Здравствуйте

позавчера перешел на Ubuntu 19.04

пока полет нормальный: ни одного зависания )

в общем в предыдущей ей Debian у меня в

/etc/NetworkManager/dispatcher.d/ был файл, который при подключению к vpn производит переконфигурацию сетевых маршрутов

root@work01:~# ls -las /etc/NetworkManager/dispatcher.d/
итого 28
4 drwxr-xr-x 5 root root 4096 мая 10 01:59 .
4 drwxr-xr-x 7 root root 4096 мая  9 16:02 ..
4 -rwxr-xr-x 1 root root 2293 апр  2 18:53 01-ifupdown
4 -rwxrwxrwx 1 root root 1798 янв 28 18:05 nm-vpn-routes
4 drwxr-xr-x 2 root root 4096 апр  2 18:53 no-wait.d
4 drwxr-xr-x 2 root root 4096 апр  2 18:53 pre-down.d
4 drwxr-xr-x 2 root root 4096 апр  2 18:53 pre-up.d


в общем прав хватает, НО при активации vpn он не срабатывает
проверяю логи таким образом:

journalctl -u NetworkManager --since "15 min ago"

видно, что устанавливается VPN соединение, более ничего.

Почему не срабатывает скрипт в /etc/NetworkManager/dispatcher.d/?

и каким образом еще возможно сделать правильный debug?
  • Вопрос задан
  • 1128 просмотров
Решения вопроса 1
drno-reg
@drno-reg Автор вопроса
см не кратко
на самом деле было дело в том самом скрипте, потому что он не отлавливал $1 и $2 от NetworkManager

#!/bin/sh -e
# Script to dispatch NetworkManager events
#
# Runs ifupdown scripts when NetworkManager fiddles with interfaces.
# See NetworkManager(8) for further documentation of the dispatcher events.

if [ -z "$1" ]; then
echo "$0: called with no interface" 1>&2
exit 1;
fi

# Run the right scripts
case "$2" in
vpn-up)
logger -s "HELLO THIS IS YOUR SCRIPT"
touch "/home/vpn-up.txt
#преобразования маршрутов и иные действия
set -x
;;
vpn-down)
touch "/home/vpn-down.txt"
#преобразования маршрутов и иные действия
;;
hostname|dhcp4-change|dhcp6-change)
# Do nothing
;;
*)
echo "$0: called with unknown action \`$2'" 1>&2
exit 1
;;
esac


х.з.

почему не ловило так, НО возможно это фичи Убунты 19.04

#!/bin/bash
#
tag=$(basename "$0")
if [ "$2" = vpn-up ]; then
	
    set -x
    # Modify dns
    set -x


fi |& logger -i -t "$tag"

if [ "$2" = vpn-down ]; then
    # echo "vpn-down" >> /tmp/iface

fi |& logger -i -t "$tag"
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@ggruno
А скрипт из под рута запускается ? попробуй отдать файл пользователю из под которого надо стартовать скрипт
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы