From a703b0f4296e21ec4587ef43c4ca67401025192b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9drix?= Date: Tue, 11 Mar 2025 10:18:11 +0100 Subject: [PATCH] =?UTF-8?q?ajout=20des=20possibilit=C3=A9s=20de=20r=C3=A9s?= =?UTF-8?q?eaux=20priv=C3=A9s?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/server-dhcp/setup_dhcp.sh | 29 ++++++++++++++++++++++------- 1 file changed, 22 insertions(+), 7 deletions(-) diff --git a/scripts/server-dhcp/setup_dhcp.sh b/scripts/server-dhcp/setup_dhcp.sh index 407242f..d25fa00 100644 --- a/scripts/server-dhcp/setup_dhcp.sh +++ b/scripts/server-dhcp/setup_dhcp.sh @@ -21,8 +21,28 @@ if [[ -z "$IP_SERVEUR" ]]; then exit 1 fi -# Déduire le sous-réseau en fonction de l'IP trouvée (ex: 192.168.1.1 -> 192.168.1.0/24) -SOUS_RESEAU=$(echo "$IP_SERVEUR" | awk -F '.' '{print $1"."$2"."$3".0/24"}') +# Vérifier si l'IP est dans une plage privée autorisée +if [[ "$IP_SERVEUR" =~ ^10\..* || "$IP_SERVEUR" =~ ^192\.168\..* || "$IP_SERVEUR" =~ ^172\.(1[6-9]|2[0-9]|3[0-1])\..* ]]; then + echo "Adresse IP privée détectée : $IP_SERVEUR" +else + echo "Erreur : L'adresse IP $IP_SERVEUR n'est pas dans un réseau privé." + exit 1 +fi + +# Déduire le sous-réseau en fonction de l'adresse IP détectée +if [[ "$IP_SERVEUR" =~ ^10\. ]]; then + SOUS_RESEAU=$(echo "$IP_SERVEUR" | awk -F '.' '{print $1".0.0.0/8"}') + DHCP_START=$(echo "$IP_SERVEUR" | awk -F '.' '{print $1".0.0.10"}') + DHCP_END=$(echo "$IP_SERVEUR" | awk -F '.' '{print $1".0.0.100"}') +elif [[ "$IP_SERVEUR" =~ ^172\.(1[6-9]|2[0-9]|3[0-1])\. ]]; then + SOUS_RESEAU=$(echo "$IP_SERVEUR" | awk -F '.' '{print $1"."$2".0.0/16"}') + DHCP_START=$(echo "$IP_SERVEUR" | awk -F '.' '{print $1"."$2".0.10"}') + DHCP_END=$(echo "$IP_SERVEUR" | awk -F '.' '{print $1"."$2".0.100"}') +elif [[ "$IP_SERVEUR" =~ ^192\.168\. ]]; then + SOUS_RESEAU=$(echo "$IP_SERVEUR" | awk -F '.' '{print $1"."$2"."$3".0/24"}') + DHCP_START=$(echo "$IP_SERVEUR" | awk -F '.' '{print $1"."$2"."$3".10"}') + DHCP_END=$(echo "$IP_SERVEUR" | awk -F '.' '{print $1"."$2"."$3".100"}') +fi # Demander le nom de domaine read -p "Entrez le domaine (ex: monreseau.local): " DOMAINE @@ -31,11 +51,6 @@ if [[ -z "$DOMAINE" ]]; then exit 1 fi -# Déterminer la plage d'adresses DHCP (IP_SERVEUR + 10 à IP_SERVEUR + 100) -IP_BASE=$(echo "$IP_SERVEUR" | awk -F '.' '{print $1"."$2"."$3}') -DHCP_START="${IP_BASE}.10" -DHCP_END="${IP_BASE}.100" - # Configurer dnsmasq echo "Configuration de dnsmasq..."