[systemd] Erreur dans un unit.service maison (en suspens)

Questions et astuces concernant l'installation et la configuration d'archlinux
Répondre
Avatar de l’utilisateur
Skippythekangoo
archer de cavalerie
Messages : 165
Inscription : mar. 15 mai 2007, 17:46
Localisation : /dev/null
Contact :

[systemd] Erreur dans un unit.service maison (en suspens)

Message par Skippythekangoo »

Salutations à toutes et à tous.

J'utilise un Eeepc 900A pour me connecter au routeur de mon voisin (avec sa bénédiction, loué soit-il...), que je redistribue dans mon appartement via un vieux routeur NB4-SER-r0 (9box/SFR)sous OpenWrt.

Jusque-là, tout va bien, le soucis est que j'ai créer un service appelant un script dans mon $HOME.

waln2eth.service

Code : Tout sélectionner

[Unit]
Description=Pont entre wlan et eth

[Service]
Type=simple
ExecStart=/usr/bin/bash -l -c /home/skippy/pont_wifi_2_eth0_4_9box.sh
Restart=always

[Install]
Alias=wlan2eth
pont_wifi_2_eth0_4_9box.sh

Code : Tout sélectionner

#/usr/bin/env sh

WIFI_CARD="wlp2s0"
ETH_CARD="enp1s0"
ETH_CARD_IP="192.168.0.3"

# Donner une ip fixe a la carte ethernet
ifconfig $ETH_CARD $ETH_CARD_IP

# Activer l'ip-fowarding
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o $WIFI_CARD -j MASQUERADE
iptables -t nat -A POSTROUTING -o $ETH_CARD -j MASQUERADE

echo "#####################################################################################"
echo "#####                     pont_wifi_2_eth0_4_9box.sh                            #####"
echo "##### Active un pont entre la carte wifi et la carte ethernet pour redistribuer #####"
echo "##### le wifi dans l'appartement via la 9Box avec OpenWRT installe© dessus.      #####"
echo "#####################################################################################"
echo
echo "#####"
echo "Carte wifi : $WIFI_CARD"
echo "$(ifconfig $WIFI_CARD | grep -w inet)"
echo "#####"
echo "Carte ethernet : $ETH_CARD"
echo "$(ifconfig $ETH_CARD | grep -w inet)"
echo "#####"
echo "IP forwarding active©: $(cat /proc/sys/net/ipv4/ip_forward)"
echo "#####"
echo

Code : Tout sélectionner

[root@traveler skippy]# systemctl enable wlan2eth
ln -s '/usr/lib/systemd/system/wlan2eth.service' '/etc/systemd/system/wlan2eth'

Code : Tout sélectionner

[root@traveler skippy]# systemctl start wlan2eth

Code : Tout sélectionner

[root@traveler skippy]# systemctl status wlan2eth
wlan2eth.service - Pont entre wlan et eth
   Loaded: loaded (/usr/lib/systemd/system/wlan2eth.service; enabled)
   Active: failed (Result: start-limit) since Mon 2013-11-04 09:51:38 CET; 3s ago
  Process: 1108 ExecStart=/usr/bin/bash -l -c /home/skippy/pont_wifi_2_eth0_4_9box.sh (code=exited, status=0/SUCCESS)
 Main PID: 1108 (code=exited, status=0/SUCCESS)

Nov 04 09:51:38 traveler systemd[1]: wlan2eth.service holdoff time over, scheduling restart.
Nov 04 09:51:38 traveler systemd[1]: Stopping Pont entre wlan et eth...
Nov 04 09:51:38 traveler systemd[1]: Starting Pont entre wlan et eth...
Nov 04 09:51:38 traveler systemd[1]: wlan2eth.service start request repeated too quickly, refusing to start.
Nov 04 09:51:38 traveler systemd[1]: Failed to start Pont entre wlan et eth.
Nov 04 09:51:38 traveler systemd[1]: Unit wlan2eth.service entered failed state.
Le service ne se lance pas au boot.

Quel serait le problème, s'il vous plaît...???

D'avance, merci.
Dernière modification par Skippythekangoo le mar. 03 déc. 2013, 10:39, modifié 1 fois.
Quiconque a cette louange d'être homme sans boire de vin, si il en buvait serait un ange.

Chansons Plus Bifluorées

°¿° Skippy the Kangoo °¿°
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17230
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [SYSTEMD]Erreur dans un unit.service maison

Message par benjarobin »

