Herausfinden welches Programm ifup macht?

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
kutt
Beiträge: 127
Registriert: 22.06.2004 00:21:27

Herausfinden welches Programm ifup macht?

Beitrag von kutt » 22.02.2018 09:22:14

Hi,

sorry für den blöden Titel - es ist mir kein besserer eingefallen...

Mein Anliegen:
Ich habe einen Rechner mit 2 WLan Interfaces, von dem eins immer existiert und das zweite aber trennbar ist (USB Stick)

Nun möchte ich, daß das "feste" Interface (wlan0) nur genutzt wird, wenn wlan1 nicht existiert.
Gibt es wlan1, dann soll wlan0 deaktiviert sein (also down).

Soweit sogut, ich habe mir dazu ein kleines Script geschrieben, was auch gut funktioniert.

Das Problem ist: Irgend ein Programm macht hin und wieder "ifup wlan0". Ich hab schon den cron mal abgeschaltet, aber darüber passiert das nicht. Gibt es eine Möglichkeit, mit der ich herausfinden kann, welcher Dienst/Programm "ifup wlan0" macht?
-- hmmm

Benutzeravatar
MSfree
Beiträge: 10759
Registriert: 25.09.2007 19:59:30

Re: Herausfinden welches Programm ifup macht?

Beitrag von MSfree » 22.02.2018 09:33:43

kutt hat geschrieben: ↑ zum Beitrag ↑
22.02.2018 09:22:14
Irgend ein Programm macht hin und wieder "ifup wlan0"
Nein, es gibt kein Program das hin und wieder ifup ausführt. ifup wird nur beim Booten verwendet und einmalig aufgerufen. Andere Programme, die sich um Netzwerkschnittstellen kümmern, verwenden nicht ifup/ifdown.

In der Regel kümmert sich der networkmanager um die Netzwerkschnittstellen, die nicht beim Boot mit ifup initialisiert wurden.
Ich hab schon den cron mal abgeschaltet
cron hat ja nun wirklich gar nichts mit Netzwerk zu tun.

Ansonsten, es hängt von der Debianversion ab, wie, was, wann und von welcher Software initialisiert wird (Stichwort SysV-Init vs. systemd). Für weitere Hilfe wäre also die Version sehr nützlich.

guennid

Re: Herausfinden welches Programm ifup macht?

Beitrag von guennid » 22.02.2018 09:38:50

Tja, Debian-Netzwerk-Chaos. Verstehe auch nicht, nachdem sie sich so beherzt auf systemd gestürzt haben, warum sie dieses Netzwerkzeug-Chaos nicht mal vereindeutigen. :wink:

Zur Sache: ifup ist ein Programm und kommt mit dem Paket Debianifupdown. Du kannst ifupdown und die /etc/network/interfaces umgehen, aber ich sag' dir jetzt nicht womit, weil ich dieses Chaos auch nicht befriedigend durchblicke. :wink:

kutt
Beiträge: 127
Registriert: 22.06.2004 00:21:27

Re: Herausfinden welches Programm ifup macht?

Beitrag von kutt » 22.02.2018 10:08:35

Naja - hust - Debianversion.

Bitte nicht schlagen, aber es handelt sich um Raspian Jessie. Ich habe hier gefragt, da es sich dabei eigentlich um ein Debian für einen ARM Prozessor handelt.

Code: Alles auswählen

# lsb_release -a
Distributor ID: Raspbian
Description:    Raspbian GNU/Linux 8.0 (jessie)
Release:        8.0
Codename:       jessie
Wenn ich ifdown wlan0 mache, dann dauert es genau 5 Minuten, bis irgendjemand wlan0 wieder up-bringen will. Deshalb hatte ich den cron abgeschaltet (es könnte ja irgend ein cronjob sein).
-- hmmm

Benutzeravatar
MSfree
Beiträge: 10759
Registriert: 25.09.2007 19:59:30

Re: Herausfinden welches Programm ifup macht?

Beitrag von MSfree » 22.02.2018 10:12:41

guennid hat geschrieben: ↑ zum Beitrag ↑
22.02.2018 09:38:50
Tja, Debian-Netzwerk-Chaos.
Eigentlich ist das bei Debian sehr klar, was passiert.

1. ifup/ifdown kümmert sich beim Booten um die Netzwerkschnittstellen, die in /etc/network/interfaces deklariert sind.

2. networkmanager kümmert sich um alle anderen Schnittstellen.

Eigentlich ganz logisch. Der networkmanager stellt halt Funktionen bereit, die ifup/ifdown nicht hat. Vor allem die interaktive WLAN-Konfiguration ist mit ifup/ifdown nicht möglich.

Zumindest bis Debian Stretch ruft systemd ifuf/ifdown auf und verhält sich identisch zu älteren Versionen mit SysV-Init.

