2 votes

Changer de MAC automatiquement 16.04

J'ai donc rencontré le problème courant de eth0 appelé autrement (enpXsX) avec systemd. J'ai donc essayé de créer le fichier /etc/udev/rules.d/10-network.rules. Cela fonctionne très bien. Le problème est que je dois prendre cette copie exacte de mon serveur et, à l'aide d'une carte SD, la déplacer régulièrement entre plusieurs serveurs physiques à des fins de test. Parce que 10-network.rules a besoin de l'adresse MAC, elle continue de changer chaque fois que je branche la carte dans un nouveau périphérique. J'ai créé un script qui la change automatiquement et je l'ai fait exécuter comme un service (changeMAC.service) au démarrage.

Ce service fonctionne bien. Malheureusement, malgré la modification de l'adresse MAC avant le démarrage de networking.service, la mise en réseau échoue toujours. Pour le faire fonctionner, je dois redémarrer. J'ai besoin qu'il démarre correctement au premier démarrage.

En utilisant systemd-analyze plot, je peux dire que changeMAC.service se termine en fait avant networking.service. Je pensais que le problème était qu'il devait démarrer plus tôt. Cependant, j'ai actuellement une carte SD où il réussit à démarrer en une seule fois. Mais lorsque je prends cette image et que je la mets sur mon ordinateur pour l'exécuter dans VirtualBox, elle nécessite à nouveau un redémarrage. Je n'arrive pas à trouver les différences entre la carte SD et le vhd.

J'ai également essayé d'utiliser ifup, ifdown, /etc/init.d/networking restart, systemctl start networking.service pour forcer networking à réévaluer sa situation et voir 10-network.rules. Les trois premiers produisent des erreurs et ne s'exécutent pas, le dernier s'exécute mais networking.service échoue à nouveau à démarrer.

J'ai donc besoin de savoir comment faire en sorte que changeMAC.service s'exécute à temps pour que ceux qui ont besoin de 10-network.rules puissent l'obtenir, ou j'ai besoin de savoir comment forcer ceux qui ont besoin de 10-network.rules à redémarrer sans redémarrer tout le système.

2voto

Terrance Points 35422

Vous pouvez ajouter une option à GRUB_CMDLINE_LINUX_DEFAULT sur /etc/default/grub pour désactiver les noms prédictifs.

GRUB_CMDLINE_LINUX_DEFAULT="net.ifnames=0" 

et vous pouvez garder les autres options sur cette ligne. De cette façon, vous n'avez pas à vous soucier d'avoir une 10-network.rules avec les adresses MAC qu'ils contiennent.

Assurez-vous de mettre à jour le Grub après avoir modifié cette ligne avant de redémarrer l'hôte.

sudo update-grub

J'espère que cela vous aidera !

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X