Site icon Anthony Jacob

Perte d’IP v4 sous Ubuntu 20.04 (apparmor et dhclient)

Image de mise en avant pour l'article perte d'ip sur Ubuntu 20.04

Image de mise en avant pour l'article perte d'ip sur Ubuntu 20.04

Temps de lecture estimé: 1 minute

Ça fait quelques jours (depuis une mise à jour je ne sais quand… ) que je me réveille et que je constate que mon serveur est offline. Je perdais sans raison apparente l’adresse ip (seulement l’ipv4 puisque l’ipv6 restait).

Tous les jours j’allais sur l’interface web d’Esxi pour avoir un accès direct à la machine virtuelle (heureusement que ce n’était pas un serveur physique) pour lancer manuellement la commande:

dhclient -4 -v

Pour demander le bail d’une ipv4 au serveur DHCP.

Il m’a fallu un peu de temps avant que je me décide à régler le problème à la source et pour de bon. En regardant dans les logs j’ai trouvé qu’apparmor empêchait dhclient de s’exécuter correctement:

[61607.045817] audit: type=1400 audit(1589264421.828:46): apparmor="DENIED" operation="open" profile="/{,usr/}sbin/dhclient" name="/proc/365954/task/365955/comm" pid=365954 comm="dhclient" requested_mask="wr" denied_mask="wr" fsuid=0 ouid=0

Ce n’est peut être pas la solution la plus clean, mais j’ai tout simplement désactivé dhclient de apparmor. Tout simplement en créant un lien symbolique et en plaçant le script apparmor de dhclient dans le dossier disable:

ln -s /etc/apparmor.d/sbin.dhclient /etc/apparmor.d/disable/sbin.dhclient

Edit du 02/05/2021:

comme suggéré par John Johansen dans les commentaires, la solution la plus propre est d’ajouter une règle dans le fichier:

/etc/apparmor.d/sbin.dhclient

en dessous des règles existantes, il faut rajouter:

@{PROC}/@{pids}/task/[0-9]*/comm rw,

puis avec aa-enforce (à installer avec apt si ce n’est pas encore installé sur ton système):

aa-enforce /etc/apparmor.d/sbin.dhclient

la discussion originale se trouve sur https://bugs.launchpad.net/ubuntu/+source/isc-dhcp/+bug/1918410 mais ce problème ne devrait plus se poser puisque John Johansen a corrigé le bug dans apparmor (https://gitlab.com/apparmor/apparmor/-/merge_requests/730)

Partagez l'article:
Quitter la version mobile