[netcfg] changement automatique interfaces (wifi / lan)

Applications, problèmes de configuration réseau
Avatar de l’utilisateur
Anghirrim
Elfe
Messages : 701
Inscription : mar. 28 févr. 2012, 11:09
Localisation : Loire-Atlantique

[netcfg] changement automatique interfaces (wifi / lan)

Message par Anghirrim »

Hello,

Je suis en train de me documenter sur netcfg afin de remplacer Wicd car je sors très rarement mon PC portable de la maison et j'aimerai améliorer sa vitesse de boot (Wicd étant un peu long à charger).

J'utilise prioritairement le lan en dhcp, et de temps en temps au besoin (surf sur le canap') je me connecte en Wifi à ma box.

Du coup, à lire le Wiki Netcfg, je vois comment configurer mes différents profils mais il me reste une question sur l'automatisation des connexions.

Si j'établis netcfg.service, et renseigne mes profils réseau dans /etc/conf.d/netcfg, par ordre de préférence (profil_1=lan-dhcp; profil_2=wifi-maison; profil_3=wifi-beauxpapamaman; etc...). Alors Netcfg se connecte au démarrage au premier profil dispo. Ça, j'ai compris.

Mais une fois le démarrage amorcé et la première connexion faite. Si au bout d'une heure je quitte mon bureau avec le PC pour me poser sur le canapé en débranchant mon cable réseau, netcfg va-t-il se connecter automatiquement à profil_2=wifi-maison?

Si non, j'imagine qu'il va falloir passer par net-auto-wireless.service, mais peut-il cohabiter avec netcfg.service sans ralentir le démarrage ou générer des conflits?

L'objectif est que ma femme ne soit pas genée le moins du monde en utilisation (quoi que, elle arrive encore à m'appeler pour utiliser Wicd :mrgreen: ). Merci!
Optiplex 3060 Micro Intel© Core™ i5-8500T, 16Go RAM, Arch Linux Cinnamon + Windows 10
Asus X53S, Linux Mint Cinnamon
Avatar de l’utilisateur
tuxce
Maître du Kyudo
Messages : 6677
Inscription : mer. 12 sept. 2007, 16:03

Re: [netcfg] changement automatique interfaces (wifi / lan)

Message par tuxce »

Salut, j'imagine que tu utilises systemd, dans ce cas, je pense pas que le temps de boot soit dépendant de la connexion (à part si t'as des services bloquant).
netcfg n'est pas fait pour basculer du filaire au sans fil, pour ça, il faut rajouter des contournements à ifplugd / wpa_actiond, à mon avis, il vaut mieux rester sur des softs tels que wicd.

Ceci dit, netcfg peut très bien être lancé en filaire ET en sans fil, au pire, t'auras 2 connexions :)

Pour ifplugd, tu peux modifier /etc/ifplugd/netcfg.action pour démarrer / arrêter net-auto-wireless selon que le câble est branché ou pas.
Avatar de l’utilisateur
Anghirrim
Elfe
Messages : 701
Inscription : mar. 28 févr. 2012, 11:09
Localisation : Loire-Atlantique

Re: [netcfg] changement automatique interfaces (wifi / lan)

Message par Anghirrim »

Ok merci.

Partant du constat que quel que soit le soft de gestion réseau utilisé je mets sensiblement le même temps à le démarrer (dhcpcd seul, wicd ou networkmanager mettent tous autant de temps dans systemd-analyze blame), effectivement la direction netcfg n'est peut-être pas la meilleure.

J'ai l'impression que c'est dhcpcd qui est bloquant, mais il lui sera fait appel dans tous les cas, que ce soit par wicd ou netcfg, correct? Peut-être une conséquence de mes CPL's ou de ma box qui est lente à attribuer les IP's?
Optiplex 3060 Micro Intel© Core™ i5-8500T, 16Go RAM, Arch Linux Cinnamon + Windows 10
Asus X53S, Linux Mint Cinnamon
Avatar de l’utilisateur
tuxce
Maître du Kyudo
Messages : 6677
Inscription : mer. 12 sept. 2007, 16:03

