#!/bin/bash
# ==============================================================================
# SCRIPT 1 : CONFIGURATION EDGEROUTER X SFP
# ==============================================================================

# --- PARAMÈTRES RÉSEAU ---
OLD_ROUTER_IP="192.168.1.1"
OLD_ADMIN_USER="ubnt"
OLD_ADMIN_PASS="ubnt"

NEW_GATEWAY_IP="10.125.100.1"
NETMASK_CIDR="24"
DHCP_START="10.125.100.100"
DHCP_STOP="10.125.100.200"

# --- INFOS LOCOM2 (Réservation DHCP) ---
LOCO_MAC_ADDRESS="9C:05:D:8E:70:AA"  # <-- METTRE LA VRAIE ADRESSE MAC
LOCO_STATIC_IP="10.125.100.2"

# --- MOT DE PASSE ADMIN ROUTEUR ---
NEW_ADMIN_USER="ubnt"
NEW_ADMIN_PASS="NouveauMotDePasseAdmin123!"

echo "Test de connexion vers l'EdgeRouter ($OLD_ROUTER_IP)..."
if ! ping -c 1 -W 2 "$OLD_ROUTER_IP" > /dev/null 2>&1; then
    echo "[ERREUR] Impossible de joindre $OLD_ROUTER_IP. Vérifiez votre câble et votre IP locale (192.168.1.50)."
    exit 1
fi

echo "Configuration de l'EdgeRouter X SFP en cours..."

sshpass -p "$OLD_ADMIN_PASS" ssh -tt -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null ${OLD_ADMIN_USER}@${OLD_ROUTER_IP} << EOF
vsys-shell
configure

# 1. IP du routeur sur switch0
set interfaces switch switch0 address ${NEW_GATEWAY_IP}/${NETMASK_CIDR}

# 2. Activation du PoE 24V sur eth4
set interfaces ethernet eth3 poe output 24v
set interfaces ethernet eth4 poe output 24v

# 3. Pool DHCP
set service dhcp-server shared-network-name LAN_10.125.100 subnet 10.125.100.0/${NETMASK_CIDR} start ${DHCP_START} stop ${DHCP_STOP}
set service dhcp-server shared-network-name LAN_10.125.100 subnet 10.125.100.0/${NETMASK_CIDR} router ${NEW_GATEWAY_IP}
set service dhcp-server shared-network-name LAN_10.125.100 subnet 10.125.100.0/${NETMASK_CIDR} dns-server ${NEW_GATEWAY_IP}

# 4. Réservation MAC -> IP pour l'antenne LocoM2
set service dhcp-server shared-network-name LAN_10.125.100 subnet 10.125.100.0/${NETMASK_CIDR} static-mapping LocoM2 mac-address '${LOCO_MAC_ADDRESS}'
set service dhcp-server shared-network-name LAN_10.125.100 subnet 10.125.100.0/${NETMASK_CIDR} static-mapping LocoM2 ip-address ${LOCO_STATIC_IP}

# 5. Nouveau mot de passe administrateur
set system login user ${NEW_ADMIN_USER} authentication plaintext-password "${NEW_ADMIN_PASS}"

commit
save
exit
EOF

if [ $? -eq 0 ]; then
    echo "----------------------------------------------------------"
    echo "[OK] EdgeRouter configuré avec succès !"
    echo "Nouvelle adresse du routeur : https://${NEW_GATEWAY_IP}"
    echo "----------------------------------------------------------"
else
    echo "[ERREUR] Échec de la configuration."
fi