Benutzeravatar
MSfree
Beiträge: 10759
Registriert: 25.09.2007 19:59:30

Re: Herausfinden welches Programm ifup macht?

Beitrag von MSfree » 22.02.2018 10:19:26

kutt hat geschrieben: ↑ zum Beitrag ↑
22.02.2018 10:08:35
Naja - hust - Debianversion.

Bitte nicht schlagen, aber es handelt sich um Raspian Jessie.
Kein Problem, Raspbian ist von einem "normalen" Debian kaum zu unterscheiden. Auf jeden Fall ist das ein OS mit systemd.
Wenn ich ifdown wlan0 mache, dann dauert es genau 5 Minuten, bis irgendjemand wlan0 wieder up-bringen will.
Das ist sehr wahrscheinlich der networkmanager, der die "verwaiste" Netzwerkschnittstelle an sich reißt.

mat6937
Beiträge: 2953
Registriert: 09.12.2014 10:44:00

Re: Herausfinden welches Programm ifup macht?

Beitrag von mat6937 » 22.02.2018 10:22:15

kutt hat geschrieben: ↑ zum Beitrag ↑
22.02.2018 10:08:35
... es handelt sich um Raspian Jessie. ...

Wenn ich ifdown wlan0 mache, dann dauert es genau 5 Minuten, bis irgendjemand wlan0 wieder up-bringen will. ...
Hast Du auf deinem PI, evtl. ifplugd aktiv oder evtl. auch "allow-hotplug" für das wlan0-Interface?

Code: Alles auswählen

ps -fC ifplugd
cat /etc/network/interfaces | grep -i allow

guennid

Re: Herausfinden welches Programm ifup macht?

Beitrag von guennid » 22.02.2018 10:24:52

MSfree hat geschrieben:Eigentlich ist das bei Debian sehr klar, was passiert.
Seh' ich nicht so, basierend auf etlichen einschlägigen Threads. ifupdown, net-tools, etc. gilt bei den manchen Leuten als hoffnungslos veraltet, was wiederum andere Leute völlig anders sehen. Für mich ist das Chaos :wink:
MSfree hat geschrieben:Zumindest bis Debian Stretch ruft systemd ifuf/ifdown auf
Tja, Netzwerk ist halt was ziemlich Essentielles. Der networkmanager kommt von gnome, wenn ich die Links richtig deute. Dann schau'n mer mal, wo die Reise hingeht. :wink:

kutt
Beiträge: 127
Registriert: 22.06.2004 00:21:27

Re: Herausfinden welches Programm ifup macht?

Beitrag von kutt » 22.02.2018 10:32:31

mat6937 hat geschrieben: ↑ zum Beitrag ↑
22.02.2018 10:22:15
kutt hat geschrieben: ↑ zum Beitrag ↑
22.02.2018 10:08:35
... es handelt sich um Raspian Jessie. ...

Wenn ich ifdown wlan0 mache, dann dauert es genau 5 Minuten, bis irgendjemand wlan0 wieder up-bringen will. ...
Hast Du auf deinem PI, evtl. ifplugd aktiv oder evtl. auch "allow-hotplug" für das wlan0-Interface?

Code: Alles auswählen

ps -fC ifplugd
cat /etc/network/interfaces | grep -i allow
ja - das ist für alle 3 interfaces an

Code: Alles auswählen

root@kutt-ais-slave:/home/pi# ps -fC ifplugd
UID        PID  PPID  C STIME TTY          TIME CMD
root       856     1  0 06:15 ?        00:00:00 /usr/sbin/ifplugd -i eth0 -q -f -u0 -d10 -w -I
root       879     1  0 06:15 ?        00:00:00 /usr/sbin/ifplugd -i wlan0 -q -f -u0 -d10 -w -I
root       889     1  0 06:15 ?        00:00:00 /usr/sbin/ifplugd -i wlan1 -q -f -u0 -d10 -w -I
root@kutt-ais-slave:/home/pi# cat /etc/network/interfaces | grep -i allow
allow-hotplug eth0
allow-hotplug wlan0
allow-hotplug wlan1
Das "Problem" geht hier weiter: Manchmal ist das interene WLan Interface wlan0, aber manchmal ist es wlan1. Deshalb kann ich das hotplug nicht einfach abschalten. Eine Systematik konnte ich dahinter noch nicht entdecken.

der Tip mit ifplugd ist aber gut - daran sollte es aber nicht liegen? Wird der nicht erst aktiv, wenn eine Schnittstelle kommt/geht?
-- hmmm

mat6937
Beiträge: 2953
Registriert: 09.12.2014 10:44:00

Re: Herausfinden welches Programm ifup macht?

Beitrag von mat6937 » 22.02.2018 10:35:56