Re: [netcfg] changement automatique interfaces (wifi / lan)

Message par tuxce »

Ça peut aussi être dû à ipv6 si ta box n'est pas compatible avec (ou s'il n'est pas activé dessus).
Avatar de l’utilisateur
Anghirrim
Elfe
Messages : 701
Inscription : mar. 28 févr. 2012, 11:09
Localisation : Loire-Atlantique

Re: [netcfg] changement automatique interfaces (wifi / lan)

Message par Anghirrim »

Non non, j'ai bien désactivé ipv6, j'avais effectivement un message d'erreur au démarrage avant.

J'ai ajouté ce qui va bien à mon grub.cfg il y a quelques semaines.
Optiplex 3060 Micro Intel© Core™ i5-8500T, 16Go RAM, Arch Linux Cinnamon + Windows 10
Asus X53S, Linux Mint Cinnamon
oktoberfest
Maître du Kyudo
Messages : 1855
Inscription : mer. 06 janv. 2010, 13:51
Localisation : Ried - Alsace - France

Re: [netcfg] changement automatique interfaces (wifi / lan)

Message par oktoberfest »

Chez moi (avec Numericable), dhcp mettait bien 5 à 6 secondes à récupérer une IP. J'ai passé tous les pc en ip statique : c'est toujours ça de gagné au boot. Il ne me reste que le portable qui est toujours en dhcp + wifi : cela me semble compliqué de gérer l'adressage statique avec le réseau wifi de la maison et dhcp pour les autres réseaux (problèmes du /etc/resolv.conf entre autre).
La majorité des bugs se situe entre la chaise et le clavier...
Arrêtez de vous prendre la tête avec les partitions... passez au LVM
Avatar de l’utilisateur
Anghirrim
Elfe
Messages : 701
Inscription : mar. 28 févr. 2012, 11:09
Localisation : Loire-Atlantique

Re: [netcfg] changement automatique interfaces (wifi / lan)

Message par Anghirrim »

Au pire, sous wicd j'enregistre mon interface filaire en statique et je garde le wifi en dhcp (les quelques secondes utilisées par dhcp seront le trajet bureau ==> canapé).

Ça, ça doit pouvoir fonctionner, et ainsi Wicd ne tentera pas de charger dhcpcd pour établir la connexion filaire.
Optiplex 3060 Micro Intel© Core™ i5-8500T, 16Go RAM, Arch Linux Cinnamon + Windows 10
Asus X53S, Linux Mint Cinnamon
Avatar de l’utilisateur
Anghirrim
Elfe
Messages : 701
Inscription : mar. 28 févr. 2012, 11:09
Localisation : Loire-Atlantique

Re: [netcfg] changement automatique interfaces (wifi / lan)

Message par Anghirrim »

Bon, j'ai testé. J'ai attribué une IP statique à mon interface filaire et je l'ai configurée sous Wicd.

Aucun changement, toujours ultra long (10 secondes) à charger....
Optiplex 3060 Micro Intel© Core™ i5-8500T, 16Go RAM, Arch Linux Cinnamon + Windows 10
Asus X53S, Linux Mint Cinnamon
Avatar de l’utilisateur
Anghirrim
Elfe
Messages : 701
Inscription : mar. 28 févr. 2012, 11:09
Localisation : Loire-Atlantique

Re: [netcfg] changement automatique interfaces (wifi / lan)

Message par Anghirrim »

Bon, passage à netcfg, j'ai gagné 4 à 5 secondes au boot. Une bonne chose!

En revanche, j'ai configuré trois profils réseau:

Profil 1: lan_maison_static
Profil 2: lan_maison_dhcp (au cas où le lan static plante)
Profil 3: wifi_maison (wifi en dhcp)

