[Résolu] VPS PLESK : Interface réseau supprimée de manière aléatoire
BMPCreated with Sketch.BMPZIPCreated with Sketch.ZIPXLSCreated with Sketch.XLSTXTCreated with Sketch.TXTPPTCreated with Sketch.PPTPNGCreated with Sketch.PNGPDFCreated with Sketch.PDFJPGCreated with Sketch.JPGGIFCreated with Sketch.GIFDOCCreated with Sketch.DOC Error Created with Sketch.
Question

[Résolu] VPS PLESK : Interface réseau supprimée de manière aléatoire

by
Jean-MarcR2
Created on 2022-01-09 17:32:03 (edited on 2024-09-04 14:02:14) in Serveurs Privés Virtuels (VPS)

Bonjour à tous,

J'ai un pbs depuis le 3 janvier avec mon VPS 4-8-160 installé sous Debian10/Plesk
Tous les matins il devient totalement inaccessible sur tous les ports. Seule solution pour le relancer = reboot hard.

Après analyse du syslog, il s’avère que cette panne est provoquée par la suppression de l’interface principale eth0 du VPS selon le schéma suivant :

NTP commence par indiquer que l’interface principale du VPS a été supprimée avec le message :
`Deleting interface #3 eth0, 146.xx.xxx.x#123`

Ensuite le serveur indique que Nginx ne trouve plus l’interface et essaye de redémarrer ce service :

Jan 3 11:39:53 svr monit[1029]: 'nginx' failed, cannot open a connection to INET[146.xx.xxx.x:80]
Jan 3 11:39:53 svr monit[1029]: 'nginx' trying to restart
Jan 3 11:39:53 svr monit[1029]: 'nginx' stop: /opt/psa/admin/bin/nginx_control
Jan 3 11:39:53 svr systemd[1]: Stopping Startup script for nginx service...
Jan 3 11:39:53 svr systemd[1]: nginx.service: Succeeded.
Jan 3 11:39:53 svr systemd[1]: Stopped Startup script for nginx service.
Jan 3 11:39:54 svr monit[1029]: /opt/psa/admin/sbin/nginx-config execution failed:
Jan 3 11:39:54 svr monit[1029]: nginx: [emerg] bind() to 146.xx.xxx.x:443 failed (99: Cannot assign requested address)
Jan 3 11:39:54 svr monit[1029]: nginx: configuration file /etc/nginx/nginx.conf test failed
Jan 3 11:39:54 svr monit[1029]: /opt/psa/admin/sbin/nginx-config execution failed:
Jan 3 11:39:54 svr monit[1029]: nginx: [emerg] bind() to 146.xx.xxx.x:443 failed (99: Cannot assign requested address)
Jan 3 11:39:54 svr monit[1029]: nginx: configuration file /etc/nginx/nginx.conf test failed
Jan 3 11:39:55 svr monit[1029]: monit: pidfile `/var/run/nginx.pid' does not contain a valid pidnumber
Jan 3 11:39:56 svr monit[1029]: monit: pidfile `/var/run/nginx.pid' does not contain a valid pidnumber
etc…

La suppression de l’interface explique pourquoi le serveur devient inaccessible, mais je ne trouve rien dans les logs qui indique qui ou quoi supprime l’interface et elle ne se produit pas à une heure précise.

Seule autre piste que je n'arrive pas à résoudre. Il m'est impossible de redémarrer le réseau le système refusant de monter l'interface au prétexte d'une erreur.