kutt hat geschrieben: ↑ zum Beitrag ↑
22.02.2018 10:32:31
ja - das ist für alle 3 interfaces an

Code: Alles auswählen

root@kutt-ais-slave:/home/pi# ps -fC ifplugd
UID        PID  PPID  C STIME TTY          TIME CMD
root       856     1  0 06:15 ?        00:00:00 /usr/sbin/ifplugd -i eth0 -q -f -u0 -d10 -w -I
root       879     1  0 06:15 ?        00:00:00 /usr/sbin/ifplugd -i wlan0 -q -f -u0 -d10 -w -I
root       889     1  0 06:15 ?        00:00:00 /usr/sbin/ifplugd -i wlan1 -q -f -u0 -d10 -w -I
root@kutt-ais-slave:/home/pi# cat /etc/network/interfaces | grep -i allow
allow-hotplug eth0
allow-hotplug wlan0
allow-hotplug wlan1
Versuch mal ohne das wlan0-Interface bei ifplugd und ohne "allow-hotplug" für das wlan0-Interface in der interfaces-Datei.

kutt
Beiträge: 127
Registriert: 22.06.2004 00:21:27

Re: Herausfinden welches Programm ifup macht?

Beitrag von kutt » 22.02.2018 11:07:38

Hmm - jetzt macht er das nicht mehr.

Mal beobachten Bild Bild Bild
-- hmmm

mat6937
Beiträge: 2953
Registriert: 09.12.2014 10:44:00

Re: Herausfinden welches Programm ifup macht?

Beitrag von mat6937 » 22.02.2018 11:24:53

kutt hat geschrieben: ↑ zum Beitrag ↑
22.02.2018 11:07:38
Mal beobachten ...
Sollte er es doch noch machen, könntest Du (... da Du ja mit einem Script arbeitest und wenn es sich um das wlan-Interface für das builtin-wifi beim PI3? handelt) auch mit der "Holzhammermethode" versuchen. D. h. nach dem das wlan0-Interface down ist, den entsprechenden Treiber mit modprobe entladen:

Code: Alles auswählen

modprobe -r brcmfmac
und wenn das wlan0-Interface wieder up gehen soll, den Treiber wieder laden:

Code: Alles auswählen

modprobe brcmfmac
Siehe auch:

Code: Alles auswählen

lsmod | grep -i brcm
auf deinem PI. Wenn es sich nicht um einem PI3 handelt, geht das nicht.

guennid

Re: Herausfinden welches Programm ifup macht?

Beitrag von guennid » 22.02.2018 13:29:38

Wieso hast du eigentlich zu tun mit sowas wie "wlan0"? Soweit ich weiß, benennt systemd-udev die NIC-Schnittstellen um, auch schon bei jessie (es sei denn man verbietet's ihm). Also: auch auf die Gefahr hin, dass du Haue kriegst, du solltest im eigenen Interesse schon genauer mitteilen, inwieweit dein System vom Standard abweicht. :wink:

Benutzeravatar
MSfree
Beiträge: 10759
Registriert: 25.09.2007 19:59:30

Re: Herausfinden welches Programm ifup macht?

Beitrag von MSfree » 22.02.2018 13:36:50

guennid hat geschrieben: ↑ zum Beitrag ↑
22.02.2018 13:29:38
Wieso hast du eigentlich zu tun mit sowas wie "wlan0"? Soweit ich weiß, benennt systemd-udev die NIC-Schnittstellen um, auch schon bei jessie (es sei denn man verbietet's ihm).
Spielst du auf die (un)predictable network names an?

Jessie verwendet immer noch die traditionellen Network Names wie eth0 oder wlan0. Du Zuordnung zwischen Netzwerkhardware und Network Name findet über die Datei /etc/udev/rules.d/70-persistent-net.rules statt.

Bei Stretch gibt es dann diese nicht mehr vorhersagbaren Zufallsnamen, die sich auch gerne mal von Boot zu Boot ändern, es sei denn, man stellt auf das stabile alte Verhalten um.

mat6937
Beiträge: 2953
Registriert: 09.12.2014 10:44:00

Re: Herausfinden welches Programm ifup macht?

Beitrag von mat6937 » 22.02.2018 13:38:47

guennid hat geschrieben: ↑ zum Beitrag ↑
22.02.2018 13:29:38
..., du solltest im eigenen Interesse schon genauer mitteilen, inwieweit dein System vom Standard abweicht. :wink:
Das hat er doch. Er benutzt raspbian:

Code: Alles auswählen

# lsb_release -a
Distributor ID: Raspbian
Description:    Raspbian GNU/Linux 8.0 (jessie)
Release:        8.0
Codename:       jessie

guennid

Re: Herausfinden welches Programm ifup macht?

Beitrag von guennid » 22.02.2018 13:40:40

guennid hat geschrieben: inwieweit

Antworten