feat: gestion réseau DHCP/statique depuis l'interface web
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
41
scripts/apply_network.sh
Normal file
41
scripts/apply_network.sh
Normal file
@@ -0,0 +1,41 @@
|
||||
#!/bin/bash
|
||||
# apply_network.sh — Configure le réseau via NetworkManager
|
||||
# Usage: apply_network.sh dhcp
|
||||
# ou: apply_network.sh static <ip/prefix> <gateway> <dns>
|
||||
# Exemple: apply_network.sh static 192.168.1.100/24 192.168.1.1 8.8.8.8,1.1.1.1
|
||||
|
||||
set -e
|
||||
|
||||
MODE="$1"
|
||||
CON="Wired connection 1"
|
||||
|
||||
# Trouve la connexion active si le nom par défaut a changé
|
||||
if ! nmcli con show "$CON" &>/dev/null; then
|
||||
CON=$(nmcli -t -f NAME,TYPE con show --active | grep ethernet | cut -d: -f1 | head -1)
|
||||
fi
|
||||
|
||||
[[ -z "$CON" ]] && echo "Aucune connexion Ethernet trouvée." && exit 1
|
||||
|
||||
if [[ "$MODE" == "dhcp" ]]; then
|
||||
nmcli con mod "$CON" ipv4.method auto ipv4.addresses "" ipv4.gateway "" ipv4.dns ""
|
||||
nmcli con up "$CON"
|
||||
echo "OK: mode DHCP appliqué."
|
||||
|
||||
elif [[ "$MODE" == "static" ]]; then
|
||||
IP_PREFIX="$2" # ex: 192.168.1.100/24
|
||||
GATEWAY="$3" # ex: 192.168.1.1
|
||||
DNS="$4" # ex: 8.8.8.8,1.1.1.1
|
||||
|
||||
[[ -z "$IP_PREFIX" || -z "$GATEWAY" ]] && echo "IP et gateway requis." && exit 1
|
||||
|
||||
nmcli con mod "$CON" \
|
||||
ipv4.method manual \
|
||||
ipv4.addresses "$IP_PREFIX" \
|
||||
ipv4.gateway "$GATEWAY" \
|
||||
ipv4.dns "${DNS:-8.8.8.8,1.1.1.1}"
|
||||
nmcli con up "$CON"
|
||||
echo "OK: IP statique $IP_PREFIX appliquée."
|
||||
|
||||
else
|
||||
echo "Usage: $0 dhcp | static <ip/prefix> <gateway> [dns]" && exit 1
|
||||
fi
|
||||
Reference in New Issue
Block a user