Et ainsi mon /etc/conf.d/netcfg a la ligne:

Code : Tout sélectionner

NETWORKS=(lan_maison_static wifi_maison lan_maison_dhcp)
Avec cette configuration, netcfg lance les interface eth0 et wlan0. Y-a-t-il un moyen de lui dire, si eth0 est connecté, alors ne tente pas wlan0?

Je comptais me créer un lanceur dans mon panel Xfce avec la commande "netcfg wifi_maison" pour me connecter en Wifi quand j'en ai besoin. On peut difficilement faire plus simple.

En gros je veux:
- Démarrage ethernet branché, lan_maison_static se connecte
- Démarrage ethernet débranché, wifi_maison se connecte
- Débranchage ethernet, je clique pour me connecter en Wifi

Des idées (il doit être possible de se passer de ifplugd)? Je débute avec netcfg...
Optiplex 3060 Micro Intel© Core™ i5-8500T, 16Go RAM, Arch Linux Cinnamon + Windows 10
Asus X53S, Linux Mint Cinnamon
Avatar de l’utilisateur
Anghirrim
Elfe
Messages : 701
Inscription : mar. 28 févr. 2012, 11:09
Localisation : Loire-Atlantique

Re: [netcfg] changement automatique interfaces (wifi / lan)

Message par Anghirrim »

Bon, les boutons fonctionnent, connexion wifi, lan-static et lan-dhcp...
Image

Déjà ça me plait bien! Reste à pousser la fainéantise jusqu'au bout et avoir le wifi connecté automatiquement au démarrage si l'ethernet n'est pas branché. :mrgreen:

Avec le conky qui monitore le réseau:
Image
Optiplex 3060 Micro Intel© Core™ i5-8500T, 16Go RAM, Arch Linux Cinnamon + Windows 10
Asus X53S, Linux Mint Cinnamon
Avatar de l’utilisateur
FoolEcho
Maître du Kyudo
Messages : 10711
Inscription : dim. 15 août 2010, 11:48
Localisation : Basse-Normandie

Re: [netcfg] changement automatique interfaces (wifi / lan)

Message par FoolEcho »

Anghirrim a écrit :Avec cette configuration, netcfg lance les interface eth0 et wlan0. Y-a-t-il un moyen de lui dire, si eth0 est connecté, alors ne tente pas wlan0?
Sans garantie (j'avoue, je ne peux pas t'en dire plus, je n'ai jamais regardé en détail :oops:) mais je pense que le premier est le plus simple/efficace:
-tu définis POST_UP dans tes profil eth0 (ou même au niveau du répertoire interfaces) avec netcfg ton_profil_wlan0 down... avec l'inconvénient qu'il sera lancé puis éteint... Avantage: plus simple et si la connexion n'est pas possible sur eth0, celle sur wlan0 sera opérationnelle très vite puisque tenté en même temps (car sauf erreur de ma part, les profils pour des interfaces différentes vont être lancés en même temps, sachant que pour une même interface, c'est le premier profil qui fonctionne qui a gain de cause).
-ou tu ne lances que tes profils eth0 dynamique ou statique (note que tu peux ne lancer qu'un profil avec le service netcfg@ton_profile) et après il faut jouer avec un script (je pense qu'il faut partir sur une action pour ifplugd) pour cette fois lancer le service wlan ou directement le profil. Désavantages: plus lent (le "temps" de voir que eth0 ne peut se connecter avant de lancer wlan0) + conception de l'action/script.
«The following statement is not true. The previous statement is true.» :nage:
Avatar de l’utilisateur
Anghirrim
Elfe
Messages : 701
Inscription : mar. 28 févr. 2012, 11:09
Localisation : Loire-Atlantique

Re: [netcfg] changement automatique interfaces (wifi / lan)

Message par Anghirrim »