systemctl status networking.service
● networking.service - Raise network interfaces
Loaded: loaded (/lib/systemd/system/networking.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Sun 2022-01-09 16:54:04 CET; 6min ago
Docs: man:interfaces(5)
Process: 398 ExecStart=/sbin/ifup -a --read-environment (code=exited, status=1/FAILURE)
Main PID: 398 (code=exited, status=1/FAILURE)
Jan 09 16:54:04 svr.xxxxxxx.net dhclient[518]: DHCPACK of 146.xx.xxx.xx from 146.59.196.1
Jan 09 16:54:04 svr.xxxxxxx.net ifup[398]: DHCPACK of 146.xx.xxx.xx from 146.59.196.1
Jan 09 16:54:04 svr.xxxxxxx.net ifup[398]: RTNETLINK answers: File exists
Jan 09 16:54:04 svr.xxxxxxx.net dhclient[518]: bound to 146.xx.xxx.xx -- renewal in 39992 seconds.
Jan 09 16:54:04 svr.xxxxxxx.net ifup[398]: bound to 146.xx.xxx.xx -- renewal in 39992 seconds.
Jan 09 16:54:04 svr.xxxxxxx.net ifup[398]: RTNETLINK answers: File exists
Jan 09 16:54:04 svr.xxxxxxx.net ifup[398]: ifup: failed to bring up eth0
Jan 09 16:54:04 svr.xxxxxxx.net systemd[1]: networking.service: Main process exited, code=exited, status=1/FAILURE
Jan 09 16:54:04 svr.xxxxxxx.net systemd[1]: networking.service: Failed with result 'exit-code'.
Jan 09 16:54:04 svr.xxxxxxx.net systemd[1]: Failed to start Raise network interfaces.

Erreur impossible à trouver la aussi, car sa config est standard (celle livrée lors de l'installation)

Pour info la configuration complète de ce VPS provient d’une migration PLESK _(effectuée avec les outils Plesk)_ de mon ancien VPS sur lequel je n’avais aucun problème auparavant.

Seules les mises à jour automatique de Plesk ont été effectuée depuis l’installation du VPS et je n’ai rien modifié depuis.

J'ai soumis un ticket au support d'OVH sans réponse pour l'instant et je ne peux pas contacter PLESK car j'ai acheté la licence chez OVH :-(

Merci de votre aide car je sèche complètement.


12 Replies ( Latest reply on 2022-01-12 10:39:39 by
janus57
)

Bonjour,

interface en DHCP ou en IP fixe sans al configuration ?

Cordialement, janus57

DHCP basé sur _`interfaces`_. Config standard des VPS livré par OVH.

auto eth0
iface eth0 inet dhcp
mtu 1500

J'ai essayé de le configurer en manuel en bloquant la configuration automatique et en indiquant l'IP fixe dans `/etc/network/interfaces.d/50-cloud.init`. Il démarre mais du coup il n'y a plus d'accès à Plesk ni aux sites qu'il héberge.

Bonjour,

perso je toucherais pas à la partie cloud-init mais je modifierai directement dans interfaces quitte à verrouiller l'accès au fichier (via la commande chattr) pour être sûr que rien ne le modifie.

Cordialement, janus57


interfaces


Donc indiquer l'ip fixe dans le fichier /etc/network/interfaces en remplacant ces valeurs ?

# The normal eth0
allow-hotplug eth0
iface eth0 inet dhcp

# Additional interfaces, just in case we're using
# multiple networks
allow-hotplug eth1
iface eth1 inet dhcp

allow-hotplug eth2
iface eth2 inet dhcp

# Set this one last, so that cloud-init or user can
# override defaults.
# REM source /etc/network/interfaces.d/*

Bonjour,

juste modifier l'interface qui se prend l'IP en mode DHCP, si c'est eth0 :

[code]
allow-hotplug eth0
iface eth0 inet static
address XXX.YYY.ZZZ.AAA/24
gateway XXX.YYY.ZZZ.254
[/code]

Cordialement, janus57

Bonsoir et merci pour ton aide

Malheureusement rien n'y fait ...

Que j'ajoute l'ip fixe dans `interfaces` en suivant ton conseil ou dans `50-cloud-init` en bloquant l'automatisation avec` /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg` le résultat est le même !

ifup bloque toujours et refuse de monter eth0
`ifup[5349]: ifup: failed to bring up eth0`

Donc impossible de redémarrer le réseau

Il y a un pbs ailleurs, mais je vois pas où 8-/

Une autre idée ?

Bonsoir et merci pour ton aide

Malheureusement rien n'y fait ...

Que j'ajoute l'ip fixe dans `interfaces` en suivant ton conseil ou dans` 50-cloud-init` en bloquant l'automatisation ave`c/etc/cloud/cloud.cfg.d/99-disable-network-config.cfg` le résultat est le même !

ifup bloque toujours et refuse de monter eth0
`ifup[5349]: ifup: failed to bring up eth0`

Donc impossible de redémarrer le réseau

Il y a un pbs ailleurs, mais je vois pas où 8-/

Une autre idée ?

Bonsoir et merci pour ton aide

Malheureusement rien n'y fait ...

Que j'ajoute l'ip fixe dans `interfaces` en suivant ton conseil ou dans `50-cloud-init` en bloquant l'automatisation avec`/etc/cloud/cloud.cfg.d/99-disable-network-config.cfg` le résultat est le même !

ifup bloque toujours et refuse de monter eth0
`ifup[5349]: ifup: failed to bring up eth0`

Donc impossible de redémarrer le réseau

Il y a un pbs ailleurs, mais je vois pas où 8-/

Une autre idée ?

Bonjour,

le VPS est sur une base Debian ?
Si oui vous êtes sûr que c'est eth0 ?

Autre solution pour être sûr :
créer un fichier /etc/systemd/network/10-persistent-net.link
qui contient :
[code]
# Force ovh0 on NIC with MAC=AA:BB:CC:DD:EE:FF

[Match]
MAC=AA:BB:CC:DD:EE:FF

[LINK]
Name=ovh0
[/code]

Puis faut pas oublier de modifier sont fichier 'interfaces' en mettant ovh0 et non plus eth0.

Perso j'ai fait ça sur un dédié car le NIC a changé suite aux MàJ (Deb10 à 11) et il a rechangé suite à un changement de carte mère (chiant quand c'est un PVE en ZFS).

Note : perso je fait un reboot complet quand je modifie 'interfaces' pour être sûr que c'est OK, et si problème passage en KVM/IPMI ou rescue.

Cordialement, janus57

Alors après de nombreux essais et qq passage en mode rescue, il s'avère que la gestion réseau de Plesk ne permet pas certains setting qui marche normalement sous Debian. En effet, ce dernier n'apprécie pas les modifs manuelle non conforme à son propre process de gestion.

J'ai réussi a corriger le blocage du redémarrage réseau qui provenait du paramétrage IPV6 en utilisant cette méthode

Créez le fichier suivant `/etc/sysctl.d/ipv6.conf` et y ajoutez les lignes suivantes :

net.ipv6.conf.all.disable_ipv6=0
net.ipv6.conf.default.disable_ipv6=0

Appliquez ces paramètres via la commande suivante :

sysctl -w net.ipv6.conf.default.disable_ipv6=0
sysctl -w net.ipv6.conf.all.disable_ipv6=0

Ajoutez l'adresse IPv6 dans l'interface utilisateur de Plesk via **Outils & Paramètres > Adresses IP** .

Ensuite l'activer pour Plesk UI en créaant un fichier de configuration `/etc/sw-cp-server/conf.d/ipv6_ports.inc` contenant

listen [::]:8443 ipv6only=on ssl;
listen [::]:8880 ipv6only=on;

Puis redémarrez le service Plesk avec la command `service sw-cp-server restart`

Ensuite modifier le fichier `/etc/network/interfaces` dans lequel Plesk UI ajoute l'IPv6 du serveur et modifier le bloc comme suit pour qu'il corresponde à ce qu'OVH indique dans votre console.

iface eth0 inet6 static
address YOUR_IPv6
netmask 128
post-up /sbin/ip -f inet6 route add IPv6_GATEWAY dev eth0
post-up /sbin/ip -f inet6 route add default via IPv6_GATEWAY
pre-down /sbin/ip -f inet6 route del IPv6_GATEWAY dev eth0
pre-down /sbin/ip -f inet6 route del default via IPv6_GATEWAY
auto eth0


Redémarrer le réseau avec `sudo service networking restart`

Tester la connectivité IPv6 via un ping `ping6 -c 4 2001:4860:4860::8888` ou avec DNSChecker

Normalement pas besoin de reboot

Bref, **j'ai résolu en partie mon problème** mais je ne sais pas si l'interface ne sera pas à nouveau supprimée sans raison.

On verra si cela tient demain

Pas de nouvelle panne, la config que j'ai mise en place parait être la bonne.

Donc pbs à priori résolu

Bonjour,

Merci pour le retour/solution spécifique a plesk.

Cordialement, janus57