View previous topic :: View next topic |
Author |
Message |
y351 Apprentice
Joined: 21 May 2017 Posts: 200
|
Posted: Fri Dec 04, 2020 2:37 pm Post subject: [OpenRC] Priorité : service et réseau [Résolu] |
|
|
Bonjour,
J'utilise openrc.
J'ai un service arpwatch qui dépend d'une interface réseau au démarrage.
Dans la conf arpwatch, je force l'écoute sur une interface VLAN e.g. vlan1.
Or dans le boot, l'interface vlan1 (qui dépend de l'interface physique eth0) doit être démarré après celui de eth0.
Aujourd'hui, l'odre du boot avec le service arpwatch non démarré :
arpwatch est dans le runlevel default .
1/ service toto
2/ arpwatch qui force le boot de l'interface vlan1 -> failed
3/ service tata
4/
a) interface eth0
b) interface vlan1 -> OK
-> arpwatch failed car il s'attend à démarrer après le 2/
Ce que je souhaite, c'est le suivant :
1/ service toto
2/ service tata
3)
a) interface eth0
b) interface vlan1
4) service arpwatch
J'ai essayé avec "rc-update add arpwatch nonetwork" mais cela n'a pas marché.
i) Est-ce possible de prioriser l'ordre de boot d'un service après un autre ?
ii) Si oui, comment ?
Merci d'avance.
Last edited by y351 on Fri Dec 18, 2020 10:56 am; edited 2 times in total |
|
Back to top |
|
|
sluggeek n00b
Joined: 21 May 2020 Posts: 36 Location: France
|
Posted: Fri Dec 04, 2020 5:07 pm Post subject: |
|
|
Salut,
Je suis pas un spécialiste d'openrc mais peut être pourrais tu regarder ce wiki:
https://wiki.gentoo.org/wiki/OpenRC#Dependency_behavior
Sinon, en adaptant la partie depend() {...} de ton /etc/init.d/arpwatch ?
Ce ne sont que des idées en attendant que des plus calés que moi te répondent.
Bon courage,
Bien à toi, |
|
Back to top |
|
|
netfab Veteran
Joined: 03 Mar 2005 Posts: 1960 Location: 127.0.0.1
|
|
Back to top |
|
|
El_Goretto Moderator
Joined: 29 May 2004 Posts: 3174 Location: Paris
|
Posted: Sat Dec 05, 2020 4:27 pm Post subject: |
|
|
En complément, tu ne devrais pas avoir besoin de spécifier des dépendances sur les interfaces réseaux individuelles (physiques ou non). Il me semble qu'on peut jouer avec cette notion de "le réseau est up" en allant dans /etc/rc.conf (cf un autre bout du handbook) _________________ -TrueNAS & jails: µ-serv Gen8 E3-1260L, 16Go ECC + µ-serv N40L, 10Go ECC
-Réseau: APU2C4 (OpenWRT) + GS726Tv3 + 2x GS108Tv2 + Archer C5v1 (OpenWRT) |
|
Back to top |
|
|
y351 Apprentice
Joined: 21 May 2017 Posts: 200
|
Posted: Thu Dec 10, 2020 5:12 pm Post subject: |
|
|
J'ai copié le script :
Code: | cp /etc/init.d/arpwatch /etc/init.d/arpwatch.vlan1 |
Puis j'ai modifié le script : /etc/init.d/arpwatch.vlan1
Code: | depend() {
need "net.${ARPWATCH_IFACE}"
}
|
->
Code: |
depend() {
after net
need "net.${ARPWATCH_IFACE}"
}
|
J'ai ajouté arpwatch.vlan1 au démarrage
Code: | rc-update add arpwatch.vlan1 default |
Après démarrage, je vois que le service arpwatch.vlan1 up.
Mais lors du démarrage, je vois qu'il y a quand même une tentative de lancer l'interface vlan1 avant l'interface physique...qui se termine évidemment en fail.
Ce message d'erreur me dérange... |
|
Back to top |
|
|
El_Goretto Moderator
Joined: 29 May 2004 Posts: 3174 Location: Paris
|
Posted: Fri Dec 11, 2020 10:51 am Post subject: |
|
|
Parce que je pense que tu "bricoles" quelque chose qui n'en a pas besoin
Surtout ajouter une dépendance "complexe/spécifique" à une interface réseau côté service, c'est cracra (et il faut le refaire pour chaque service, sans compter reporter les modifs à chaque MAJ), alors qu'ils ont simplement besoin "du réseau", et que cette notion est configurable une fois pour tout à un seul endroit dans le système (déjà mentionné dans ce fil).
Les VLANs et bridge & co sont des pseudo-interfaces qui ne doivent pas être gérées de la même façon que des interfaces physiques "réelles", puisqu'elles dépendent de ces dernières... Donc souvent, implicitement leur simple configuration/déclaration est nécessaire, pas plus, le reste de l'intelligence est réalisée par les scripts de gestion réseau des *Nix (en particuliers l'ordre de démarrage et d'arrêt).
cf https://wiki.gentoo.org/wiki/Handbook:AMD64/Networking/Modular#VLAN_.28802.1q_support.29, il y a un exemple pour du bridge avec le mot clé rc_net_<if>_need qui pourrait être intéressant, s'il faut vraiment préciser les dépendances entre interfaces explicitement (à confirmer, je n'en ai jamais fait sous Gentoo). _________________ -TrueNAS & jails: µ-serv Gen8 E3-1260L, 16Go ECC + µ-serv N40L, 10Go ECC
-Réseau: APU2C4 (OpenWRT) + GS726Tv3 + 2x GS108Tv2 + Archer C5v1 (OpenWRT) |
|
Back to top |
|
|
y351 Apprentice
Joined: 21 May 2017 Posts: 200
|
Posted: Fri Dec 18, 2020 10:54 am Post subject: |
|
|
Quote: | Parce que je pense que tu "bricoles" quelque chose qui n'en a pas besoin |
En effet puisque les options suivantes permettent de faire ce que je veux dans /etc/conf.d/net :
Code: | rc_net_vlan1_need="net.eth0"
rc_net_eth0_provide="!net" |
En résumé, l'interface VLAN dépend de l'interface eth0.
Et tout appel à net doit se référer à l'interface VLAN et pas uniquement à toute autre interface.
Merci ! |
|
Back to top |
|
|
|