Effectivement, netcfg s'arrète de charger les profils pour une même interface dès qu'il y arrive sur un. Mais il charge quand même les profils de deux interfaces différentes si ils sont listés dans NETWORKS=(...)

Ce qui m'embète c'est que si j'utilise ifplugd, alors les quelques secondes que j'ai gagné en délaissant Wicd, seront perdues à nouveau.

Allez, je crois que s'il n'y a pas de solution sans ifplugd, je vais laisser comme ça, je pourrai survivre aux quelques fois où je devrai cliquer sur mon icone Wifi pour me connecter en cas de démarrage non branché en ethernet.

Après, pour les Wifi sans profils connus, il me reste wicd-curses en utilisation ponctuelle.
Optiplex 3060 Micro Intel© Core™ i5-8500T, 16Go RAM, Arch Linux Cinnamon + Windows 10
Asus X53S, Linux Mint Cinnamon
Avatar de l’utilisateur
tuxce
Maître du Kyudo
Messages : 6677
Inscription : mer. 12 sept. 2007, 16:03

Re: [netcfg] changement automatique interfaces (wifi / lan)

Message par tuxce »

Dans le cadre d'une utilisation (!= de la recherche de comment ça fonctionne), j'avoue que ça me paraît être une usine à gaz pour reproduire ce que fait entre autre wicd très bien ... et je ne saisis pas encore pourquoi wicd rendrait le boot plus long, ce n'est pas censé être un service bloquant. Ou alors tu parles de la connexion au réseau et non du boot ?
Anghirrim a écrit : Des idées (il doit être possible de se passer de ifplugd)? Je débute avec netcfg...
Pourtant ifplugd est fait pour ça, en créant /etc/ifplugd/ifplugd.action :

Code : Tout sélectionner

#!/bin/bash
case "$2" in
  up)
    netcfg down wifi_maison
    netcfg lan_maison_static
    ;;
  down)
    netcfg down lan_maison_static
    netcfg wifi_maison
    ;;
esac
et en ne lançant au démarrage que ifplugd sans netcfg :

Code : Tout sélectionner

systemctl enable ifplugd@eth0.service
(s/eth0/le_vrai_nom)

ça devrait le faire
Avatar de l’utilisateur
Anghirrim
Elfe
Messages : 701
Inscription : mar. 28 févr. 2012, 11:09
Localisation : Loire-Atlantique

Re: [netcfg] changement automatique interfaces (wifi / lan)

Message par Anghirrim »

Ah, je ne pensais pas que ifplugd pouvait fonctioner en "standalone".

Pour Wicd, je ne sais pas mais le fait réel est que je suis passé de 23 secondes à 19 secondes sur mon plot.svg avec systemd-analyze. Et on voit très bien que mon slim.service (ou je en sais plus quelle partie, logind je crois) est conditionné par la fin de wicd.service.

Après, au "chrono" réel, je retrouve ce delta de 4 secondes pour arriver à mon bureau totalement fonctionnel (gain de 10% sur mon boot, pas mal).

Du coup, n'ayant pas besoin des fonctionnalités de wicd sur 99% de mon utilisation pc, je préfère me casser un peu la tête et avoir quelque chose de plus performant.

Je vais me renseigner sur le fonctionnement d'ifplugd du coup si je peux me passer de netcfg en tant que service.


Question subsidiaire, que veux tu dire avec ton (s/eth0/le_vrai_nom) ?
Optiplex 3060 Micro Intel© Core™ i5-8500T, 16Go RAM, Arch Linux Cinnamon + Windows 10
Asus X53S, Linux Mint Cinnamon
Avatar de l’utilisateur
tuxce
Maître du Kyudo
Messages : 6677
Inscription : mer. 12 sept. 2007, 16:03

Re: [netcfg] changement automatique interfaces (wifi / lan)

Message par tuxce »

Remplacer "eth0" par le vrai nom de ton interface. ("s" étant la commande sous vim (entre autre) pour remplacer)

