#!/bin/bash # Basé sur un travail de Cédric Abonnel / Cédrix sous licence CC BY-NC 4.0 # Importer les fonctions communes source "$(dirname "$0")/../common/common_utils.sh" # Vérifier si le script est exécuté en root check_root # Fichier de configuration de dnsmasq DNSMASQ_CONF="/etc/dnsmasq.d/custom_hosts" # Vérifier que dnsmasq est installé if ! command -v dnsmasq &> /dev/null; then echo "dnsmasq n'est pas installé. Installez-le avec : sudo ./setup_dhcp.sh" exit 1 fi # Vérifier les arguments if [[ $# -ne 1 ]]; then echo "Usage: $0 " exit 1 fi TARGET="$1" MODIFIED=0 # Vérifier si le fichier existe if [[ ! -f "$DNSMASQ_CONF" ]]; then echo "Le fichier $DNSMASQ_CONF n'existe pas. Aucun enregistrement à supprimer." exit 1 fi # Supprimer par IP if [[ "$TARGET" =~ ^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$ ]]; then # Vérifier si l'IP existe dans le fichier if grep -q "/$TARGET$" "$DNSMASQ_CONF"; then sed -i "/\/$TARGET$/d" "$DNSMASQ_CONF" echo "Toutes les entrées associées à l'IP $TARGET ont été supprimées." MODIFIED=1 else echo "Aucune entrée trouvée pour l'IP $TARGET." fi # Supprimer par Nom d'hôte else if grep -qE "^address=/$TARGET/" "$DNSMASQ_CONF"; then sed -i "/^address=\/$TARGET\//d" "$DNSMASQ_CONF" echo "L'enregistrement $TARGET a été supprimé." MODIFIED=1 else echo "Aucune entrée trouvée pour le nom d'hôte $TARGET." fi fi # Redémarrer dnsmasq seulement si une modification a été effectuée if [[ $MODIFIED -eq 1 ]]; then systemctl restart dnsmasq echo "Redémarrage de dnsmasq effectué." else echo "Aucune modification nécessaire." fi