Alors pour te rassurer rien ne va :-)
  • Il est déconseillé de mettre des choses perso dans /usr/lib/systemd/system/, cela va dans /etc/systemd/system/
  • Tout ce que tu fait manuellement peut déjà être fait avec les outils existant
  • Il te manque le

    Code : Tout sélectionner

    [Install]
    WantedBy=network.target
  • Pourquoi ne pas appeler directement le script

    Code : Tout sélectionner

    ExecStart=/home/skippy/pont_wifi_2_eth0_4_9box.sh
    au lieu de

    Code : Tout sélectionner

    ExecStart=/usr/bin/bash -l -c /home/skippy/pont_wifi_2_eth0_4_9box.sh
  • Voir http://www.freedesktop.org/software/sys ... rvice.html pour comprendre ce que signifie Restart=always et Type=simple
    Toi tu as juste besoin de Type=oneshot et tu ne veux pas spécifier de Restart=...
En résumé nettoie l'existant

Code : Tout sélectionner

rm -R '/usr/lib/systemd/system/wlan2eth.service' '/etc/systemd/system/wlan2eth'

Puis créer le fichier /etc/systemd/system/wlan2eth.service :

Code : Tout sélectionner

[Unit]
Description=Pont entre wlan et eth

[Service]
Type=oneshot
ExecStart=/home/skippy/pont_wifi_2_eth0_4_9box.sh

[Install]
WantedBy=network.target
Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Avatar de l’utilisateur
Skippythekangoo
archer de cavalerie
Messages : 165
Inscription : mar. 15 mai 2007, 17:46
Localisation : /dev/null
Contact :

Re: [SYSTEMD]Erreur dans un unit.service maison

Message par Skippythekangoo »

Merci bien benjarobin de m'avoir, plus qu'aiguillé.