Tu peux poster ton plot.svg ?
Avatar de l’utilisateur
Anghirrim
Elfe
Messages : 701
Inscription : mar. 28 févr. 2012, 11:09
Localisation : Loire-Atlantique

Re: [netcfg] changement automatique interfaces (wifi / lan)

Message par Anghirrim »

Ok, je le ferai ce soir dès que j'aurai le pc.

Mais clairement netcfg est dans mon cas plus performant que wicd, en plus des 4 secondes gagnées au boot, j'ai l'ethernet déjà connecté contre une attente de 10 secondes environ pour Wicd.

Concernant ifplugd, j'ai vu sur le wiki anglais que dans une certaine mesure, ifplugd lançait tous les profils "ethernet" disponibles. Cela est-il vrai seulement pour net-auto-wired.service ou aussi pour ifplugd@eth0.service?

Y-a-t-il un moyen de modifier le /etc/ifplugd/ifplugd.action pour créer un mix avec ta proposition et le /etc/ifplugd/netcfg.action?

Genre /etc/ifplugd/ifplugd.action (j'ai gardé la structure du /etc/ifplugd/netcfg.action et seulement ajouté le up et down wifi_maison):

Code : Tout sélectionner

#!/bin/bash
#
# ifplugd.action script for netcfg

. /usr/lib/network/network

case "$2" in
  up)
    #Desactive mon wifi_maison
    netcfg down wifi_maison
    # Look for a dhcp based profile to try first
    # dhcp can actually outright fail, whereas
    # it's difficult to tell if static succeeded
    # Also check profile is same iface and is right connection
    echo "up"
    declare -a preferred_profiles
    declare -a dhcp_profiles
    declare -a static_profiles
    for profile in $(list_profiles); do
      (
        echo "loading $profile"
        load_profile "$profile"
        [[ "$INTERFACE" == "$1" && "$CONNECTION" == "ethernet" ]] || continue
        checkyesno "${AUTO_WIRED:-no}" && exit 1 # user preferred AUTO profile
        [[ "$IP" == "dhcp" ]] && exit 2 # dhcp profile
        exit 3 # static profile
      )
      case $? in
        1) preferred_profiles+=("$profile");;
        2) dhcp_profiles+=("$profile");;
        3) static_profiles+=("$profile");;
      esac
    done
    if [[ ${#preferred_profiles[@]} > 1 ]]; then
      echo "AUTO_WIRED flag for $1 set in more than one profile (${preferred_profiles[*]})"
    fi
    for profile in "${preferred_profiles[@]}" "${dhcp_profiles[@]}" "${static_profiles[@]}"; do
      profile_up "$profile" && exit 0
    done
  ;;
  down)
    if check_iface "$1"; then
      interface_down "$1" && exit 0
    fi
  ;;
  *)
    echo "Wrong arguments" > /dev/stderr
    #Active le wifi maison en cas de débranchage de l'Ethernet
    netcf wifi-maison
  ;;
esac

exit 1
Je me garde ainsi la possibilité de démarrer branché à un ethernet en DHCP si le static plante (en ayant bien sûr rajouté "AUTO_WIRED=1" à mon profil lan_maison_static pour qu'il soit testé en premier).

PS: pour le vrai nom de mon interface, tu parles bien de celui donné par udev?
Optiplex 3060 Micro Intel© Core™ i5-8500T, 16Go RAM, Arch Linux Cinnamon + Windows 10
Asus X53S, Linux Mint Cinnamon
Avatar de l’utilisateur
tuxce
Maître du Kyudo
Messages : 6677
Inscription : mer. 12 sept. 2007, 16:03

Re: [netcfg] changement automatique interfaces (wifi / lan)

Message par tuxce »

Anghirrim a écrit : PS: pour le vrai nom de mon interface, tu parles bien de celui donné par udev?
Je parle de celui que tu as sur ton système. Si c'est eth0, tu laisses eth0, si t'as un autre nom, ben ... tu mets ce nom là :)
Anghirrim a écrit :Y-a-t-il un moyen de modifier le /etc/ifplugd/ifplugd.action pour créer un mix avec ta proposition et le /etc/ifplugd/netcfg.action?
L'utilisation de netcfg, ok, ça te fait gagner 4s au boot. Mais là, tu veux mixer les 2 pourquoi ?

Sinon, le *), n'est normalement jamais atteint. Ca ne sert à rien de mettre des choses dedans !
Avatar de l’utilisateur
Anghirrim
Elfe
Messages : 701
Inscription : mar. 28 févr. 2012, 11:09
Localisation : Loire-Atlantique

