Herausfinden welches Programm ifup macht?
Herausfinden welches Programm ifup macht?
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?
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
Re: Herausfinden welches Programm ifup macht?
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.
cron hat ja nun wirklich gar nichts mit Netzwerk zu tun.Ich hab schon den cron mal abgeschaltet
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.
Re: Herausfinden welches Programm ifup macht?
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.
Zur Sache: ifup ist ein Programm und kommt mit dem Paket ifupdown. Du kannst ifupdown und die /etc/network/interfaces umgehen, aber ich sag' dir jetzt nicht womit, weil ich dieses Chaos auch nicht befriedigend durchblicke.
Zur Sache: ifup ist ein Programm und kommt mit dem Paket ifupdown. Du kannst ifupdown und die /etc/network/interfaces umgehen, aber ich sag' dir jetzt nicht womit, weil ich dieses Chaos auch nicht befriedigend durchblicke.
Re: Herausfinden welches Programm ifup macht?
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.
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).
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
-- hmmm
Re: Herausfinden welches Programm ifup macht?
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.
Re: Herausfinden welches Programm ifup macht?
Kein Problem, Raspbian ist von einem "normalen" Debian kaum zu unterscheiden. Auf jeden Fall ist das ein OS mit systemd.kutt hat geschrieben:22.02.2018 10:08:35Naja - hust - Debianversion.
Bitte nicht schlagen, aber es handelt sich um Raspian Jessie.
Das ist sehr wahrscheinlich der networkmanager, der die "verwaiste" Netzwerkschnittstelle an sich reißt.Wenn ich ifdown wlan0 mache, dann dauert es genau 5 Minuten, bis irgendjemand wlan0 wieder up-bringen will.
Re: Herausfinden welches Programm ifup macht?
Hast Du auf deinem PI, evtl. ifplugd aktiv oder evtl. auch "allow-hotplug" für das wlan0-Interface?kutt hat geschrieben: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. ...
Code: Alles auswählen
ps -fC ifplugd
cat /etc/network/interfaces | grep -i allow
Re: Herausfinden welches Programm ifup macht?
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 ChaosMSfree hat geschrieben:Eigentlich ist das bei Debian sehr klar, was passiert.
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.MSfree hat geschrieben:Zumindest bis Debian Stretch ruft systemd ifuf/ifdown auf
Re: Herausfinden welches Programm ifup macht?
ja - das ist für alle 3 interfaces anmat6937 hat geschrieben:22.02.2018 10:22:15Hast Du auf deinem PI, evtl. ifplugd aktiv oder evtl. auch "allow-hotplug" für das wlan0-Interface?kutt hat geschrieben: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. ...
Code: Alles auswählen
ps -fC ifplugd cat /etc/network/interfaces | grep -i allow
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
der Tip mit ifplugd ist aber gut - daran sollte es aber nicht liegen? Wird der nicht erst aktiv, wenn eine Schnittstelle kommt/geht?
-- hmmm
Re: Herausfinden welches Programm ifup macht?
Versuch mal ohne das wlan0-Interface bei ifplugd und ohne "allow-hotplug" für das wlan0-Interface in der interfaces-Datei.kutt hat geschrieben:22.02.2018 10:32:31ja - 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
Re: Herausfinden welches Programm ifup macht?
Hmm - jetzt macht er das nicht mehr.
Mal beobachten
Mal beobachten
-- hmmm
Re: Herausfinden welches Programm ifup macht?
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
Code: Alles auswählen
modprobe brcmfmac
Code: Alles auswählen
lsmod | grep -i brcm
Re: Herausfinden welches Programm ifup macht?
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.
Re: Herausfinden welches Programm ifup macht?
Spielst du auf die (un)predictable network names an?guennid hat geschrieben:22.02.2018 13:29:38Wieso 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).
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.
Re: Herausfinden welches Programm ifup macht?
Das hat er doch. Er benutzt raspbian:guennid hat geschrieben:22.02.2018 13:29:38..., du solltest im eigenen Interesse schon genauer mitteilen, inwieweit dein System vom Standard abweicht.
Code: Alles auswählen
# lsb_release -a
Distributor ID: Raspbian
Description: Raspbian GNU/Linux 8.0 (jessie)
Release: 8.0
Codename: jessie