Utilisation de scripts if-up et if-down Pour éteindre le réseau sans fil lorsqu'il est connecté eth1

J'essaie de configurer mes interfaces réseau. Je veux que mon interface sans fil soit déconnectée lorsque le câble est connecté. Ethernet. Quand je tire le câble Ethernet, Mon interface sans fil doit être activée à nouveau.

J'ai créé /etc/network/if-up.d/wlan-down:

#!/bin/sh

[ "$IFACE" != "eth1" ] || exit 0
ifdown wlan0

exit 0

et /etc/network/if-down.d/wlan-up:

#!/bin/sh

[ "$IFACE" != "eth1" ] || exit 0
ifup wlan0
wpa_cli -i wlan0 reassociate

exit 0

Mais il semble que cela ne fonctionne pas du tout. WPA Tout le temps à essayer de se connecter. Je vois quoi wlan0 Tout le temps apparaît et disparaît. Mes questions:

Comment puis-je déboguer ces scripts, par exemple ce qui s'est passé et ce qui a été effectué?

Comment mettre en œuvre ce dont j'ai besoin?

De plus, il semble que rien ne se passe lorsque je désactive le câble Ethernet. L'interface est activée et l'adresse IP est attribuée. Je voudrais le supprimer dans ce cas afin de pouvoir utiliser une connexion sans fil.

J'utilise instable Debian
Invité:

Christine

Confirmation de:

Ressemble à

ifplugd

Dans l'emballage, vous avez besoin de tous les scripts! Après l'installation:

apt-get install ifplugd

et ajouter eth1 au fichier de configuration

/etc/default/ifplugd

Tout a fonctionné comme recherché, sans scripts inutiles (nettoyé tout à l'état initial).

Merci à tous pour l'aide

Hannah

Confirmation de:

Est-ce pour un système de bureau? Vous avez vu l'utilisation de
http://packages.debian.org/lenny/network-manager
ou
http://packages.debian.org/lenny-backports/wicd
. Ces outils s'en occuperont automatiquement.

Comment puis-je déboguer ces scripts, par exemple ce qui s'est passé et ce qui a été effectué?

Vous voudrez peut-être utiliser quelque chose comme
http://linux.die.net/man/1/logger
Envoyer des informations de débogage au journal du système. Ou vous pouvez simplement insérer plusieurs commandes d'écho là-bas et ici pour enregistrer quelque chose dans certains fichiers.

Agathe

Confirmation de:

Voici le possible "non vérifié" décision,

dans votre / etc / network / interfaces

allow-hotplug eth0
iface eth1 inet dhcp

down ifconfig wlan0 up
down wpa_cli -i wlan0 reassociate

up ifconfig wlan0 down

allow-hotplug wlan0
iface wlan0 inet dhcp

up ifconfig eth0 down
down ifconfig eth0 up

Eh bien, voici mes cinq cents, j'utilise le paramètre susmentionné pour modifier les itinéraires en fonction de l'interface. / bas sur mon serveur, il peut fonctionner pour vous, la raison pour laquelle j'ai fait avec l'utilisation du fichier d'interface était que mes scripts semblent être fabriqués à partir du catalogue /ifup.d Même 755.

Laissez-moi savoir si cela fonctionne, malheureusement, je n'ai pas de voiture debian Avec carte Wi-Fi pour tester :(

Hannah

Confirmation de:

Je pense toujours que la solution correcte sera la configuration de la métrique d'interface sans fil, comme je l'ai décrit dans
https://serverfault.com/questi ... 36721

Emilie

Confirmation de:

Voulez-vous configurer quelque chose en soutien / etc / network /, peut-être comme offres womble, Ayant augmenté la métrique de route Wi-Fi, Ou peut-être, de toute autre manière, y compris le script utilisateur dans /etc/network/if-up.d/ Il ferait désactiver l'interface Wi-Fi, Si l'interface Ethernet apparu.

Informations sur la création de scénarios pour /etc/network/if-up.d/ est sur la page des manuels d'interface dans les "options IFACE».

Babette

Confirmation de:

Le problème est que vous ne pouvez pas courir ifup / down récursivement. J'ai essayé de faire quelque chose comme ça, où je voulais appeler une interface VPN, Quand l'interface était en cours d'exécution WAN.

Ma décision:

echo ifup vpn0 | at now >/dev/null 2>&1

Pour activer et éteindre automatiquement l'interface lors de la connexion ou de la désactivation du câble, utilisez ifplugd De l'emballage du même nom.

Agathe

Confirmation de:

Hmm, commentaires n'aiment pas le code.

#!/bin/bash

interval=5

while [ 0 -lt 1 ]; do
ifconfig eth0 up
ifconfig eth0 | grep 'inet addr' | awk '{ print $2 }' | cut -c 6- > /tmp/eth0.stat
if [ -z /tmp/eth0.stat ]; then
ifconfig eth0 down
sleep $interval
else
echo "We have an address (`cat /tmp/eth0.stat`), looking good." > /var/log/eth0.stat.log
sleep 10
fi
done

Créez un démon pour le démarrer au démarrage.

laissez-moi savoir comment ça marche

Christine

Confirmation de:

Au moins dans les distributions liées à Fedora, Si vous regardez

ifup

script et ses parents que vous verrez que si

/sbin/ifup-local

et

/sbin/ifdown-local

Il y a, ils seront exécutés. Cela vous donne un endroit sûr pour connecter des scripts locaux de l'ordinateur. Un argument transmis par ces scénarios permettra ou désactivera l'appareil.

Vous pouvez créer ces scénarios et les faire courir et arrêter eth0, Si le périphérique lancé ou arrêté est votre appareil sans fil.

Je ne sais pas si les scénarios de réseau sont configurés pour fonctionner de la même manière Debian et distributions connexes, mais cela vaut la peine de voir.

Pour répondre aux questions, connectez-vous ou registre