Re: [netcfg] changement automatique interfaces (wifi / lan)

Message par Anghirrim »

Ok, je veux mixer les deux seulement dans le 0.0001% des cas où je dois me connecter à un wifi inconnu et que je doive lister les réseaux captés par mon pc. Je n'ai pas vu d'option pour cela avec netcfg (mais je suis ultra myope).

Du coup, wicd-curse, lancé seulement dans ce cas peut-être une alternative. Pour le reste, netcfg/ifplugd seulement car ils remplissent 99.9999% des cas de mon utilisation.

Pour le *), je ne sais pas ce que c'est, j'ai seulement copié puis modifié le /etc/ifplugd/netcfg.action.

Edit: J'ai testé mon .action, il ne fonctionne pas pour la connexion automatique au wifi. Du coup, le tien fonctionne parfaitement. Je vais peut-être arrêter d'essayer de faire "mieux que très bien", au fond je crois que depuis que je ne suis plus étudiant, je ne me connecte plus sur un réseau filaire en dhcp. Et c'est très rare que j'utilise le wifi avec mon pc en dehors de chez moi aussi...

Je passe ce sujet en résolu, merci à vous!

@tuxce, pour le plot.svg, je posterai ça dans un autre sujet dédié à l'optimisation du boot.
Dernière modification par Anghirrim le mer. 06 févr. 2013, 21:31, modifié 1 fois.
Optiplex 3060 Micro Intel© Core™ i5-8500T, 16Go RAM, Arch Linux Cinnamon + Windows 10
Asus X53S, Linux Mint Cinnamon
Avatar de l’utilisateur
Anghirrim
Elfe
Messages : 701
Inscription : mar. 28 févr. 2012, 11:09
Localisation : Loire-Atlantique

Re: [netcfg] changement automatique interfaces (wifi / lan)

Message par Anghirrim »

Ca ça me plait! Tu as posté pendant que j'éditais mon message du dessus.

Du coup, en fonction des besoins je rajouterai ça dès que je créerai les profils wifi manquants (box des beaux parents, de mes parents, boulot).

Edit: tu as du voir ma précédente édition. Merci pour ton aide tuxce.
Optiplex 3060 Micro Intel© Core™ i5-8500T, 16Go RAM, Arch Linux Cinnamon + Windows 10
Asus X53S, Linux Mint Cinnamon
damien64
newbie
Messages : 5
Inscription : sam. 23 avr. 2011, 22:59

Re: [netcfg] changement automatique interfaces (wifi / lan)

Message par damien64 »

Bonsoir,
J'utilise mon aspire one 753 comme toi 90% sur ethernet en fixe et 10% en wifi soit à la maison (canapé) soit en déplacement. Depuis l'intallation de systemd et l'analyse plus fine du démarrage, j'ai supprimé wicd et installé netcfg en gagnant ainsi quelques secondes sur les démarrages les plus fréquents (à savoir avec eth0).
Pour le wifi lorsque cela est nécessaire, j'utilise wifi-select qui me donne entière satisfaction, si ce n'est que ce n'est pas entièrement automatisé comme tu le souhaites.
Bonne suite;
Répondre