ajout d'un script de suppression
This commit is contained in:
parent
1ff01b383f
commit
f6087a5e0f
scripts/server-dhcp
|
@ -1,3 +1,4 @@
|
|||
add_dns_entry.sh
|
||||
get_first_free_ip.sh
|
||||
remove_dns_entry.sh
|
||||
setup_dhcp.sh
|
||||
|
|
|
@ -0,0 +1,60 @@
|
|||
#!/bin/bash
|
||||
|
||||
# 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 <IP | HOSTNAME>"
|
||||
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
|
Loading…
Reference in New Issue