Le service fonctinne quasiment, sauf qu'il ne s'execute pas au boot... :(

Sinon, le

Code : Tout sélectionner

ExecStart=/home/skippy/pont_wifi_2_eth0_4_9box.sh
ne fonctionne pas et me renvoie une erreur, alors que

Code : Tout sélectionner

/usr/bin/bash /home/skippy/pont_wifi_2_eth0_4_9box.sh
(j'ai viré les options de bash) fonctionne sans demander son reste, pour l'instant je vais garder cette solution....
benjarobin a écrit :Tout ce que tu fait manuellement peut déjà être fait avec les outils existant
Je le sais bien, mais c'est surtout du test et du dépannage...

Cordialement...
Quiconque a cette louange d'être homme sans boire de vin, si il en buvait serait un ange.

Chansons Plus Bifluorées

°¿° Skippy the Kangoo °¿°
oktoberfest
Maître du Kyudo
Messages : 1855
Inscription : mer. 06 janv. 2010, 13:51
Localisation : Ried - Alsace - France

Re: [SYSTEMD]Erreur dans un unit.service maison

Message par oktoberfest »

Skippythekangoo a écrit :Sinon, le

Code : Tout sélectionner

ExecStart=/home/skippy/pont_wifi_2_eth0_4_9box.sh
ne fonctionne pas et me renvoie une erreur, alors que

Code : Tout sélectionner

/usr/bin/bash /home/skippy/pont_wifi_2_eth0_4_9box.sh
(j'ai viré les options de bash) fonctionne sans demander son reste,
Ton script est-il exécutable ?

Code : Tout sélectionner

chmod +x /home/skippy/pont_wifi_2_eth0_4_9box.sh
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
benjarobin
Maître du Kyudo
Messages : 17230
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [SYSTEMD]Erreur dans un unit.service maison

Message par benjarobin »

Skippythekangoo a écrit :Le service fonctinne quasiment, sauf qu'il ne s'execute pas au boot... :(
Peut on voir la sortie de

Code : Tout sélectionner

tree /etc/systemd/system/
Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Avatar de l’utilisateur
Skippythekangoo
archer de cavalerie
Messages : 165
Inscription : mar. 15 mai 2007, 17:46
Localisation : /dev/null
Contact :

Re: [SYSTEMD]Erreur dans un unit.service maison

Message par Skippythekangoo »

benjarobin a écrit :Peut on voir la sortie de
tree /etc/systemd/system/
Pas de problèmes...

Code : Tout sélectionner

[skippy@traveler ~]$ tree /etc/systemd/system/
/etc/systemd/system/
|-- dbus-org.wicd.daemon.service -> /usr/lib/systemd/system/wicd.service
|-- getty.target.wants
|   `-- getty@tty1.service -> /usr/lib/systemd/system/getty@.service
|-- multi-user.target.wants
|   |-- remote-fs.target -> /usr/lib/systemd/system/remote-fs.target
|   |-- sshd.service -> /usr/lib/systemd/system/sshd.service
|   `-- wicd.service -> /usr/lib/systemd/system/wicd.service
|-- network.target.wants
|   `-- wlan2eth.service -> /etc/systemd/system/wlan2eth.service
`-- wlan2eth.service

3 directories, 7 files
Quiconque a cette louange d'être homme sans boire de vin, si il en buvait serait un ange.

Chansons Plus Bifluorées

°¿° Skippy the Kangoo °¿°
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17230
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [SYSTEMD]Erreur dans un unit.service maison

Message par benjarobin »

En root après un démarrage, quel est la sortie de :

Code : Tout sélectionner

systemctl status wlan2eth
Sinon je crains que Wicd ne pose des soucis... Je crains que ce dernier désactive la carte Ethernet lors de la connexion en Wifi. C'est pour cela que j'ai indiqué qu'il existait des outils plus appropriés, par exemple netctl
Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Avatar de l’utilisateur
Skippythekangoo
archer de cavalerie
Messages : 165
Inscription : mar. 15 mai 2007, 17:46
Localisation : /dev/null
Contact :

Re: [SYSTEMD]Erreur dans un unit.service maison

Message par Skippythekangoo »

Voici le resultat demandé :

Code : Tout sélectionner

[root@traveler ~]# systemctl status wlan2eth
wlan2eth.service - Pont entre wlan et eth
   Loaded: loaded (/etc/systemd/system/wlan2eth.service; enabled)
   Active: inactive (dead) since Tue 2013-11-05 07:20:53 CET; 4min 57s ago
  Process: 141 ExecStart=/usr/bin/bash /home/skippy/pont_wifi_2_eth0_4_9box.sh (code=exited, status=0/SUCCESS)
 Main PID: 141 (code=exited, status=0/SUCCESS)
   CGroup: /system.slice/wlan2eth.service

Nov 05 07:20:52 traveler bash[141]: [86B blob data]
Nov 05 07:20:52 traveler bash[141]: #####################################################################################
Nov 05 07:20:52 traveler bash[141]: #####
Nov 05 07:20:52 traveler bash[141]: Carte wifi : wlp2s0
Nov 05 07:20:52 traveler bash[141]: wlp2s0: error fetching interface information: Device not found
Nov 05 07:20:53 traveler bash[141]: #####
Nov 05 07:20:53 traveler bash[141]: Carte ethernet : enp1s0
Nov 05 07:20:53 traveler bash[141]: enp1s0: error fetching interface information: Device not found
Nov 05 07:20:53 traveler bash[141]: #####
Nov 05 07:20:53 traveler systemd[1]: Started Pont entre wlan et eth.
Ce qui est étonant, c'est que si wicd bloque wlan2eth au boot, il ne l'empeche pas de se lancer "a la mano" via systemctl start wlan2eth.
Quiconque a cette louange d'être homme sans boire de vin, si il en buvait serait un ange.

Chansons Plus Bifluorées

°¿° Skippy the Kangoo °¿°
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17230
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [SYSTEMD]Erreur dans un unit.service maison

Message par benjarobin »

Essaye avec ceci

Code : Tout sélectionner

[Unit]
Description=Pont entre wlan et eth
After=network.target

[Service]
Type=oneshot
ExecStart=/home/skippy/pont_wifi_2_eth0_4_9box.sh

[Install]
WantedBy=multi-user.target
Il n'y a pour l'instant aucun souci avec wicd, tu n'as juste aucune interface réseau de présente, le script doit se lancer trop tôt
Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Avatar de l’utilisateur
Skippythekangoo
archer de cavalerie
Messages : 165
Inscription : mar. 15 mai 2007, 17:46
Localisation : /dev/null
Contact :

Re: [SYSTEMD]Erreur dans un unit.service maison

Message par Skippythekangoo »

Désolé du lag de réponse...

Je viens juste de changer WantedBy=multi-user, mais cela ne change rien, je n'ai toujours pas d'IP à mon ethernet.
Quiconque a cette louange d'être homme sans boire de vin, si il en buvait serait un ange.

Chansons Plus Bifluorées

°¿° Skippy the Kangoo °¿°
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17230
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [SYSTEMD]Erreur dans un unit.service maison

Message par benjarobin »

C'est toujours la même histoire; Sortie de : systemctl status wlan2eth
Sinon je ne pense que cela puisse fonctionner à cause de Wicd
Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Avatar de l’utilisateur
Skippythekangoo
archer de cavalerie
Messages : 165
Inscription : mar. 15 mai 2007, 17:46
Localisation : /dev/null
Contact :

Re: [SYSTEMD]Erreur dans un unit.service maison

Message par Skippythekangoo »

Désolé du lag de réponse.

Etant donné que j'ai récupéré mon accès internet, je n'ai plus besoin ( pour l'instant) de ce service.

Merci encore des efforts fournis, et surement à une prochaine fois.

Cordialement,
Quiconque a cette louange d'être homme sans boire de vin, si il en buvait serait un ange.

Chansons Plus Bifluorées

°¿° Skippy the Kangoo °¿°
Répondre